# Claude Code v2.1.271: system prompt

> 1 of 14 tool descriptions changed. The appended system-reminder blocks moved: 1 line added, 1 line removed. Compared against v2.1.270.

Web version: https://changelogs.core-directive.com/prompts/2.1.271?surface=subagent-plan

## What this version holds
- model strings captured: 1
- tool descriptions: 14
- compared against: v2.1.270
- system prompt edits: 0
- widest system prompt edit: +0/-0 lines
- tool descriptions changed: 1

## What moved

### Tool: SendMessage (+1/-1 lines)

This edit reached all 1 arms.

```diff
@@ from line 26 @@
 
 Send the bare name — a name that exactly matches one live agent or session (on this machine, on another machine, or in the cloud) delivers directly. Append the ` [ref]` only when the bare name is not enough — `ListAgents` shows two rows with it, or an error asks you to disambiguate (you typed only a prefix, or a session list could not be checked). A ref you did not just read from a listing or an error will not resolve, and if the same name also names an in-process agent, the bare name always wins — use the in-process one.
 
-A listed peer is alive and will process your message; messages enqueue and drain at the receiver's next tool round (its `ListAgents` row says whether it is busy or idle right now). Your message arrives wrapped as `<cross-session-message from="...">`. **To reply to an incoming message, copy its `from` attribute as your `to`.** Cross-session messages travel between SESSIONS: if you are a subagent, your send goes out under your parent session's address, and any reply is delivered to the parent session's conversation, not to you.
+A listed peer is alive and will receive your message; messages enqueue and drain at the receiver's next tool round (its `ListAgents` row says whether it is busy or idle right now). A successful send means the message reached that session, not that its Claude read it: a session running in a different permission mode than yours holds cross-session messages for its user's approval (and may let them expire), and a session can refuse them outright — for a session on this machine a `[Cross-session delivery notice]` tells you when that happens (the tool result says when this session has no inbox for one to reach); for a Remote Control, cloud or Claude Desktop session nothing reports back, so never treat silence as agreement. Your message arrives wrapped as `<cross-session-message from="...">`. **To reply to an incoming message, copy its `from` attribute as your `to`.** Cross-session messages travel between SESSIONS: if you are a subagent, your send goes out under your parent session's address, and any reply is delivered to the parent session's conversation, not to you.
 
 To hear when a session ON THIS MACHINE finishes what it is doing, pass `notify_when_idle: true` (from the main conversation only) — one-shot and opt-in: exactly one `[Cross-session idle notice]` arrives when it next goes idle (or exits) — shown to you, or only to your user when this session holds peer messages for approval (the tool result says which); if it never signals within the subscription's lifetime (it may still be busy, may refuse inbound requests, or may have ended abruptly) the notice says the subscription expired instead. Omit `message` for a pure subscription that costs that session nothing; include one to deliver it now AND subscribe. Never poll `ListAgents` in a loop or send "are you done?" messages instead.
 
```

## Tool descriptions
- Bash: https://changelogs.core-directive.com/prompts/2.1.271/tools/Bash.txt?surface=subagent-plan
- CronCreate: https://changelogs.core-directive.com/prompts/2.1.271/tools/CronCreate.txt?surface=subagent-plan
- CronDelete: https://changelogs.core-directive.com/prompts/2.1.271/tools/CronDelete.txt?surface=subagent-plan
- CronList: https://changelogs.core-directive.com/prompts/2.1.271/tools/CronList.txt?surface=subagent-plan
- EnterWorktree: https://changelogs.core-directive.com/prompts/2.1.271/tools/EnterWorktree.txt?surface=subagent-plan
- ExitWorktree: https://changelogs.core-directive.com/prompts/2.1.271/tools/ExitWorktree.txt?surface=subagent-plan
- ListAgents: https://changelogs.core-directive.com/prompts/2.1.271/tools/ListAgents.txt?surface=subagent-plan
- Read: https://changelogs.core-directive.com/prompts/2.1.271/tools/Read.txt?surface=subagent-plan
- ReportFindings: https://changelogs.core-directive.com/prompts/2.1.271/tools/ReportFindings.txt?surface=subagent-plan
- SendMessage (changed in this version): https://changelogs.core-directive.com/prompts/2.1.271/tools/SendMessage.txt?surface=subagent-plan
- Skill: https://changelogs.core-directive.com/prompts/2.1.271/tools/Skill.txt?surface=subagent-plan
- TaskStop: https://changelogs.core-directive.com/prompts/2.1.271/tools/TaskStop.txt?surface=subagent-plan
- WebFetch: https://changelogs.core-directive.com/prompts/2.1.271/tools/WebFetch.txt?surface=subagent-plan
- WebSearch: https://changelogs.core-directive.com/prompts/2.1.271/tools/WebSearch.txt?surface=subagent-plan

## Full text
- system prompt: https://changelogs.core-directive.com/prompts/2.1.271/system.txt?surface=subagent-plan
