[BUG] Bash tool fails with "No suitable shell found" on Windows, even with Git Bash + WSL installed (Claude Cowork Desktop)
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?
Environment: Windows 11, Claude Cowork Desktop (versions seen: 2.1.217 and 2.1.218)
Symptom:
The Bash tool consistently fails with:
"No suitable shell found. Claude CLI requires a Posix shell environment.
Please ensure you have a valid shell installed and the SHELL environment variable set."
This happens in a session that was started on one device (PC) and connected to
from a second device (laptop) via /remote-control.
Troubleshooting already done (none resolved it):
- Confirmed Git Bash installed at C:\Program Files\Git\bin\bash.exe
- Set SHELL env var (User scope) to that path; confirmed with a fresh PowerShell
that $env:SHELL correctly resolves to it
- Restarted the Claude Cowork Desktop app
- Fully rebooted the machine
- Installed WSL2 with Ubuntu from scratch (wsl --install)
- Tried the Bash tool with dangerouslyDisableSandbox: true
Relevant findings:
- %APPDATA%\Claude\claude_desktop_config.json has a
"remoteToolsDeviceName": "<laptop-name>" field, suggesting a separate
"remote tools" mechanism for cross-device sessions
- There's a folder %APPDATA%\Claude\claude-code-vm\<version>\claude
(no extension, looks like a Linux binary), suggesting Bash tool execution
may run inside an internal VM/sandbox that is separate from the actual
Windows host environment
Suspicion: shell detection/config may be tied to the original host device
(the PC where the session started) rather than the currently connected
device (the laptop) when using /remote-control, and/or the internal VM
sandbox itself may not have a properly configured shell.
What Should Happen?
The Bash tool should be able to run commands using some POSIX shell available
on the system (Git Bash, installed at C:\Program Files\Git\bin\bash.exe, or
WSL2 with Ubuntu, installed specifically to test this), instead of consistently
failing with "No suitable shell found."
Error Messages/Logs
No suitable shell found. Claude CLI requires a Posix shell environment.
Please ensure you have a valid shell installed and the SHELL environment variable set.
Steps to Reproduce
- Open a Claude Cowork Desktop session on a PC (machine A).
- Run /remote-control and connect to that session from a different laptop (machine B).
- Try running any command with the Bash tool from that session connected via remote-control.
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.218 (Claude Code)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
- OS: Windows 11
- App: Claude Cowork Desktop (versions seen: 2.1.217 and 2.1.218)
- Session connected via /remote-control from another PC
- Git Bash installed at C:\Program Files\Git\bin\bash.exe (confirmed with Test-Path)
- SHELL env var set (User scope) to that path, confirmed in a fresh PowerShell ($env:SHELL)
- WSL2 with Ubuntu installed from scratch (wsl --install) during troubleshooting
- App restarted and machine fully rebooted; error persists unchanged
- Also tried dangerouslyDisableSandbox: true on the Bash tool call, no change
- Relevant findings: %APPDATA%\Claude\claude_desktop_config.json has a
"remoteToolsDeviceName" field (the laptop's name), and there's a folder
%APPDATA%\Claude\claude-code-vm\<version>\claude (no extension, looks like
a Linux binary), suggesting Bash execution may be tied to an internal
"remote tools" mechanism or a VM/sandbox separate from the actual Windows
host environment — possibly pinned to the device where the session
originally started (the PC), not the currently connected device (the laptop).