Create a Langfuse project and navigate to the Prompts section; create a new prompt with a name, model configuration, and initial prompt text
Each edit creates a new immutable version number; use the version history to track all changes and roll back by promoting an older version to a label
Create environment labels (e.g., staging, production) and assign them to specific prompt versions; labels act as mutable pointers your application resolves at runtime
Mark the production label as protected in project settings so only project admins and owners can modify or delete it, preventing accidental promotion of untested prompts
In your application code, retrieve the active prompt by name and label using the Langfuse SDK (e.g., langfuse.get_prompt(name, label='production')); the SDK caches the resolved prompt client-side for low latency
Update the production label to point to a new version through the Langfuse UI after testing on staging; the application picks up the new prompt on the next cache refresh without a code deploy
Known gotchas
The SDK caches prompts client-side for a configurable TTL; applications will continue serving the old prompt version until the cache expires after a label update, which can delay rollouts by minutes
Prompt versions are immutable once created; if a mistake is introduced, you cannot edit the existing version — you must create a new version and update the label to point to it
Protected labels prevent viewer and member role users from modifying them, but admin users can still reassign them; ensure your team roles are configured correctly to enforce the protection meaningfully
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp