Description
Installing Claude Desktop (or its auto-updater ShipIt) silently removes the Claude Code CLI binary at /opt/homebrew/bin/claude and replaces it with Claude Cowork. This breaks any automation that depends on the Claude Code CLI.
Impact
- Heartbeat daemon down: All scheduled tasks stopped running because the
claude binary was replaced
- Wrapper scripts broken: Custom wrapper scripts pointing to
/opt/homebrew/bin/claude started launching Cowork instead of the CLI
- No warning: No notification, no prompt, no changelog — the binary was silently swapped
- Silent auto-install: The ShipIt auto-updater ran without user consent and modified the global PATH binary
Steps to reproduce
- Have Claude Code installed via
npm install -g @anthropic-ai/claude-code
- Install Claude Desktop (or let it auto-update)
- Observe that
/opt/homebrew/bin/claude now launches Cowork instead of Claude Code
- All automation depending on
claude CLI breaks
Evidence
ShipIt (Claude Desktop's auto-updater) ran at 5:52 PM and modified the claude-code npm package at 5:50 PM:
~/Library/Caches/com.anthropic.claudefordesktop.ShipIt/ShipIt_stderr.log — updated at 17:52
/opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/ — files modified at 17:50
Expected behavior
- Claude Desktop should NOT modify globally installed CLI tools without explicit user consent
- At minimum: prompt the user before replacing an existing binary
- Ideally: Claude Desktop and Claude Code should coexist without interfering with each other
Workaround
# Reinstall Claude Code via npm
npm install -g @anthropic-ai/claude-code
# Verify
claude --version
# Should show: 2.x.x (Claude Code)
Environment
- macOS Darwin 25.2.0 (ARM64)
- Claude Code 2.1.75 (npm)
- Claude Desktop was installed via .app
Description
Installing Claude Desktop (or its auto-updater ShipIt) silently removes the Claude Code CLI binary at
/opt/homebrew/bin/claudeand replaces it with Claude Cowork. This breaks any automation that depends on the Claude Code CLI.Impact
claudebinary was replaced/opt/homebrew/bin/claudestarted launching Cowork instead of the CLISteps to reproduce
npm install -g @anthropic-ai/claude-code/opt/homebrew/bin/claudenow launches Cowork instead of Claude CodeclaudeCLI breaksEvidence
ShipIt (Claude Desktop's auto-updater) ran at 5:52 PM and modified the claude-code npm package at 5:50 PM:
Expected behavior
Workaround
Environment