[BUG] Tool results returning "[Tool result missing due to internal error]" for Bash and Read
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
In a Claude Code session, every tool call (both Bash and Read) returned [Tool result missing due to internal error] instead of actual output. The model issued the call, but no result made it back. Reproduced across multiple consecutive calls in the same session.
Steps:
Open a Claude Code session.
Ask the model to run any trivial Bash command (e.g. echo hi).
Result comes back as [Tool result missing due to internal error].
Same failure on Read of a known-good file path.
Environment:
Platform: macOS (Darwin 24.6.0)
Shell: zsh
Model in use: claude-opus-4-8[1m] (also seen after switching to claude-opus-4-7[1m])
Working dir: a normal git repo, no unusual permissions
Expected: Tool result returned (stdout for Bash, file contents for Read).
Actual: [Tool result missing due to internal error] on every call.
Workarounds tried: Retrying the same call, switching tools (Bash → Read) — both keep failing identically, which points at the tool-execution layer, not the command.
What Should Happen?
The tool call should execute and return its actual result to the model — stdout/stderr for Bash, file contents for Read — so the model can act on the output and continue the task. Instead, every call returns the placeholder string [Tool result missing due to internal error], which leaves the model unable to make progress. Even if the underlying tool genuinely failed, the harness should surface the real error (exit code, stderr, exception) rather than a generic "internal error" sentinel, so the failure is diagnosable.
Error Messages/Logs
Error string returned in place of tool results (every call):
[Tool result missing due to internal error]
Reproduction trace (Bash):
Tool: Bash
Command: echo "bash alive: $(date)"
Result: [Tool result missing due to internal error]
Reproduction trace (Read):
Tool: Read
file_path: /Users/<me>/Projects/.../CLAUDE.md
limit: 2
Result: [Tool result missing due to internal error]
No stderr, no exit code, no stack trace was surfaced to the model, just the placeholder string above.
Steps to Reproduce
1.Open a Claude Code session on macOS (Darwin 24.6.0, zsh) on model claude-opus-4-8[1m].
2.Ask the model to run a trivial Bash command, e.g. "run echo hi".
3.Observe the tool result: [Tool result missing due to internal error] instead of hi.
4.Ask the model to do a trivial Read of a known-good file path (e.g. the project's CLAUDE.md, first 2 lines).
5.Observe the same placeholder: [Tool result missing due to internal error].
6.Switch model to claude-opus-4-7[1m] via /model and repeat steps 2–5 — same failure.
7.Frequency: 100% in the affected session — every Bash and Read call in a row returned the placeholder. Not yet 8.retested in a fresh session (will update the issue if a restart clears it).
No special setup required: plain git repo as the working directory, no unusual permission mode, no custom hooks involved in the failing calls.
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.177
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
Claude desktop app (com.anthropic.claudefordesktop) — not a terminal emulator; CLAUDE_CODE_ENTRYPOINT=claude-desktop
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗