Claude Code retools /fork command, adds new /subtask workflow

Claude Code has updated /fork to spin up a background session while you keep working. Its former subagent behavior now lives in /subtask, which reports a final result back. The changes are live in v2.1.212+.

claude cover

TL;DR

  • /fork behavior changed: Now starts a background session copy; main session stays active; no result reported back
  • /subtask introduced: Replaces prior /fork subagent workflow; inherits context; returns a final-result notification
  • /branch unchanged: Creates a branch and switches active session to the new conversation
  • Workflow clarification: Forking doesn’t switch sessions; branching does; separates parallel background work vs delegated tasks
  • Version: Available in Claude Code v2.1.212+ (announced August 3)
  • Caveats and settings: Fork edits outside checkpoints; /rewind won’t restore; worktree.bgIsolation defaults to worktree

Claude Code has changed the behavior of /fork, turning it into a background-session command while moving its former subagent workflow to /subtask.

Lydia Hallie announced the change on August 3, stating that /fork now copies the current session into a new background session while the original remains available for continued work. The update is available in Claude Code v2.1.212 and later.

The revised commands separate parallel work from delegated tasks:

  • /fork transfers the full session context, along with an optional prompt, to a background session. It does not report a result back to the original session.
  • /subtask transfers the full context and a prompt to a subagent, which then provides a final-result notification.
  • /branch remains the command for creating a branch that switches the active session to the new conversation.

Hallie clarified that forking does not switch the user into the new session, while branching does. That distinction gives the commands different workflows: a fork can continue in the background while the main session remains active, whereas a branch is intended for moving into a separate conversation.

The change addresses confusion around the previous meaning of /fork. Several users had interpreted the name as a way to keep working while another process branched off, but the earlier implementation behaved like an in-session subagent that reported back. The renamed /subtask command more directly describes that behavior.

Claude Code’s command interface also includes controls for switching sessions, copying, forking, clearing history and closing the interface:

→ to switch
c to copy
f to fork
x to clear history
Esc to close

Hallie confirmed that /subtask inherits the parent context. The available source material does not establish whether the background fork continues independently after the parent session is closed or reaches a usage limit, and those questions were raised by users following the announcement.

One caveat raised in the discussion concerns checkpoints. A background fork’s edits sit outside the parent session’s checkpoints, meaning /rewind will not restore those changes. The discussion also notes that worktree.bgIsolation defaults to worktree, making the isolation mode relevant when deciding how background work should affect the project.

The update gives Claude Code three distinct ways to split work: /fork for a parallel background session, /subtask for delegated work with a returned result and /branch for switching into a separate conversation.

Source: Lydia Hallie on X

Continue the conversation on Slack

Did this article spark your interest? Join our community of experts and enthusiasts to dive deeper, ask questions, and share your ideas.

Join our community