[FEATURE] "fork" means three things, and the skills docs now say "Despite the name"

Status Open
Maintainer reply None cached
Activity 0 comments · opened Oct 11, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Claude Code uses "fork" and "branch" for the same thing in some places, and "fork" means two opposite things in others. The skills docs now say so in writing (Run skills in a subagent):

Despite the name, a skill with context: fork doesn't run in a fork of the current conversation, which would hand the subagent everything you've discussed so far. When the task depends on that history, fork the conversation instead of using context: fork.

I think a name that needs a "Despite the name" warning is the wrong name - and here the docs tell me to fork instead of using fork.

The current state on v2.1.296:

/branch                  copies the conversation into a new session and switches you into it
--fork-session           CLI flag: "When resuming, create a new session ID"; there is no --branch flag
/fork                    copies the conversation into a new background session when agent view is on,
                         and starts a forked subagent when agent view is off
/subtask                 starts a forked subagent (this command was /fork in v2.1.161 to v2.1.211)
subagent_type: "fork"    a subagent that inherits the full parent conversation
context: fork (skills)   a subagent that inherits none of the parent conversation
$ claude --help | grep -i fork
  --fork-session                        When resuming, create a new session ID

So a session copy is called both "branch" and "fork", and a subagent is a "fork" whether it gets all of the conversation or none of it.

Proposed Solution

Give each behavior one name, and keep the old names as aliases so existing scripts and skills keep working:

  • --fork-session gets a --branch-session name to match /branch
  • /fork does one thing whether agent view is on or off
  • Skill context: fork gets a name that says the subagent starts empty, such as context: isolated, with fork kept as a deprecated alias.

Alternative Solutions

Keep the names and list all of them on one docs page with what each one copies. The "Despite the name" sentence does this today for one of them.

Priority

Low - Nice to have

Feature Category

CLI commands and flags

Additional Context

View original on GitHub ↗