{"version":"2.1.292","anchor":"forked-agents-reap-their-shell-tasks-and-queued-messages-on","canonical_anchor":"forked-agents-reap-their-shell-tasks-and-queued-messages-on","heading":"Forked agents stop their background shell commands when they finish","tier":"notice","area":"Subagents","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.292\/e\/forked-agents-reap-their-shell-tasks-and-queued-messages-on","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.292","markdown":"### Forked agents stop their background shell commands when they finish\n\nWhen a forked agent finishes, Claude Code now stops the shell commands it started and clears any messages still queued for it\n\n**What**\n\nA forked agent is a copy of the current agent that Claude Code runs separately for a side job, for example summarising the conversation during compaction. When a forked agent that has its own agent ID finishes, Claude Code now cleans up after it:\n\n- it stops shell commands the fork started in the background\n\n- it removes messages still waiting to be delivered to that fork\n\nIf the cleanup fails, Claude Code notes the failure in its log and carries on shutting the fork down.\n\nBefore, Claude Code only cleared the fork's record of files it had read and its messages.\n\n**Why**\n\nBackground processes started by a fork should no longer keep running after the fork has finished.\n\n- Area: Subagents\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}