anthropics / anthropics/claude-code
macOS: claude:// gets registered to the Electron helper bundle, login fails with Finder error -600
- Dominant language
- Python
- Stars
- 145k
- Forks
- 23.1k
- PR merge metrics
- PR metrics pending
Description
Claude Desktop 1.24012.9, macOS 26 (Darwin 25.3.0).
After the browser login flow, macOS shows a Finder dialog "Unable to open the application. -600" and the app never receives the callback.
Cause: the `claude://` URL scheme handler in LaunchServices is set to `com.anthropic.claudefordesktop.helper` instead of `com.anthropic.claudefordesktop`. All four helper bundles inside `Contents/Frameworks` share that same identifier and none of them is launchable, so `LSOpenURLsWithRole` fails with `procNotFound` (-600).
It looks like `app.setAsDefaultProtocolClient` is being called from a helper process: `NSWorkspace.urlForApplication(toOpen:)` resolves `claude://` to `Claude Helper (Plugin).app`. The registration is rewritten by the app itself, observed 9 seconds after launch and again within minutes while the app was already running, so fixing the handler manually does not stick.
Workaround for users: the "Sign in with code" link on the login page avoids the `claude://` callback entirely.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing the app.setAsDefaultProtocolClient call and which Electron helper process performs it, then inspect how the Claude Desktop bundles register with LaunchServices. Reproduce the login flow and verify that claude:// resolves to the main com.anthropic.claudefordesktop bundle and the callback reaches the app without Finder error -600.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron, macos
- Domain
- authentication, desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100