CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS
Updated by Alex Sorokoletov
CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS is a Claude Code environment variable: Ceiling on subagents running at once, default 20; when full Claude Code tells the model to stop and the user to raise this variable. Gated by tengu_amber_kestrel. First shipped v2.1.217; named in the changelog. Added between v2.1.215 and v2.1.217 and still present in v2.1.294. It is listed in the official reference.
| Status | Present in v2.1.294 |
|---|---|
| Added | Added between v2.1.215 and v2.1.217 |
| Category | Agents and subagents |
| Official docs | Listed |
How to set it
For one session, export it in the shell that starts Claude Code:
export CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS=<value>
claudeTo apply it to every session, add it to the env object of a settings file:
// ~/.claude/settings.json
{
"env": {
"CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS": "<value>"
}
}Release notes that mention it
- Claude Code Version Tracker: Undocumented Env Vars, Feature Gates & Models
- claude-code-env-vars-v2-1-217
Related variables
CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION: Per-session ceiling on subagent spawns (default 200).CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTSCLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH: Nesting-depth cap on delegation, default 1 — subagents no longer spawn their own subagents, and the team roster stays flat.CLAUDE_SUBAGENT_BG_SHELL_MAX_MS: Time cap for shell commands run by background subagents.CLAUDE_AGENT: Short-form identifier for the current agent, used in inter-agent messaging and log attribution.CLAUDE_AGENT_SDK_CLIENT_APP: Client application name.CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS: Disable built-in agent types.CLAUDE_AGENT_SDK_MCP_NO_PREFIX: Don't prefix MCP tool names with server name.
Frequently asked questions
What does CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS do?
Ceiling on subagents running at once, default 20; when full Claude Code tells the model to stop and the user to raise this variable. Gated by tengu_amber_kestrel. First shipped v2.1.217; named in the changelog.
Which Claude Code version has CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS?
Added between v2.1.215 and v2.1.217 and still present in v2.1.294.
How do I set CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS?
Export it before starting Claude Code (export CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS=value), or add it to the "env" object in ~/.claude/settings.json to apply it to every session.
All variables, searchable: Claude Code environment variables.