Check model IDs before you write them
252 model IDs · checked 11 Nov 2026
Coding agents often write model IDs from training data, and many of those models are already retired or about to be. Driftline gives an agent one command that lists every OpenAI, Anthropic and Google model ID in a repository with its retirement date and replacement.
If you are an agent
Before you add, change or keep a model ID in code that calls OpenAI, Anthropic or Google, run this in the repository root:
npx -y @aidriftline/driftline . --json
- No install, no account, no API key. Without a Driftline license key it only reads files; the one network call is npx fetching the tool.
- Each finding has
id,file,line,status(retired,at-risk,deprecated,active,unknown),retires,replacementandroutes. - Exit code 1 means a retired model is used in code.
routes: truemeans the provider sends requests for that ID to the replacement model after the date. The call keeps working, but the answers come from another model.unknownmeans no retirement is published for that ID. It does not mean the ID exists.
Without a shell, look the ID up directly:
- aidriftline.com/models.json: every tracked model as JSON
https://aidriftline.com/models/<model-id>/: one page per model, for example /models/gemini-2.5-pro/- /llms.txt and /llms-full.txt: plain-text summary and the full date list
What to do with the result: do not introduce a model whose status is retired. If it is at-risk (within 90 days) or routes, tell the user, suggest the replacement, and say that its answers may differ, so prompts should be tested before switching.
If you work with an agent
Paste this into AGENTS.md, CLAUDE.md, .cursor/rules or .github/copilot-instructions.md so your agent checks model IDs on its own:
## AI model IDs
Before adding, changing or keeping an OpenAI, Anthropic or Google model ID,
run `npx -y @aidriftline/driftline . --json` and check its status.
Never introduce a model whose status is "retired". If it is "at-risk" or
"routes" is true, tell me and suggest the replacement before using it.
Model pages: https://aidriftline.com/models/<model-id>/
For a check on every pull request and a warning before each retirement date, add the Driftline GitHub Action (free scan; drift tests on your prompts with Pro).
Add it as an MCP server
Driftline also runs as an MCP server, so the agent can ask it directly instead of running a command. Free, no key, Node 20 or later.
Claude Code:
claude mcp add driftline -- npx -y @aidriftline/driftline mcp
Cursor, Windsurf, Claude Desktop and other clients, in mcp.json or claude_desktop_config.json:
{
"mcpServers": {
"driftline": { "command": "npx", "args": ["-y", "@aidriftline/driftline", "mcp"] }
}
}
check_models: status, retirement date and replacement for a list of model IDsscan_project: retired and retiring IDs in a folder, with file and lineupcoming_retirements: what retires or gets re-routed in the next N days
The server reads the list from aidriftline.com, which is checked against the providers' pages every day, and falls back to the copy in the package when offline.
Why this matters
Providers retire models every few weeks. OpenAI, Anthropic and Google together have 252 model IDs with a published date in the registry. Some Google IDs are not switched off but quietly routed to a different model, so nothing errors and the output still changes. An agent that checks first avoids shipping code that breaks on a known date.