Claude Desktop auto-updater silently uninstalls Claude Code CLI
Resolved 💬 2 comments Opened Mar 13, 2026 by cday-with-ai Closed Apr 10, 2026
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
claudebinary was replaced - Wrapper scripts broken: Custom wrapper scripts pointing to
/opt/homebrew/bin/claudestarted 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/claudenow launches Cowork instead of Claude Code - All automation depending on
claudeCLI 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
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗