If you use reusable prompts in the OpenAI platform dashboard, there is a date to put in your calendar: November 30, 2026. According to OpenAI's deprecations page, the v1/prompts API and reusable prompt objects are scheduled to shut down that day. Deprecation was announced on June 3, 2026.
OpenAI's own migration advice is short: move the prompt content out of the managed prompt object and into your application code (Migrate from prompt objects). Here is what that looks like in practice.
Before: a prompt object
const response = await client.responses.create({
prompt: {
id: "pmpt_123",
version: "1",
variables: { customer_name: "Acme", issue: "billing question" },
},
});
After: the prompt lives in your code
const response = await client.responses.create({
model: "gpt-6-astra",
input: [
{ role: "system", content: "You are a helpful support assistant. Be concise, accurate, and friendly." },
{ role: "user", content: "Customer name: Acme. Issue: billing question. Write a response to the customer." },
],
});
(Both snippets are adapted from OpenAI's guide.)
A practical checklist
-
List every prompt you use. Open the dashboard and write down each prompt object ID your code calls (search your repos for
pmpt_). - Copy the text out while you can still reach it. I did not find a bulk export in OpenAI's migration guide, so this step is manual.
-
Turn variables into function arguments. The
variablesmap becomes parameters of a function that builds your messages. -
Keep versions somewhere reviewable. The dashboard gave you a
versionfield. In code, that is git history, or any tool that keeps versions. - Test before you ship. Moving text is not the same as moving behavior; run your normal checks against the new calls.
A small helper (disclosure: I made it)
I built a free page, promptlikeengineer.com/migrate/openai, for the tedious part after you have copied the text. You paste each prompt, and it generates a TypeScript module and an import file. {{name}} variables become typed string arguments. Your text stays in your browser: the page sends it nowhere. It does not fetch anything from OpenAI and it does not test the output, so check the generated code before you ship it.
Whatever tool you use, the deadline is the same. If you have prompts only in the dashboard, copy them out now.
Top comments (1)
Moving prompts into code is a good migration because it restores normal review, versioning, and deployment practices. I would keep the prompt template, its variables, and a small evaluation fixture together. That way a prompt change is not only diffable; it can be tested against a representative input before it reaches production.