Follow Discord
Sweep 27 Oct 2026 · 19:04Z Build v2.1.312 531 read Stable v2.1.308 Latest v2.1.312 Next v2.1.312 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.312 ·

More subagents now have their shells cleaned up when they finish

Subagents started through a 'call' path are flagged reapsShellsUnlessMoved, so their shells are cleaned up even when they run in the background

Group of 2 You'll notice Bug Fixes
JSON All of v2.1.312
You'll noticeTier: how much it should matter to you
2Useful: my rating, 1 to 5
1Signal: worth watching, 1 to 5
SubagentsArea: what it touches
Bug FixesKind: in v2.1.312,
Bug FixesSection of the release

Unclear Which subagents carry the setting to clean up their shells unless moved is not stated.

What

A subagent is a helper agent that Claude starts to work on part of a task. A subagent can start shells, the command-line processes it runs commands in. Claude Code decides whether to reap a subagent's shells, meaning shut them down, using a check.

  • Before, the check matched only subagents that were not async, meaning ones Claude waits on instead of running in the background.
  • It now also matches subagents with reapsShellsUnlessMoved set to true.
  • One place sets that field when a subagent is started through a call path.
  • Subagents started that way are now treated like synchronous ones for this check, even when they run in the background.

Why

Background shells left by some subagents are now cleaned up instead of staying behind. The field's name suggests a shell is kept if it has been moved, so a shell you expect to keep running from such a subagent may now be stopped unless it was moved.

How sure we are
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubtWhich subagents carry the setting to clean up their shells unless moved is not stated.

See this entry in the whole of v2.1.312 →

Feedback