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.