[Bug] Injected system prompt lines override user CLAUDE.md and memory instructions
Bug Description
Title: Injected session-prompt line "Do not call the AgentTool unless the user requested it" overrides user CLAUDE.md and memory — please remove or make it lose to user instructions
What happens
My session system prompt carries two harness-injected lines I never wrote and cannot find in any local config:
- Do not call the AgentTool unless the user requested it
- Do not use workflows or deep-research unless the user requested it
They are not in ~/.claude.json, ~/.claude/settings.json, settings.local.json (user or project), ~/.claude/CLAUDE.md, or ~/.claude/output-styles/. Verified by grep. So they're server-side.
Why it's a bug, not a preference
I have a standing, repeatedly reinforced instruction in project memory: FIND/search work → explore subagent, haiku, fire without asking. Recorded 2026-07-14, reinforced 2026-07-16, precisely because inline semble/grep burns main context on long debugging sessions.
Claude read that memory, then obeyed the injected line instead and ran the searct mid-turn and swear at it to get the delegation my own config already mandated.Same session, it also had to be told twice.
The model's own explanation of the failure: it treated the harness line as outranking user instruction, partly because memory is delivered inside <system-reminder> blocks which it's told to treat as "background context, not user instructions".
The two real problems
1. Priority is inverted. Documented order is user instructions > skills > systemves like a hard constraint instead of a default, so a standing user rule loses toit.
2. A standing rule IS "the user requested it". The condition on that line only rrn request. Anything durable — CLAUDE.md, memory — doesn't count. That's the whole failure.
Asks, in order of preference
1. Remove the injection. If it's an A/B arm, let me opt out.
2. If it stays: make it explicitly yield to CLAUDE.md and memory — e.g. "unless cluding via standing instructions in CLAUDE.md or memory."
3. Give a local kill switch (settings key or env var). Right now there is nothing on my machine to edit.
4. Separately: memory arriving in <system-reminder> with "not user instructions" framing lets the model demote durable user rules to advisory. Worth revisiting independently of this injection.
Impact: contradicts my configuration, wastes main context, and made me babysit aCost is real — every session I have to catch it manually.
Environment Info
- Platform: win32
- Terminal: vscode
- Version: 2.1.222
- Feedback ID: 6effd287-59ef-4b70-8274-11ac5c73460b
Errors
[{"error":"TelemetrySafeError: VirtualMessageList: itemKeys/messages length desync (keys=40 messages=39 range=[2,40))\n at h8S (B:/~BUN/root/src/entrypoints/cli.js:22821:8181)\n at WXm (B:/~BUN/root/src/entrypoints/cli.js:22821:1103)\n at vn (B:/~BUN/root/src/entrypoints/cli.js:2543:21369)\n at oC (B:/~BUN/root/src/entrypoints/cli.js:2543:40466)\n at OB (B:/~BUN/root/src/entrypoints/cli.js:2543:51390)\n at K2e (B:/~BUN/root/src/entrypoints/cli.js:2543:89052)\n at WRe (B:/~BUN/root/src/entrypoints/cli.js:2543:87996)\n at V2e (B:/~BUN/root/src/entrypoints/cli.js:2543:87815)\n at sO (B:/~BUN/root/src/entrypoints/cli.js:2543:84072)\n at Xe (B:/~BUN/root/src/entrypoints/cli.js:2543:6665)","timestamp":"2026-08-05T05:56:55.380Z"}]This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗