[BUG] Bash tool silently returns empty output - commands don't execute
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?
The Bash tool intermittently stops working mid-session. All commands return "Tool ran without output or errors" — including trivial ones like echo "test", whoami, ls. Commands don't actually execute (no files created, no side effects, no stdout/stderr). Other tools (Read, Write, Edit, Grep, Glob) continue working fine. Once it breaks, it stays broken for the entire session. Restarting Claude Code does not reliably fix it.
What Should Happen?
Bash tool should execute commands and return their output consistently throughout the session.
Error Messages/Logs
No error messages — that's the problem. Every Bash call returns the generic "(Bash completed with no output)" or "Tool ran without output or errors" response regardless of the command. No stderr, no exit codes, nothing.
Steps to Reproduce
Steps to Reproduce
▎ 1. Start Claude Code session (v2.1.92, macOS Darwin 24.6.0, zsh)
▎ 2. Use normally — Bash tool works initially
▎ 3. At some unpredictable point, all Bash calls start returning empty
▎ 4. Verify with trivial commands: whoami, echo "test", ls — all empty
▎ 5. Other tools (Read, Write, Grep, Glob) still work
▎ 6. Restarting the session does not fix it
▎ 7. No hooks, custom settings, or sandbox config involved — clean setup
Claude Model
Opus
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.1.92
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
Reproduces across terminals: Terminal.app, Cursor, VS Code integrated terminal — same behavior in all.
Key observation: Only the Bash tool breaks. Read, Write, Edit, Grep, Glob, and MCP tools (Slack) all continue working normally in the same session. This suggests the issue is specific to the Bash/process-spawning layer, not a general tool execution problem.
No hooks or custom config: Clean setup — no user hooks, no sandbox overrides, no custom settings that could interfere.
Session pattern: Bash works fine at the start of a session, then silently stops at some unpredictable point. Once broken, it never recovers within that session.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗