CLAUDE_CODE_FORK_SUBAGENT

Updated by

CLAUDE_CODE_FORK_SUBAGENT is a Claude Code environment variable: Changelog-confirmed[1]: set to 1 to run subagents as forked processes (v2.1.117 on external builds, v2.1.121 extended to non-interactive SDK/-p sessions). Forked subagents get true process isolation and independent resource limits instead of in-process coroutines. Added between v2.1.114 and v2.1.117 and still present in v2.1.294. It is listed in the official reference.

StatusPresent in v2.1.294
AddedAdded between v2.1.114 and v2.1.117
CategoryAgents and subagents
Official docsListed

How to set it

For one session, export it in the shell that starts Claude Code:

export CLAUDE_CODE_FORK_SUBAGENT=<value>
claude

To apply it to every session, add it to the env object of a settings file:

// ~/.claude/settings.json
{
  "env": {
    "CLAUDE_CODE_FORK_SUBAGENT": "<value>"
  }
}

Release notes that mention it

Related variables

Frequently asked questions

What does CLAUDE_CODE_FORK_SUBAGENT do?

Changelog-confirmed[1]: set to 1 to run subagents as forked processes (v2.1.117 on external builds, v2.1.121 extended to non-interactive SDK/-p sessions). Forked subagents get true process isolation and independent resource limits instead of in-process coroutines.

Which Claude Code version has CLAUDE_CODE_FORK_SUBAGENT?

Added between v2.1.114 and v2.1.117 and still present in v2.1.294.

How do I set CLAUDE_CODE_FORK_SUBAGENT?

Export it before starting Claude Code (export CLAUDE_CODE_FORK_SUBAGENT=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.