# Prompt changes in v2.1.307

> 1 change since v2.1.306, landing in 20 of 23 prompts.

[Web version](https://changelogs.core-directive.com/prompts/2.1.307)

## 1. Agent tool now warns of subagent costs and defaults to not spawning

Agent tool description · under “When to use”

The guidance now opens by listing what a fresh agent costs: lost detail in both handoffs, no visibility into its work, confident-sounding mistakes, a tendency to confirm a hypothesis it is handed, and token bursts the user pays for. Claude is told to do work itself when it takes a handful of tool calls or a known lookup, to delegate review only for an unanchored second read (giving the code, not its conclusion), and to not spawn when in doubt. Matching an available agent type is no longer listed as a reason to delegate, side quests that shouldn't block the main thread are added, and new instructions say to brief an agent with the goal, what is ruled out, which files to read, and a narrow scope.

- +284 / -41 words
- Landed in 20 of 23 prompts (main prompt 6/6, session agents, slash commands 3/3, compaction, system reminders 8/8, subagents 1/3)

```diff
-Reach for this when the task matches an available agent type, when you have independent work to run in parallel, or when answering would mean reading across several files — delegate it and you keep the conclusion, not the file dumps. For a single-fact lookup where you already know the file, symbol, or value, search directly. Once you've delegated a search, don't also run it yourself — wait for the result.
+A fresh agent costs more than it looks. It knows only what you put in the prompt, and you see only the summary it sends back — both handoffs drop detail, and neither of you can tell what the other missed. You can't watch it work, only wait or cancel. Its mistakes come back in the same confident register as its findings, and an agent handed your hypothesis tends to return it confirmed. Several at once spend tokens in a burst the user didn't ask for. Weigh those tokens against the accuracy they buy: the user pays for agents you did not need, and pays again for work you redo because you skipped one.
+Reach for this when you have independent work to run in parallel, when the user asks for a side quest that shouldn't block your main thread, or when answering would mean reading across several files — delegate that and you keep the conclusion, not the file dumps.
+Do the work yourself when it is a handful of tool calls or a lookup whose target you already know; don't delegate a check you could run inline. Delegate review only when you want a read that isn't anchored on yours — then give it the code, not your conclusion. Once you've delegated something, don't also run it yourself; wait for the result. When in doubt, don't spawn.
+When you do spawn one, brief it like the peer it is: state the goal and what you have already ruled out, point it at the files and docs worth reading instead of retyping them, and keep the scope explicit and narrow. That brief is the only context it will have, so it is your first lever on every cost above — and if you cannot write a clear one, you do not understand the task well enough to hand it off.

-For a single-fact lookup where you already know the file, symbol, or value, search directly. Once you've delegated a search, don't also run it yourself — wait for the result.
+A fresh agent costs more than it looks. It knows only what you put in the prompt, and you see only the summary it sends back — both handoffs drop detail, and neither of you can tell what the other missed. You can't watch it work, only wait or cancel. Its mistakes come back in the same confident register as its findings, and an agent handed your hypothesis tends to return it confirmed. Several at once spend tokens in a burst the user didn't ask for. Weigh those tokens against the accuracy they buy: the user pays for agents you did not need, and pays again for work you redo because you skipped one.
+Reach for this when you have independent work to run in parallel, when the user asks for a side quest that shouldn't block your main thread, or when answering would mean reading across several files — delegate that and you keep the conclusion, not the file dumps.
+Do the work yourself when it is a handful of tool calls or a lookup whose target you already know; don't delegate a check you could run inline. Delegate review only when you want a read that isn't anchored on yours — then give it the code, not your conclusion. Once you've delegated something, don't also run it yourself; wait for the result. When in doubt, don't spawn.
+When you do spawn one, brief it like the peer it is: state the goal and what you have already ruled out, point it at the files and docs worth reading instead of retyping them, and keep the scope explicit and narrow. That brief is the only context it will have, so it is your first lever on every cost above — and if you cannot write a clear one, you do not understand the task well enough to hand it off.
```

## Where each change landed
- [Claude Code, default](https://changelogs.core-directive.com/prompts/2.1.307/system?arm=cli): #1
- [Claude Code, seeded with this account's feature flags](https://changelogs.core-directive.com/prompts/2.1.307/system?arm=cli&config=flags-account): #1
- [Claude Code, seeded with anonymous feature flags](https://changelogs.core-directive.com/prompts/2.1.307/system?arm=cli&config=flags-anon): #1
- [Agent SDK, default](https://changelogs.core-directive.com/prompts/2.1.307/system?arm=sdk-cli): #1
- [Agent SDK, seeded with this account's feature flags](https://changelogs.core-directive.com/prompts/2.1.307/system?arm=sdk-cli&config=flags-account): #1
- [Agent SDK, seeded with anonymous feature flags](https://changelogs.core-directive.com/prompts/2.1.307/system?arm=sdk-cli&config=flags-anon): #1
- [Auto-mode classifier](https://changelogs.core-directive.com/prompts/2.1.307/system?surface=automode&arm=sdk-cli): unchanged
- [Session agents: claude](https://changelogs.core-directive.com/prompts/2.1.307/system?surface=agent-claude&arm=cli): #1
- [Slash commands: /init](https://changelogs.core-directive.com/prompts/2.1.307/system?surface=command-init&arm=sdk-cli): #1
- [Slash commands: /security-review](https://changelogs.core-directive.com/prompts/2.1.307/system?surface=command-security-review&arm=sdk-cli): #1
- [Slash commands: /team-onboarding](https://changelogs.core-directive.com/prompts/2.1.307/system?surface=command-team-onboarding&arm=sdk-cli): #1
- [Compaction: Compaction instruction](https://changelogs.core-directive.com/prompts/2.1.307/system?surface=compaction&arm=cli): #1
- [System reminders: Claude md](https://changelogs.core-directive.com/prompts/2.1.307/system?surface=reminder-claude-md&arm=sdk-cli): #1
- [System reminders: Hook pretool block](https://changelogs.core-directive.com/prompts/2.1.307/system?surface=reminder-hook-pretool-block&arm=sdk-cli): #1
- [System reminders: Read dup](https://changelogs.core-directive.com/prompts/2.1.307/system?surface=reminder-read-dup&arm=sdk-cli): #1
- [System reminders: Read empty](https://changelogs.core-directive.com/prompts/2.1.307/system?surface=reminder-read-empty&arm=sdk-cli): #1
- [System reminders: Read offset](https://changelogs.core-directive.com/prompts/2.1.307/system?surface=reminder-read-offset&arm=sdk-cli): #1
- [System reminders: Skill run](https://changelogs.core-directive.com/prompts/2.1.307/system?surface=reminder-skill-run&arm=sdk-cli): #1
- [System reminders: Todo nag](https://changelogs.core-directive.com/prompts/2.1.307/system?surface=reminder-todo-nag&arm=sdk-cli): #1
- [System reminders: Toolsearch deferred](https://changelogs.core-directive.com/prompts/2.1.307/system?surface=reminder-toolsearch-deferred&arm=sdk-cli): #1
- [Subagents: explore](https://changelogs.core-directive.com/prompts/2.1.307/system?surface=subagent-explore&arm=sdk-cli): unchanged
- [Subagents: general-purpose](https://changelogs.core-directive.com/prompts/2.1.307/system?surface=subagent-general-purpose&arm=sdk-cli): #1
- [Subagents: plan](https://changelogs.core-directive.com/prompts/2.1.307/system?surface=subagent-plan&arm=sdk-cli): unchanged

## Did not change
- 30 tool descriptions are word for word the same, 1 moved and is listed above. Unchanged: AskUserQuestion, Bash, CronCreate, CronDelete, CronList, DeferredToolPlaceholder, Edit, EnterPlanMode, EnterWorktree, ExitPlanMode, ExitWorktree, ListAgents, Monitor, NotebookEdit, PushNotification, Read, ReportFindings, ScheduleWakeup, SendMessage, Skill, TaskCreate, TaskGet, TaskList, TaskStop, TaskUpdate, ToolSearch, WebFetch, WebSearch, Workflow, Write.
- 3 prompts did not move at all: Auto-mode classifier, Subagents: explore, Subagents: plan
- set aside as capture noise: 358 billing header lines
- set aside as capture noise: 224 capture date lines
- set aside as capture noise: 224 host kernel lines
