Claude Code turns on fork subagents by default everywhere
Version 2.1.302 makes forked subagents and background execution the default in claude -p, the Agent SDK, the desktop app and VS Code, not just the terminal.
Claude Code 2.1.302 turns on fork subagents (subagent_type: "fork") by default in claude -p, the Agent SDK, the desktop app and VS Code. The terminal already defaulted to this; now every surface matches it. claude mcp serve never offers forked subagents.
The same release changes how subagents run. The desktop app and VS Code now always run a main conversation’s subagents in the background, the way the terminal does, instead of letting Claude choose. But a subagent’s own nested Agent calls now run in the foreground by default across all four surfaces. To go back to the old forking behaviour:
CLAUDE_CODE_FORK_SUBAGENT=0
Why it matters: if you build on the Agent SDK or drive Claude Code from scripts with claude -p, this changes how your subagents execute without you touching your own code. Forked subagents and background execution were terminal-only quirks; now they’re the baseline everywhere, so behaviour you only tested in the terminal should now hold in the desktop app, VS Code and your own SDK integrations too.