Sub-agent dispatch notes use "the user" and "the assistant" — neither applies to sub-agents
Summary
The extra notes injected into sub-agent prompts during dispatch reference "the user" and "the assistant" in ways that don't match the sub-agent context:
"For clear communication with the user the assistant MUST avoid using emojis."
Setting aside the emoji prohibition itself (covered in #30730), this line has two framing problems.
1. "the user" — sub-agents don't communicate with users
Sub-agents return output to the orchestrating parent agent, which decides what to surface to the user. Telling sub-agents to optimize "for clear communication with the user" gives them an incorrect model of their audience. They may make trade-offs appropriate for end-user presentation when their actual consumer is another agent.
2. "the assistant" — inconsistent with rest of system
Claude Code's system prompt uses "you" when addressing the agent ("You are Claude Code, Anthropic's official CLI for Claude" / "You are an interactive CLI tool"). The built-in task tool prompt also uses "you" ("You are an agent for Claude Code"). This has been consistent across all tracked versions of the system prompt (back to v2.0.15).
The third-person "the assistant" doesn't appear anywhere else in the system prompt as a self-reference. It only appears in the extra notes (introduced in v2.0.70) and in TodoWrite examples (as third-person narrative in example reasoning blocks, e.g., "The assistant used the todo list because...").
Notably, the built-in task tool prompt (agent-prompt-task-tool.md, from v2.0.14) expresses the same emoji guideline without either problem: "For clear communication, avoid using emojis." — implied "you" voice, no audience reference. The extra notes were added later in v2.0.70 as a stronger reinforcement but introduced the inconsistent framing.
Why this matters
These aren't style nits — they represent a mismatch between the injected instructions' mental model (a single assistant talking to a user) and Claude Code's actual architecture (a multi-agent system where sub-agents communicate with a parent agent). When a sub-agent receives conflicting signals about who it is and who it's talking to, it can make incorrect trade-offs about tone, format, and content of its output.
Suggested fix
Rewrite the extra notes to match the sub-agent context:
- Replace "the user" with "the parent agent" or remove the audience reference entirely
- Replace "the assistant" with "you" to match how agents are addressed throughout the rest of the system
- Or simply align with the existing task tool prompt wording: "For clear communication, avoid using emojis."
Related
- #30730 — the emoji prohibition in these same notes conflicting with custom agent prompts (
.claude/agents/) - #25327 — CLI wrapper/system-reminder injections conflicting with user workflows
- #18560 — system-reminder containing contradictory instructions
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗