Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.238 Home All releases olderv2.1.237 v2.1.239newer
Claude Code v2.1.238

Refused subagent launches are recorded with a reason

Under the hood
Useful2 Signal3
Subagents

A turned-down subagent launch now records whether it hit the nesting cap, the concurrency cap or a budget.

What

When a Task launch is turned down, the session now records why alongside the existing telemetry, giving three named reasons: depth_limit for the nesting cap, concurrency_limit for too many at once, and budget for an exhausted allowance.

Details
  • The depth cap still throws the same error naming CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH; the refusal is recorded just before it throws.
  • Task rows gained a spawnedSubagent field, and spawnDepth is now written only when it applies.
  • The concurrency check reads the session's effort setting through a new accessor rather than off the app state directly.
Evidence

recordRefused("depth_limit"), recordRefused("concurrency_limit")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

See this entry in the whole of v2.1.238 →