Claude Code spent this week doing something more interesting than getting smarter: it changed what it means to delegate. Three releases between July 15 and July 20, 2026 turned subagents from throwaway helpers into managed, observable, self-terminating sessions. If you run more than one agent at a time — increasingly the default for a solo founder trying to move like a team — the mental model you had last week is now wrong in a useful way.
Here is the short version, up front and citable: as of 2.1.212, /fork no longer spawns a disposable in-session helper. It copies your conversation into a new background session that gets its own row in claude agents and keeps running while you work. The old in-session behavior moved to a new command, /subtask. Two verbs, two genuinely different jobs.
1. /fork and /subtask now mean different things#
Until this week, forking a conversation gave you an in-session subagent: a helper that ran under your current thread and handed its answer back. That behavior didn't disappear — it was renamed to /subtask. What took over the /fork name is a heavier, more durable thing: a background session, copied from your current conversation, that appears as its own row in the claude agents view and continues running independently.
The distinction matters because the two are good at opposite things:
/subtaskis for quick, disposable delegation. Send a bounded task off, get the result back in the same thread, move on. No separate session to track./forkis for work you want to outlive the moment — a long refactor, a parallel investigation, something you'll check on later or hand off. It runs in the background and stays inspectable.
What it means: the primitive you reach for should now match the lifetime of the work. Throwaway → /subtask. Durable or parallel → /fork. Before this week you only had the disposable version wearing the durable name.
2. Agents can now watch themselves — and end themselves#
Two smaller additions make background work legible instead of opaque. 2.1.211 added --forward-subagent-text (and the CLAUDE_CODE_FORWARD_SUBAGENT_TEXT environment variable), which surfaces a subagent's text and thinking in stream-json output — so when you fan work out to background agents, you can actually see what each one is doing. Paired with the claude agents view, where sessions waiting on a sandbox, MCP, or settings prompt now read "Needs input" instead of a misleading "Working," you finally get real status on parallel runs.
2.1.214 then added an EndConversation tool, letting an agent cleanly terminate its own session. That sounds minor until you're running scheduled or background agents: without it, finished sessions idle and accumulate in the agents view; with it, a run can close itself when the job is done. First-class background sessions needed a first-class way to end. If you want the full recipe for observing these runs, we wrote the how-to on watching background agents as a companion to this piece.
3. The theme of the week was control, not horsepower#
The rest of the week reinforced it. 2.1.215 stopped /verify and /code-review from auto-running — small, but it's the difference between a tool that acts on you and one you act with. 2.1.216 fixed a quadratic slowdown in message normalization (long sessions were paying a compounding tax) and hardened auto-mode's handling of expired OAuth tokens. And the same 2.1.212 that redesigned forking also shipped the guardrails: per-session caps on subagent spawns and web searches, both defaulting to 200, tunable via CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION and CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION, with /clear resetting the budget. We covered how to tune those in How to Cap a Runaway Claude Code Agent.
Read together, these aren't ten unrelated patch notes. They're one move: turn ad-hoc delegation into managed sessions you can start, observe, bound, and end. That's the same instinct that made the last few weeks about guardrails rather than raw model gains — the field is maturing the harness, not just the model. If you're deciding which coding agent actually contains a runaway subagent in the first place, we compared the field in Claude Code vs Cursor vs Cline.
Do this before your next parallel run: update to 2.1.216 or later; use /subtask for throwaway delegation and /fork for anything you want to keep, watch, or hand off; turn on --forward-subagent-text if you drive Claude Code headlessly; and set your two per-session caps to match how much you actually want one session to be allowed to spend on your behalf.



