[BUG] Tool results returning "[Tool result missing due to internal error]" for Bash and Read

Open 💬 3 comments Opened Jun 14, 2026 by AlexMata1225

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

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗