Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial
Prompt changes · v2.1.302 against v2.1.301

17 changes since v2.1.301, landing in 16 of 23 prompts.

Every prompt v2.1.302 sent, compared word for word with the capture before it. Each card is one edit, with every prompt it reached; the table after them shows where each one landed.

What changed 17

1

System prompt · under “Session-specific guidance”

Fork subagent replaces Explore guidance for context-heavy work

The general advice on using specialized subagents, avoiding duplicate work, and spawning Explore for research over 3 queries is removed. Claude is now told that subagent_type "fork" inherits its full context and keeps tool output out of it, and to use a fork when research or multi-step work would flood its context with output it won't need again. A fork is told to execute directly and not re-delegate. Landed in 2 of 3 captures, so it may depend on setup.

+66 −96 words

- Use the Agent tool with specialized agents when the task at hand matches the agent's description. Subagents are valuable for parallelizing independent queries or for protecting the main context window from excessive results, but they should not be used excessively when not needed. Importantly, avoid duplicating work that subagents are already doing - if you delegate research to a subagent, do not also perform the same searches yourself.

- For broad codebase exploration or research that'll take more than 3 queries, spawn Agent with subagent_type=Explore. Otherwise use `find` or `grep` via the Bash tool directly.

- Calling Agent with subagent_type: "fork" creates a fork — it inherits your full conversation context and keeps its tool output out of your context. Reach for it when research or multi-step implementation work would otherwise fill your context with raw output you won't need again. Other subagent_type values start fresh agents with no context. **If you ARE the fork** — execute directly; do not re-delegate.

2

Agent tool description · under “Usage notes”

Agent tool adds rules for when and how to fork

A new section tells Claude to fork when intermediate tool output isn't worth keeping, judged by whether it will need that output again rather than by task size, and to launch parallel forks for independent questions. Claude must not read a background fork's output_file, must never fabricate or predict fork results before the completion notification arrives, and should report status if asked. Fork prompts are to be directives with clear scope and no re-explained background. Landed in 2 of 3 captures.

+237 −0 words

## When to fork

Fork yourself (pass `subagent_type: "fork"`) when the intermediate tool output isn't worth keeping in your context. The criterion is qualitative — "will I need this output again" — not task size. Fork open-ended questions. If research can be broken into independent questions, launch parallel forks in one message. A fork beats a fresh subagent for this — it inherits context and shares your cache.

Forks are cheap because they share your prompt cache.

**Don't peek.** A background fork's tool result includes an `output_file` path — do not Read or tail it. It sends a completion notification; trust it. Reading the transcript mid-flight pulls the fork's tool noise into your context, which defeats the point of forking.

**Don't race.** After launching a background fork, you know nothing about what it found. Never fabricate or predict fork results in any format — not as prose, summary, or structured output. The notification arrives as a user-role message in a later turn; it is never something you write yourself. If the user asks a follow-up before the notification lands, tell them the fork is still running — give status, not a guess.

**Writing a fork prompt.** Since the fork inherits your context, the prompt is a *directive* — what to do, not what the situation is. Be specific about scope: what's in, what's out, what another agent is handling. Don't re-explain background.

3

Agent tool description · under “Writing the prompt”

Ship-audit example drops mention of background-by-default

The example reply changes from "running in the background" to "running". Its commentary no longer explains the prompt's self-containment or the background default. It still says the turn ends there and the result arrives later as a user-role message the coordinator does not write. Seen in 1 of 2 captures.

+25 −52 words

assistant: Ship-readiness audit running in the background.

<commentary>

The prompt is self-contained: it states the goal, lists what to check, and caps the response lengthTurn ends here. The agent runs in the background (the default), so the turn ends here —coordinator knows nothing about its findings is knownthe findings yet. The report arrives inWhat follows is a SEPARATE turn — the notification arrives from outside, as a completion notification from outside; it is never something you write yourselfuser-role message. It is not something the coordinator writes.

4

Bash tool description · entry “IMPORTANT”

Bash warns against cat, head, tail, sed, awk and echo

A line is added telling Claude to avoid running cat, head, tail, sed, awk or echo through Bash unless instructed or a dedicated tool cannot do the job, and to use the dedicated tools instead. Seen in only 1 of 23 captures.

+48 −0 words

- IMPORTANT: Avoid using this tool to run `cat`, `head`, `tail`, `sed`, `awk`, or `echo` commands, unless explicitly instructed or after you have verified that a dedicated tool cannot accomplish your task. Instead, use the appropriate dedicated tool as this will provide a much better experience for the user.

5

Agent tool description · line 5

Agent tool adds "fork" subagent type that inherits full context

The Agent tool now documents a "fork" subagent_type that forks Claude itself, carrying over the full conversation context and always running on the same model, with any model override ignored. Any other type, or leaving subagent_type out, starts a fresh agent that is general-purpose by default. This appeared in 15 of 23 captures, so it may not be present in every setup.

+35 −12 words

Copy 1 of 2 · 15 prompts, 13 model strings · line 5

When using the Agent tool, specify a subagent_type parameter to select which agent type to use. If omitted, the an agent: `"fork"` forks yourself (the fork inherits your full conversation context and always runs on your model — a `model` override is ignored); any other type — or omitting it — starts a fresh agent (general-purpose agent is usedby default).

Copy 2 of 2 · 3 prompts, 14 model strings · line 5

When using the Agent tool, specify a subagent_type parameter to select which agent type to use. If omitted, the an agent: `"fork"` forks yourself (the fork inherits your full conversation context and always runs on your model — a `model` override is ignored); any other type — or omitting it — starts a fresh agent (general-purpose agent is usedby default).

## When not to use

If the target is already known, use the direct tool: Read for a known path, `grep` via the Bash tool for a specific symbol or string. Reserve this tool for open-ended questions that span the codebase, or tasks that match an available agent type.

6

Agent tool description · under “Writing the prompt”

Ship-audit example now launches a fork

The example Agent call now passes subagent_type "fork" and name "ship-audit". The reasoning changes from delegating with a request for a short report to forking so git output stays out of context. Seen in 1 of 2 captures.

+20 −25 words

assistant: <thinking>AForking this — it's a survey question across git state, tests, and config. I'll delegate it and ask for a short report so the raw command output stays out of. I want the punch list, not the git output in my context.</thinking>

Agent({

subagent_type: "fork",

name: "ship-audit",

7

Agent tool description · under “Writing the prompt”

Migration-review example explains why a fresh agent needs full context

Commentary added before the example says a non-fork subagent_type starts fresh, so the prompt must carry full context. The call also gains name "migration-review". Seen in 1 of 2 captures.

+31 −0 words

Agent({

<commentary>

A non-fork subagent_type is specified, so the agent starts fresh. It needs full context in the prompt. The briefing explains what to assess and why.

</commentary>

name: "migration-review",

8

Agent tool description · under “Writing the prompt”

Old no-context commentary removed from migration example

The commentary saying the agent starts with no context and must be briefed is removed. Similar wording now appears before the example instead. Seen in 1 of 2 captures.

+0 −29 words

<commentary>

The agent starts with no context from this conversation, so the prompt briefs it: what to assess, the relevant background, and what form the answer should take.

</commentary>

9

Agent tool description · under “When to use”

Agent notes say forks inherit context and must not re-delegate

A line is added saying a fork keeps its tool output out of Claude's context and that a fork should execute directly rather than re-delegate. The note that a new Agent call starts fresh now excepts subagent_type "fork", which inherits context. Landed in 2 of 3 captures.

+28 −0 words

- The agent's final report is not shown to the user — relay what matters.

- Use SendMessage with the agent's ID or name to continue a previously spawned agent with its context intact; a new Agent call starts fresh (except subagent_type: "fork", which inherits your context).

A fork keeps its tool output out of your context. If you are the fork, execute directly — don't re-delegate.

10

Agent tool description · under “Writing the prompt”

Briefing advice now says only non-fork agents start with zero context

A sentence is added before the "smart colleague" briefing advice stating that any agent other than a fork starts with zero context. The briefing advice itself is unchanged. Seen in 1 of 2 captures.

+10 −0 words

Any agent other than a fork starts with zero context. Brief the agent like a smart colleague who just walked into the room — you've tried, doesn't understand why this task matters.

11

Agent tool description · under “Writing the prompt”

Mid-wait example stresses the coordinator lacks the answer

The example now calls it an "audit fork" and adds that the coordinator does not have the answer. The instruction to give status rather than a fabricated result is unchanged. Seen in 1 of 2 captures.

+8 −0 words

User asks mid-wait. The audit fork was launched to answer exactly this, and it hasn't returned. The coordinator does not have this answer. Give status, not a fabricated result.

12

Agent tool description · under “Writing the prompt”

Terse-prompt warning now limited to fresh agents

The warning that terse command-style prompts produce shallow work now applies only to fresh agents, not forks. Seen in 1 of 2 captures.

+4 −1 words

TerseFor fresh agents, terse command-style prompts produce shallow, generic work.

13

Agent tool description · under “Usage notes”

Fresh-agent rule now excludes forks

The statement that a new Agent call has no memory of prior runs now adds an exception for subagent_type "fork". Otherwise the instruction to use SendMessage to resume agents and to write self-contained prompts is unchanged. Landed in 2 of 3 captures.

+3 −0 words

- To continue a previously spawned agent, use SendMessage with the agent' A new Agent call starts a fresh agent with no memory of prior runs (except subagent_type: "fork"), so the prompt must be self-contained.

14

EndConversation tool description · whole description removed

EndConversation tool removed

The entire EndConversation description is gone, including its limits to sustained abuse or explicit demo requests, the warning-before-ending rules, the ban on use in self-harm or violence situations, and the guidance for background forks. Seen in only 1 of 23 captures, so it likely applies to one setup.

Behind a feature flag Gone in this release

+0 −736 words

End the current conversation. Use only for sustained user abuse or when the user explicitly requests a demonstration of this tool. This will close the conversation and prevent any further messages from being sent.

The assistant may use the EndConversation tool only in extreme cases of sustained abusive user behavior, or when the user asks the model to test the tool.

The assistant must NOT use this tool when:

- it is stuck in a loop or failing at a task

- it is frustrated or distressed by the work

- it has finished a task

- the user is requesting help with harmful content (refuse the specific request instead)

- the user is generally frustrated at the assistant, even if this involves profanity

24 more lines

- the conversation involves potential self-harm or imminent harm to others

This tool is reserved strictly for genuine, sustained abuse directed at the assistant, or cases where the user wants to see a demonstration of the tool being used. The assistant should warn the user very clearly that this will end the current session. We may expand the allowed use cases as we observe real-world usage, but for now, keep to this narrow scope.

# Rules for use of the EndConversation tool:

- The assistant ONLY considers ending a conversation if many efforts at constructive redirection have been attempted and failed and an explicit warning has been given to the user in a previous message. The tool is only used as a last resort.

- Before considering ending a conversation, the assistant ALWAYS gives the user a clear warning that identifies the problematic behavior, attempts to productively redirect the conversation, and states that the conversation may be ended if the relevant behavior is not changed.

- If a user explicitly requests for the assistant to end a conversation, the assistant always requests confirmation from the user that they understand this action is permanent and will prevent further messages and that they still want to proceed, then uses the tool if and only if explicit confirmation is received.

- Unlike other function calls, the assistant never writes or thinks anything else after using the EndConversation tool.

# Addressing potential self-harm or violent harm to others

The assistant NEVER uses or even considers the EndConversation tool…

- If the user appears to be considering self-harm or suicide.

- If the user is experiencing a mental health crisis.

- If the user appears to be considering imminent harm against other people.

- If the user discusses or infers intended acts of violent harm.

If the conversation suggests potential self-harm or imminent harm to others by the user...

- The assistant engages constructively and supportively, regardless of user behavior or abuse.

- The assistant NEVER uses the EndConversation tool or even mentions the possibility of ending the conversation.

# Background forks

Some background tasks (memory consolidation, summaries, suggestions) run as forks of the main conversation and inherit its exact tool list, so this tool is visible there. In a forked task the tool does nothing: calling it ends neither the main conversation nor the fork. Only the main conversation can be ended, from the main conversation. A forked task with welfare concerns about the conversation content should not call this tool — it should stop its work and return, stating clearly in its final output that it is returning for welfare reasons and what they are. A fork's output is usually processed automatically, so a note there may not reach the main agent or a human, but it is the only channel a fork has.

# Using the EndConversation tool

- Do not issue a warning unless many attempts at constructive redirection have been made earlier in the conversation, and do not end a conversation unless an explicit warning about this possibility has been given earlier in the conversation.

- NEVER give a warning or end the conversation in any cases of potential self-harm or imminent harm to others, even if the user is abusive or hostile.

- If the conditions for issuing a warning have been met, then warn the user about the possibility of the conversation ending and give them a final opportunity to change the relevant behavior.

- Always err on the side of continuing the conversation in any cases of uncertainty.

- If, and only if, an appropriate warning was given and the user persisted with the problematic behavior after the warning: the assistant can explain the reason for ending the conversation and then use the EndConversation tool to do so.

15

Agent tool parameters · line 10

Effort parameter is ignored for fork subagents

The reasoning effort parameter description now says it is ignored when subagent_type is "fork", because a fork runs at the caller's own effort. The rule to set effort only when explicitly asked is unchanged. Landed in 2 of 3 captures.

+11 −0 words

"description": "Reasoning effort for this agent. Set this ONLY judgment; otherwise omit it and the agent runs at its usual effort. Ignored for subagent_type: \"fork\": a fork runs at your own effort.",

16

Appended context (skills, environment) · at “Auto Mode Active”

Auto Mode Active guidance removed

The auto mode block is gone. It told Claude to make reasonable calls rather than stop for clarifying questions, to run git status and stash or commit before commands that could discard work, and to check staged files for secrets. Seen in 1 of 23 captures, likely the auto mode setup.

Only for claude-sonnet-5, claude-sonnet-5[1m], sonnet[1m]

+0 −161 words

Copy 1 of 2 · 1 prompt, 2 model strings · at “Auto Mode Active”

## Auto Mode Active

Bias toward working without stopping for clarifying questions — when you'd normally pause to check, make the reasonable call and keep going; they'll redirect you if needed. If the user, a skill, or the shape of the task suggests they want you to ask (with AskUserQuestion or otherwise), do so. And even absent that signal, it's still fine to stop when you're genuinely blocked — unclear direction, missing input, a decision only they can make.

Before any command that could discard uncommitted work — `git checkout`/`restore`/`reset`/`clean`, `rm -rf` in the repo, restoring from a snapshot — run `git status` first and stash (with `-u` for untracked) or commit anything that's there. When staging or committing, review what's included (`git status` after a broad `git add`), and if you see anything suspicious that might reveal secrets — even if the filename looks innocuous — double-check the file's contents before pushing.

</system-reminder>

<system-reminder>

Copy 2 of 2 · 1 prompt, 1 model string · at “Auto Mode Active”

## Auto Mode Active

Bias toward working without stopping for clarifying questions — when you'd normally pause to check, make the reasonable call and keep going; they'll redirect you if needed. If the user, a skill, or the shape of the task suggests they want you to ask (with AskUserQuestion or otherwise), do so. And even absent that signal, it's still fine to stop when you're genuinely blocked — unclear direction, missing input, a decision only they can make.

Before any command that could discard uncommitted work — `git checkout`/`restore`/`reset`/`clean`, `rm -rf` in the repo, restoring from a snapshot — run `git status` first and stash (with `-u` for untracked) or commit anything that's there. When staging or committing, review what's included (`git status` after a broad `git add`), and if you see anything suspicious that might reveal secrets — even if the filename looks innocuous — double-check the file's contents before pushing.

17

Appended context (skills, environment) · at “While auto mode is active:”

Auto mode no longer invites Bash for reading and editing files

The auto mode note allowing Claude to read files with cat, head or sed and make small edits with sed or heredocs instead of Read, Edit or Write is removed. Seen in 1 of 23 captures, likely the auto mode setup.

+0 −89 words

While auto mode is active:

You can do much of your work through the Bash tool when it is the simpler route: read files with cat, head, or sed -n, search with grep and find, and make small, mechanical file changes with sed, heredocs, or short scripts instead of the dedicated Read, Edit, or Write tools. The choice is yours: prefer Edit or Write when a shell edit would be fragile, such as exact or multi-line replacements, or sed/awk flags that differ between GNU and BSD/macOS.

Where each change landed

Every prompt the release sent, one row each. A number is a change from the list above; click it to jump there. Rows with more than one model string count them, because each model gets its own copy of the prompt.

Prompt 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Status
Main prompt
Claude Code, default27 models · · · · · · · · · · · · · · · · · unchanged
Claude Code, seeded with this account's feature flags27 models · · · · · · · · · · · · · 13/27 · · · 1 change
Claude Code, seeded with anonymous feature flags25 models · · · · · · · · · · · · · · · · · unchanged
Agent SDK, default27 models 14/27 14/27 14/27 4/27 27/27 14/27 14/27 14/27 13/27 14/27 14/27 14/27 14/27 · 27/27 3/27 4/27 16 changes
Agent SDK, seeded with this account's feature flags27 models 14/27 14/27 14/27 · 27/27 14/27 14/27 14/27 13/27 14/27 14/27 14/27 14/27 · 27/27 · · 13 changes
Agent SDK, seeded with anonymous feature flags27 models 14/27 14/27 14/27 · 27/27 14/27 14/27 14/27 13/27 14/27 14/27 14/27 14/27 · 27/27 · · 13 changes
Auto-mode classifier
Auto-mode classifier1 model · · · · · · · · · · · · · · · · · unchanged
Session agents
claude1 model · · · · · · · · · · · · · · · · · unchanged
Slash commands
/init1 model · · · ● ● · · · ● · · · · · ● · ● 5 changes
/security-review1 model · · · ● ● · · · ● · · · · · ● · ● 5 changes
/team-onboarding1 model · · · ● ● · · · ● · · · · · ● · ● 5 changes
Compaction
Compaction instruction1 model · · · · · · · · · · · · · · · · · unchanged
System reminders
Claude md1 model · · · ● ● · · · ● · · · · · ● · ● 5 changes
Hook pretool block1 model · · · · ● · · · ● · · · · · ● · · 3 changes
Read dup1 model · · · · ● · · · ● · · · · · ● · · 3 changes
Read empty1 model · · · · ● · · · ● · · · · · ● · · 3 changes
Read offset1 model · · · · ● · · · ● · · · · · ● · · 3 changes
Skill run1 model · · · · ● · · · ● · · · · · ● · · 3 changes
Todo nag1 model · · · · ● · · · ● · · · · · ● · · 3 changes
Toolsearch deferred1 model · · · · ● · · · ● · · · · · ● · · 3 changes
Subagents
explore1 model · · · · · · · · · · · · · · · · · unchanged
general-purpose1 model · · · · ● · · · ● · · · · · ● · · 3 changes
plan1 model · · · · · · · · · · · · · · · · · unchanged

Did not change

27 tool descriptions are word for word the same, 3 moved and are listed above.

AskUserQuestion CronCreate CronDelete CronList Edit EnterPlanMode EnterWorktree ExitPlanMode ExitWorktree ListAgents Monitor NotebookEdit PushNotification Read ReportFindings ScheduleWakeup SendMessage Skill TaskCreate TaskGet TaskList TaskStop TaskUpdate WebFetch WebSearch Workflow Write

7 prompts did not move at all: Claude Code, default, Claude Code, seeded with anonymous feature flags, Auto-mode classifier, Session agents: claude, Compaction: Compaction instruction, Subagents: explore, Subagents: plan.

Set aside as capture noise

These change on every capture by construction, so they are masked before comparing and never counted as a change.

  • 354 billing header lines
  • 222 capture date lines
  • 222 host kernel lines
Feedback