Updated 2026-10-11
DeepSeek Chat Deprecation Guide: Move to V4 Before July 24, 2026
The announced July 24, 2026 retirement date for deepseek-chat and deepseek-reasoner has passed. This guide retains its original migration title. For new official API requests, use deepseek-flash (V4.1-Flash) or deepseek-v4-pro and verify the returned model and usage. Old Flash aliases are a separate compatibility mapping.
1. What is actually changing
The key official change is not only a naming preference. DeepSeek's quick-start and change log now attach a hard retirement date to `deepseek-chat` and `deepseek-reasoner`. Those aliases are compatibility shims, not durable product names.
The current recommended names are deepseek-flash and deepseek-v4-pro. During the earlier V4 migration window, deepseek-chat and deepseek-reasoner mapped to the non-thinking and thinking modes of deepseek-v4-flash. That historical mapping is not a guarantee that the retired chat/reasoner aliases still work.
That means migration is not just cosmetic. If you want explicit control over quality tier, context strategy, and Claude-style routing, you should move to V4 names now instead of letting old aliases hide the real model choice.
| Old name | Current meaning during compatibility window | Target name to adopt |
|---|---|---|
| deepseek-chat | Flash-family non-thinking compatibility alias | deepseek-flash |
| deepseek-reasoner | Flash-family thinking compatibility alias | deepseek-flash with thinking enabled, or deepseek-v4-pro for harder workloads |
Sources
- DeepSeek official API quick-start - Primary source for the July 24, 2026 deprecation date and current model names.
- DeepSeek official change log - Official source explaining the V4 launch and compatibility mapping.
2. Migrate OpenAI-format code first
The easiest migration path is the OpenAI-compatible endpoint because DeepSeek kept the base URL stable. Most teams only need to change the model string, then re-run quality, latency, and token-cost checks.
Start with `deepseek-flash` for high-volume routes that previously used `deepseek-chat`. Use `deepseek-v4-pro` when the old `deepseek-reasoner` route was carrying harder coding, review, or long-chain reasoning tasks and you want a clearer premium lane than Flash alone.
Search model constants, SDK wrappers, test fixtures, scheduled scripts, and documentation for retired aliases. Validate a representative request after updating each integration.
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.DEEPSEEK_API_KEY,
baseURL: "https://api.deepseek.com",
});
// Old:
// model: "deepseek-chat"
// model: "deepseek-reasoner"
// New defaults:
const flashRes = await client.chat.completions.create({
model: "deepseek-flash",
messages,
});
const proRes = await client.chat.completions.create({
model: "deepseek-v4-pro",
messages,
thinking: { type: "enabled" },
reasoning_effort: "high",
});Sources
- DeepSeek official API quick-start - Shows the stable base URL and current V4 invocation examples.
3. Clean up Claude Code and Anthropic-format settings
Claude Code uses the Anthropic-compatible endpoint. Follow the current official recipe with deepseek-flash[1m] for the main/default routes, deepseek-flash for Haiku and subagents, max effort, and a 786432-token auto-compact window.
The current main/default and subagent settings both select Flash. If you choose Pro for a specific role, record that change and verify the actual route in provider usage.
The safest rule is simple: copy the exact official model strings into Claude-related configs, then verify actual provider-side usage after the first session.
export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
export ANTHROPIC_AUTH_TOKEN="sk-..."
export ANTHROPIC_MODEL="deepseek-flash[1m]"
export ANTHROPIC_DEFAULT_OPUS_MODEL="deepseek-flash[1m]"
export ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-flash[1m]"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-flash"
export CLAUDE_CODE_SUBAGENT_MODEL="deepseek-flash"
export CLAUDE_CODE_EFFORT_LEVEL="max"
export CLAUDE_CODE_AUTO_COMPACT_WINDOW="786432"Sources
- DeepSeek official Claude Code integration guide - Primary source for the exact Anthropic-format environment variables.
4. Choose Flash vs Pro deliberately during migration
Do not migrate every old alias blindly to Pro. DeepSeek's official pricing page shows a meaningful gap between Flash and Pro on input, output, and concurrency. Many `deepseek-chat` workloads should land on Flash because they are throughput-sensitive rather than quality-limited.
Use Pro where the business case is obvious: harder coding review, long evidence chains, slower high-trust analysis, or a main Claude Code path where you intentionally want the strongest DeepSeek route.
A practical policy is: Flash for everyday production traffic and tool loops, Pro for the smaller slice of prompts where accepted quality per request matters more than raw volume.
Sources
- DeepSeek official pricing page - Official pricing, context, output, and concurrency differences between Flash and Pro.
5. Rollout checklist before July 24
Inventory the old names everywhere: application code, serverless functions, SDK wrappers, Desktop settings, internal docs, Postman collections, and CI smoke tests.
Deploy model-name changes behind logging first. Track model string, tokens, latency, retries, and a small set of accepted-output evals so you can see whether a route that used to hide behind `deepseek-reasoner` should really move to Pro.
Update user-facing setup docs before the cutoff date. Search traffic often lands on old tutorials long after engineers think migration is finished.
If you want a full setup path after migration, pair this guide with `/guides/how-to-use-deepseek-in-python`, `/guides/how-to-use-deepseek-in-nodejs`, and `/guides/how-to-use-deepseek-in-claude-code`.
FAQ
When do deepseek-chat and deepseek-reasoner stop working?
DeepSeek's official docs mark both names for deprecation on July 24, 2026 at 15:59 UTC. Treat that as the migration deadline, not as a suggestion.
Should deepseek-reasoner always migrate to DeepSeek V4 Pro?
Not automatically. Some old reasoner usage can stay on Flash with thinking enabled, but harder coding and high-trust reasoning routes are better candidates for V4 Pro.
What is the safest Claude Code replacement?
Use the current official Anthropic-format recipe: deepseek-flash[1m] for the main/default routes, deepseek-flash for Haiku and subagents, max effort, and CLAUDE_CODE_AUTO_COMPACT_WINDOW=786432.
Do I need to change the API base URL too?
No. DeepSeek kept the OpenAI-format and Anthropic-format base URLs stable; the main migration is the model string and any routing logic around it.
Does this mean every model on the site is sold as a Coding Plan?
No. Guides and comparisons do not reserve inventory. Check /pricing for current stock and choose a one-time purchase or explicitly selected renewal.
Replace retired chat/reasoner aliases with current model names and validate your SDK and Claude Code configurations. Keep historical alias behavior separate from the current supported routes.
Related model comparisons
Continue from this guide into structured DeepSeek-first comparison pages with model tables, routing advice, and pricing context.