The one-line version: On August 17, 2026, Anthropic retires the legacy Workbench and the three experimental prompt-tools endpoints — generate_prompt, improve_prompt, and templatize_prompt. After that date, those endpoints return an error, and any saved prompts, variables, or evals still sitting in the old Workbench are gone unless you export them first. Your Claude API, keys, and models are untouched. Two chores: export your saved data, and replace any code that called the prompt-tools API — a job you can finish in one Messages call.
This landed quietly in the July 17 platform release notes, which means you have about two weeks of notice as of this writing. Here's exactly what to do.
1. The only irreversible part: export your saved data today#
The legacy Workbench lived at platform.claude.com/workbench. The updated one — now called the Playground — lives at platform.claude.com/playground. The catch, straight from the release note: saved prompts, variables, and evals are not supported in the updated Workbench. They do not migrate. They do not sync. On August 17 the old store goes away, and there is no un-delete.
So before anything else:
- Open
platform.claude.com/workbenchwhile it still resolves. - Use the export action — Anthropic surfaces it both from an in-app banner and under your Organizational Settings.
- Save the prompts, variables, and evals you actually want to keep, then check them into your repo. A prompt you can't reproduce is production infrastructure with no backup; treat it that way.
If you only ever used the Workbench by hand and have nothing saved worth keeping, you can skip straight to the Playground and stop reading. Everything below is for the people who called the API from code.
2. What breaks in code, precisely#
If your codebase contains a call to any of these, it will start erroring on August 17:
POST /v1/experimental/generate_prompt # "write me a first-draft prompt for this task"
POST /v1/experimental/improve_prompt # "make this prompt better"
POST /v1/experimental/templatize_prompt # "turn this into a reusable template with variables"
Grep for them now — experimental/generate_prompt, experimental/improve_prompt, experimental/templatize_prompt, or the SDK helpers that wrapped them. The usual places they hide: a prompt-optimization step in a pipeline, an onboarding wizard that drafts a starter prompt for a new user, or a wrapper product that offered "improve my prompt" as a feature. There is no successor endpoint — Anthropic kept the capability in the Console UI, not as a supported programmatic API.
That sounds like bad news. It's actually a chance to remove a dependency on an experimental endpoint that was always one release note away from exactly this.
3. Rebuild it in one Messages call — a replacement no one can deprecate#
The prompt-tools endpoints were never magic. Under the hood they were a meta-prompt: a well-engineered instruction that takes your task description and returns a structured prompt. You can run the same pattern yourself against the standard Messages API, own the meta-prompt, and never be at the mercy of an experimental endpoint again.
Here's a drop-in generate_prompt replacement in Python:
import anthropic
client = anthropic.Anthropic()
META = """You are a prompt engineer. Given a TASK, write a production-ready
prompt template for Claude that accomplishes it. Requirements:
- Open with a clear role and the objective.
- Use {{double_brace}} placeholders for every input that varies at runtime.
- Add a short, explicit output-format instruction.
- Include one worked example if the task is non-obvious.
Return ONLY the prompt template, no commentary."""
def generate_prompt(task: str) -> str:
msg = client.messages.create(
model="claude-opus-5", # or your default; this is a one-shot authoring call
max_tokens=1500,
system=META,
messages=[{"role": "user", "content": f"TASK:\n{task}"}],
)
return msg.content[0].text
print(generate_prompt("Classify an inbound support email into billing, bug, or feature request."))
Swap the META block and you have the other two tools:
improve_prompt→ change the meta-instruction to "Here is an existing prompt and, optionally, a failing example. Rewrite the prompt to fix the failure while preserving intent. Return only the improved prompt." Pass the current prompt (and any bad output) as the user message.templatize_prompt→ "Here is a concrete, filled-in prompt. Replace every value that should vary with a{{placeholder}}, and list the placeholders you introduced. Return the templated prompt and the variable list."
Because the meta-prompt is now your string in your repo, you can version it, test it, and tune it to your domain — which the sealed experimental endpoint never let you do. Run it as an offline authoring step (you generate a template once and check it in), not on every request, and the cost is a rounding error.
The endpoints you didn't control were doing a job you can now do better with a prompt you do control. That's the whole migration.
4. The 10-minute checklist#
- [ ] Export saved prompts, variables, and evals from
platform.claude.com/workbench(banner or Organizational Settings) and commit them. - [ ] Grep your codebase for
experimental/generate_prompt,experimental/improve_prompt,experimental/templatize_prompt, and any SDK wrappers. - [ ] Replace each call site with a Messages meta-prompt call (above), run once, and cache the result.
- [ ] Point any human prompt work at the Playground (
platform.claude.com/playground). - [ ] Confirm nothing else changed: your keys, models, and Messages calls are unaffected — this is tooling, not inference.
None of this touches your model choice or your bill. It's separate from the model-lifecycle moves this summer — Opus 4.1's retirement and the Sonnet 5 promo cliff we covered here, and it's the same species of chore as DeepSeek retiring its chat and reasoner aliases: a dated deprecation with a narrow, mechanical fix. Do the export first — that's the part with no undo — and the rest is a coffee's worth of work.



