[BUG] "Open in desktop app" (code-session teleport) opens a blank window and hangs the whole app

Open 💬 1 comment Opened Jun 27, 2026 by CyberStrike

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?

Summary

Clicking the "open in desktop app" handoff link from a web Claude Code session
(claude://claude.ai/code/session_<id>) opens an empty white child window titled
"Code" and never loads the session. The dead renderer then drags the main
webview into an unresponsive state
, freezing both windows. The desktop app
recognizes the teleport feature is disabled (code session deep link gated off)
but still spawns the window instead of failing gracefully.

Severity

Medium–High. App-wide hang (both windows unresponsive) triggered by a built-in,
clickable link. The app auto-recovers via "kill and reload" after ~1–2 min, so it
is not a permanent crash, but it is fully reproducible and locks up active work.

Environment

  • Claude desktop: 1.15962.0 (build 1.15962.0) — latest available
  • Bundled Claude Code CLI: 2.1.187
  • macOS: 26.5.1 (25F80), Apple Silicon (arm64)
  • URL scheme handler correctly registered: claude -> com.anthropic.claudefordesktop
  • Installation ID: <paste from Help -> Troubleshooting -> Copy Installation ID>

Actual result

  • Blank white "Code" window (no UI ever renders).
  • Main webview becomes unresponsive; app freezes, then auto kill-and-reloads.

Expected result

  • Either the session loads in the desktop app, or — if the teleport feature is

gated off for this build/account — the link is declined silently (or with a
small notice) without opening a renderer and without hanging the app.

What Should Happen?

The web link should open the desktop app without failing

Error Messages/Logs

main.log — handler explicitly gates the deep link off, matching each click:

2026-06-26 10:55:18 [info] Remote control enabled: https://claude.ai/code/session_01UKupMAD49N9neti4q1oBic
2026-06-26 16:43:07 [info] claudeURLHandler: code session deep link gated off
2026-06-26 16:43:32 [info] claudeURLHandler: code session deep link gated off


main.log — main webview hangs and is force-reloaded (recurs):

2026-06-26 16:35:23 [info] Main webview is unresponsive, will kill and reload
                           value: 'Main webview became unresponsive'
2026-06-26 16:56:52 [info] Main webview is unresponsive, will kill and reload
                           value: 'Main webview became unresponsive'


unknown-window.log — the blank "Code" renderer throws on init and never mounts:

[error] Setting the document's base URI to 'https://claude.ai/' violates the
        following Content Security Policy directive: "base-uri 'none'".
        The action has been blocked.
[error] Uncaught (in promise) Error: Error invoking remote method
        '...claude.buddy...BuddyBleTransport_$_reportState':
        No handler registered for '...BuddyBleTransport_$_reportState'

Steps to Reproduce

  1. Start a Claude Code session in the web app (claude.ai/code).
  2. Click the "open in desktop app" link, i.e. claude://claude.ai/code/session_<id>.
  3. Observe a new child window titled "Code" open as a blank white pane.
  4. The session never loads; within ~1 min both the "Code" window and the main

window become unresponsive.

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

Claude 1.15962.0 (039543) 2026-06-25T01:24:19.000Z

Platform

Other

Operating System

macOS

Terminal/Shell

Other

Additional Information

Screenshot

<img width="1728" height="1117" alt="Image" src="https://github.com/user-attachments/assets/732abc5b-118d-4cd9-a81c-e8e2466dbb54" />

Notes

  • No native crash report is generated (nothing in ~/Library/Logs/DiagnosticReports),

consistent with a renderer hang rather than a process crash.

  • The session itself is fine and remains remote-controllable from the web; only the

desktop's local adoption of the session fails.

  • A full diagnostic bundle is available via Help -> Troubleshooting -> Generate

Diagnostic Report (attach on request; it contains raw logs).

Suggested fix

When claudeURLHandler determines the code-session deep link is gated off, return
early before creating the child BrowserWindow, so no empty renderer is spawned
and the main webview is not affected.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗