CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION
Updated by Alex Sorokoletov
CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION is a Claude Code environment variable: Per-session ceiling on subagent spawns (default 200). When the cap is hit, Claude Code injects a prompt — "Subagent spawn limit reached. Complete the remaining work directly with your tools instead of spawning more agents. Added between v2.1.143 and v2.1.212 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.143 and v2.1.212 |
| 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_SUBAGENTS_PER_SESSION=<value>
claudeTo apply it to every session, add it to the env object of a settings file:
// ~/.claude/settings.json
{
"env": {
"CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION": "<value>"
}
}Release notes that mention it
- Claude Code Version Tracker: Undocumented Env Vars, Feature Gates & Models
- claude-code-env-vars-v2-1-252
- claude-code-env-vars-v2-1-212
Related variables
CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS: Ceiling on subagents running at once, default 20; when full Claude Code tells the model to stop and the user to raise this variable.CLAUDE_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_CODE_WORKFLOW_MAX_CONCURRENT_AGENTSCLAUDE_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_SUBAGENTS_PER_SESSION do?
Per-session ceiling on subagent spawns (default 200). When the cap is hit, Claude Code injects a prompt — "Subagent spawn limit reached. Complete the remaining work directly with your tools instead of spawning more agents.
Which Claude Code version has CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION?
Added between v2.1.143 and v2.1.212 and still present in v2.1.294.
How do I set CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION?
Export it before starting Claude Code (export CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION=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.