[BUG] Claude Code stopped working after update
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?
Problem: Claude Desktop's Code tab crashes immediately with "Claude Code process exited with code 1" (0 seconds, no response).
Root Cause: The Claude Desktop Electron app (v1.1617.0) has a compatibility issue when directly spawning the bundled Bun-compiled Claude Code binary (v2.1.92). When Electron's
child_process.spawn() launches the Bun binary directly, the process crashes immediately due to inherited file descriptor/signal handling incompatibilities between the Electron
(Node.js) parent process and the Bun runtime.
Contributing factor: The desktop app also sets ANTHROPIC_API_KEY= (empty string) alongside a valid OAuth token (CLAUDE_CODE_OAUTH_TOKEN). The binary may interpret the empty API key as
a set-but-invalid credential and fail before falling back to OAuth.
What Should Happen?
Fix applied: Replaced the binary at ~/Library/Application Support/Claude/claude-code/2.1.92/claude.app/Contents/MacOS/claude with a thin shell wrapper script that calls the original
binary (claude.real). The shell intermediary properly buffers the process environment between Electron and the Bun binary.
Other things cleared during debugging (may need to re-download on next launch):
- IndexedDB database (had stale LOCK file)
- VM bundles (~2GB, re-downloads automatically for Cowork mode)
- Code session cache
Note: This fix may need to be re-applied if the desktop app auto-updates the Claude Code binary, as it would overwrite the wrapper.
This is the summary provided by Claude CLI after fixing the issue. I don’t want to spend my tokens on further fixes for the app.
Error Messages/Logs
2026-04-10 15:02:28 [info] [CCD] Status: ready (version: 2.1.92)
2026-04-10 15:02:30 [info] [CCD] LocalSessions.getDefaultPermissionMode: cwd=/Users/abhisheksinha/Documents/CESS
2026-04-10 15:02:30 [info] LocalSessions.checkGhAvailable: cwd=/Users/abhisheksinha/Documents/CESS
2026-04-10 15:02:37 [info] LocalSessions.checkTrust: cwd=/Users/abhisheksinha/Documents/CESS
2026-04-10 15:02:38 [info] Starting local session local_521e7a88-c0e4-43e3-8564-6e04773d0483 in /Users/abhisheksinha/Documents/CESS
2026-04-10 15:02:38 [info] [CCD] Passing 1 plugin(s) to SDK (skills: 1, remote: 0, local: 0)
2026-04-10 15:02:38 [info] Using Claude Code binary at: /Users/abhisheksinha/Library/Application Support/Claude/claude-code/2.1.92/claude.app/Contents/MacOS/claude
2026-04-10 15:02:38 [error] Session local_521e7a88-c0e4-43e3-8564-6e04773d0483 query error: Claude Code process exited with code 1
2026-04-10 15:02:38 [info] [CCD CycleHealth] unhealthy cycle for local_521e7a88-c0e4-43e3-8564-6e04773d0483 (0s, hadFirstResponse=false, reason=no_response)
And the Electron stderr from launching via terminal:
[ERROR:storage/browser/quota/quota_database.cc:1013] Could not open the quota database, resetting.
[ERROR:content/browser/indexed_db/instance/leveldb/backing_store.cc:251] Failed to open LevelDB database from /Users/abhisheksinha/Library/Application
Support/Claude/IndexedDB/https_claude.ai_0.indexeddb.leveldb, IO error: .../LOCK: No further details. (ChromeMethodBFE: 15::LockFile::1)
And the captured process invocation that revealed the issue (from the wrapper debug log):
ARGS: --output-format stream-json --verbose --input-format stream-json
--effort medium --model claude-sonnet-4-6 --permission-prompt-tool stdio
--allowedTools mcp__computer-use,mcp__ccd_session__spawn_task
--setting-sources=user,project,local --permission-mode acceptEdits
--allow-dangerously-skip-permissions --include-partial-messages
--plugin-dir .../skills-plugin/...
ENV (relevant):
ANTHROPIC_API_KEY= <-- empty string, potential conflict
ANTHROPIC_BASE_URL=https://api.anthropic.com
CLAUDE_CODE_ENTRYPOINT=claude-desktop
CLAUDE_CODE_EXECPATH=/Users/abhisheksinha/.local/share/claude/versions/2.1.100 <-- version mismatch (binary is 2.1.92)
CLAUDE_CODE_OAUTH_TOKEN=sk-ant-oat01-... <-- valid token
CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST=1
Key points for the report:
- Binary v2.1.92 crashes instantly (exit code 1, 0 seconds) when spawned directly by Electron
- Same binary works fine from CLI
- Wrapping it in a shell script fixes it — the shell intermediary between Electron and the Bun binary resolves the spawn issue
- CLAUDE_CODE_EXECPATH points to v2.1.100 while running v2.1.92
- ANTHROPIC_API_KEY is set to empty string alongside a valid OAuth token
Steps to Reproduce
Claude-logs-2026-04-10T09-53-52-824Z.zip
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.100
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
My Claude Desktop version is:
Claude 1.1617.0 (8d6345) 2026-04-09T16:10:15.000Z
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗