[BUG] Cowork VM bash tool returns exit code 1 on ALL commands across multiple sessions

Resolved 💬 2 comments Opened Mar 25, 2026 by felixjbpope-max Closed Mar 28, 2026

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?

aThe Cowork VM bash tool returns exit code 1 on every single command, including the most basic ones. This has persisted across multiple separate Cowork sessions over 2+ days (24-25 March 2026).

Every command fails, for example:

  • echo "hello" → exit code 1
  • - pwd → exit code 1
  • - - ls → exit code 1
  • - - - which python3 → exit code 1
  • - - - - pip install weasyprint --break-system-packages → exit code 1

No error output is returned — just a silent exit code 1.

This means it is impossible to:

  • Run any Python or Node.js scripts
  • - Install any packages (pip, npm)
  • - - Execute any shell commands whatsoever
  • - - - Generate files programmatically (PDFs, DOCX, etc.)

The Read, Write, Edit, and Grep tools all work normally within the same sessions. Only the Bash tool is affected. The issue persists across fresh Cowork sessions — closing and reopening does not fix it.

Plan: Claude Max (paid)
Platform: Windows, Claude Desktop app, Cowork mode
Duration: 2+ days, multiple sessions

What Should Happen?

aThe Bash tool should execute commands normally and return their output, as it does in functioning Cowork sessions. Basic commands like echo, pwd, ls, python3, pip, and npm should all work. The VM should be provisioned with a working shell environment including Python 3, Node.js, and standard Linux utilities.

Error Messages/Logs

aEvery Bash tool invocation returns the same result regardless of command:

Command: echo "hello"
Result: Exit code 1 (no stdout, no stderr)

Command: pwd
Result: Exit code 1

Command: which python3 || which python || echo "no python"
Result: Exit code 1

Command: ls /usr/bin/python*
Result: Exit code 2

Command: pip install weasyprint --break-system-packages
Result: Exit code 1

Command: pip install weasyprint --break-system-packages (with full output)
Result: Exit code 120

No error messages, stack traces, or stderr output are returned in any case.

Steps to Reproduce

a1. Open Claude Desktop app (Windows) on the latest version

  1. Start a new Cowork session
  2. 3. Ask Claude to run any bash command, e.g. "run echo hello"
  3. 4. Claude uses the Bash tool — it returns exit code 1 with no output
  4. 5. Try any other command (pwd, ls, python3 --version) — all return exit code 1
  5. 6. Close the session, start a new one — same result
  6. 7. This has been consistent across every session for 2+ days

Note: The Read, Write, Edit, and Grep tools all work normally in the same sessions. Only the Bash tool is broken. This suggests the issue is with the VM's shell/compute environment rather than the session itself.

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

Cowork mode (Claude Desktop app, latest version as of 25 March 2026)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Other

Additional Information

This bug is specifically in Cowork mode (the desktop automation feature in the Claude Desktop app), not Claude Code CLI. The Terminal/Shell field is set to "Other" because Cowork runs commands in a lightweight Linux VM, not a user-facing terminal.

The Bash tool is the only tool affected — Read, Write, Edit, Grep, and all MCP tools (Chrome, Supabase, Open Brain, Asana) work normally in the same sessions.

This issue has also been reported to Anthropic support via the Intercom chat (Conversation ID: 215473624843494) and has been escalated to the human support team.

This is blocking production work on a paid Max plan account. The user relies on Cowork for daily business operations including document generation, code execution, and file processing — none of which are possible without a working Bash tool.

View original on GitHub ↗

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