[BUG] All tool calls become no-op, returning only the injected "Continue with your original plan." — recovers only after a full restart

Open 💬 0 comments Opened Jul 11, 2026 by muh623

Summary

In a long CLI session, all tool calls (Bash, Read, Glob, Task/subagent) suddenly stopped executing. Each returned no result, and the turn surfaced only the injected synthetic message Continue with your original plan. This persisted across dozens of consecutive tool calls. --dangerouslyDisableSandbox made no difference. Only a full process restart of Claude Code recovered it — resuming/reopening the session did NOT. During the outage the user's own shell (! pwd) returned normally, so the shell/OS was healthy; only Claude Code's tool-execution path was stuck.

In the same degraded window, subagents also returned fabricated outputs (reported non-existent file paths / component names as real), and a phantom user message appeared (see "Related").

Steps to Reproduce

No deterministic repro. Onset occurred mid-session after heavy file reads and a subagent workflow, in a long session where context compaction had occurred. Environment had multiple concurrent sessions in the same project and hooks active.

Expected Behavior

Tool calls should execute, or surface a real error. The harness should not silently replace every tool result with the synthetic Continue with your original plan. message, and recovery should not require a full restart.

Actual Behavior

Total tool-execution outage, masked by the repeated Continue with your original plan. injection. Only a full restart fixed it.

Environment

  • Claude Code v2.1.207 (CLI)
  • macOS (Darwin 25.5.0)
  • Model: Opus 4.8
  • Japanese session; hooks active (UserPromptSubmit, SessionStart)
  • Multiple concurrent sessions in the same project; an hourly scheduled remote agent is configured

Related (distinct, not duplicates)

  • "no visible output" injection-loop family: #70422 / #74013 / #75139 / #75694 — these share the theme of a synthetic continue-prompt loop, but use a different injected string and there the tool does execute (just empty stdout). Here no tool executes and the string differs.
  • Same session also had a phantom user message (already sent via /feedback; related #75675).
  • Private feedback bundle for the full session: Feedback ID c6a719a3-0cc2-4bd1-bba5-d2e217eb68dd.

View original on GitHub ↗