Updated 2026-10-11

Route Claude Code Subagents to DeepSeek V4 Flash

DeepSeek's current Claude Code recipe sets the main model to deepseek-flash[1m] and subagents to deepseek-flash. It also sets max effort and CLAUDE_CODE_AUTO_COMPACT_WINDOW=786432. Verify those settings before diagnosing unexpected model usage or cost.

1. What DeepSeek officially sets for the main lane and the subagent lane

The current documented main model is deepseek-flash[1m], with the same value for the Opus and Sonnet default slots.

The official subagent default is CLAUDE_CODE_SUBAGENT_MODEL=deepseek-flash. Haiku also uses deepseek-flash without the [1m] suffix.

The [1m] suffix is part of the documented client configuration. Both model strings refer to Flash; the suffix does not select Pro.

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

2. Why Flash is the sensible default for subagents

A Claude Code session often contains cheap but frequent work beside the main answer: search summaries, local repo scanning, iterative tool steps, or quick follow-up checks. Those tasks are exactly where Flash makes economic sense.

The current recipe uses Flash across both roles. Measure quality and cost on representative tasks before choosing a different model for either role.

Choose Pro for a subagent only after a task-specific quality comparison justifies the additional cost.

How to think about DeepSeek Claude Code model lanes
LaneOfficial defaultBest fitRisk if misused
Main conversationdeepseek-flash[1m]Harder coding, planning, and the answer the user actually seesQuality drops if you downgrade too aggressively
Subagent workdeepseek-flashSearch summaries, repeated tool steps, and lighter side tasksSpend spikes if you upgrade every background step to Pro

3. What `CLAUDE_CODE_EFFORT_LEVEL=max` changes

The official recipe specifies max effort. Keep that setting when reproducing the documented baseline, then adjust one variable at a time if needed.

In practice that gives teams a clearer optimization order. First prove the official baseline works. Only after that should you experiment with lower effort, alternate model strings, or broader Flash usage.

If the result feels slow or expensive, adjust one variable at a time. Do not simultaneously change the effort level, the subagent model, and the base URL, or you will not know which choice actually caused the regression.

4. Verify the route instead of trusting the client label

The risk in any Claude-style workflow is silent fallback or mistaken assumptions about which model really handled the step. Provider-side verification matters more than the UI label.

DeepSeek's broader docs already warn that unsupported or stale model names can route differently than users expect. That matters here too: if someone copied a legacy alias or removed the `[1m]` suffix casually, the route may not behave like the official baseline anymore.

A clean verification habit is to pin the official model strings in shared shell profiles, run a known repo task, and then inspect provider-side usage or logs where your environment allows it.

Sources

FAQ

What does DeepSeek officially set for `CLAUDE_CODE_SUBAGENT_MODEL`?

DeepSeek's official Claude Code page sets `CLAUDE_CODE_SUBAGENT_MODEL=deepseek-flash`.

Should I move Claude Code subagents to Pro?

Not by default. The official DeepSeek baseline keeps the main route on Pro and the subagent lane on Flash, which is the cleaner cost-quality split for most teams.

Why does the official setup still use `CLAUDE_CODE_EFFORT_LEVEL=max`?

Because DeepSeek is not telling you to cheapen the whole session. It is telling you to keep full effort while routing the lighter background work to Flash.

How do I know whether the right model really handled the work?

Verify provider-side usage or logs where possible, and keep the published DeepSeek model strings unchanged until the baseline is proven stable.

Is this page about Claude Desktop model mapping?

No. This page is about the subagent lane inside the official Claude Code environment block. Desktop model mapping belongs to `/claude-code`.

The operational rule is simple: keep the DeepSeek official Claude Code baseline intact first. Main lane on Pro, subagent lane on Flash, effort on max, and verification on the provider side before you start experimenting with more aggressive routing changes.

Related model comparisons

Continue from this guide into structured DeepSeek-first comparison pages with model tables, routing advice, and pricing context.