[BUG] Custom URL scheme links (message://) not opened by OS in Claude Desktop — same root cause as #26952
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?
MailMate's MCP server returns message://<id>@... deep links so users can jump from a chat digest straight to a specific email. Claude Desktop renders these as clickable markdown links and shows the "Open external link" confirmation dialog, but clicking "Open link" does nothing — the URL never reaches macOS Launch Services.
What Should Happen?
MailMate activates and navigates to the specified message (same behavior as running open "message://<id>" in Terminal, which works correctly).
Error Messages/Logs
Steps to Reproduce
Connect the MailMate MCP server in Claude Desktop.
Ask Claude to produce a digest of inbox messages with message:// backlinks.
Click any resulting link, confirm the "Open external link" dialog.
Observe: MailMate does not open/navigate to the message.
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.207
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
iTerm2
Additional Information
Root cause (per #26952): Claude Desktop's Electron link handler appears to allow only http:///https:// through to shell.openExternal(), silently dropping other registered schemes before the OS ever sees them.
Suggested fix: Same as #26952 — pass through any URL scheme registered with the OS (or at minimum, schemes present in a small allowlist / schemes the MCP response explicitly marks as safe) to shell.openExternal().
Related: anthropics/claude-code#26952
Bug analysis and suggested value come straight from claude Sonnet 5 high.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗