Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.238 ·

Refused subagent launches are recorded with a reason

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

Under the hood Internal Changes
JSON All of v2.1.238
Under the hoodTier: how much it should matter to you
2Useful: my rating, 1 to 5
3Signal: worth watching, 1 to 5
SubagentsArea: what it touches
Internal ChangesKind: in v2.1.238,
Internal ChangesSection of the release
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.

See this entry in the whole of v2.1.238 →

Feedback