Teleported Claude Code session (no local session file) shows frozen in desktop app with no way to end it
Open 💬 0 comments Opened Jul 15, 2026 by MinnieVon
Environment:
- Claude desktop app version: 1.21459.0 (auto-updated mid-session from 1.20186.1)
- Claude Code CLI: 2.1.209 (native install), old npm install also present at /usr/local
- macOS (Darwin 25.5.0)
Summary:
A Claude Code chat opened via "teleport" (session_017Bm7gRq3gstJ5a3nxLBcQV, titled "Build AI-native company as Chief Operating Officer") appears frozen/non-responsive in the desktop app UI — the orange "working" indicator shows activity but no output ever renders, even after ~1 minute.
Steps to reproduce:
- Open a Claude Code chat in the desktop app backed by a teleported session.
- Send a message.
- App shows the orange "working" indicator but never renders a response.
- Fully quit and relaunch the app (Cmd+Q → reopen) — chat still shows frozen on the same session after reopening.
Root-cause leads found while investigating:
- Orphaned session record. Every other local Cowork session has a corresponding
local_<uuid>.jsonfile under~/Library/Application Support/Claude/local-agent-mode-sessions/.../containingcwd,userSelectedFolders,title,isArchived, etc. This teleported session (session_017Bm7gRq3gstJ5a3nxLBcQV) has no matching file anywhere in~/Library/Application Support/Claude/(confirmed via full recursive grep for the session ID). It appears to have no local root folder/session record at all, which likely explains why:
- There is no visible "End chat"/"Archive"/"Close session" control for this chat, unlike every other session.
- The app's UI cannot correctly sync/render its state.
- "Open in Terminal" doesn't open a terminal for this session type. For this teleported chat, that option instead copies the reconnect command (
claude --teleport session_017Bm7gRq3gstJ5a3nxLBcQV) to the clipboard, unlike other local Cowork sessions which open a terminal window directly.
- The backend itself is NOT hung. The underlying process (confirmed via
ps/lsof) is alive and actively consuming CPU — the freeze is purely in the app's rendering/management of the session, not the backend.
- Stale binary resolution causes repeated auto-update failures. This session's backend process was started (16:23 today) after running
claude installto switch to the native installer, yet it's still running the old npm-installed binary (/usr/local/lib/node_modules/@anthropic-ai/claude-code/bin/claude.exe, owned by root, unwritable). This is because the desktop app is a GUI app and doesn't source~/.zshrc(whereclaude installadds~/.local/binto PATH), so it continues resolvingclaudeto the old root-owned npm shim at/usr/local/bin/claudeand repeatedly hits "Auto-update failed: no write permission to npm prefix." This likely affects all Cowork/teleported sessions spawned by the desktop app on machines with a legacy npm install, even after switching to the native installer.
Expected behavior: Either the chat should render the live backend's responses correctly, or there should be a way to end/archive a stuck teleported session from the UI even when no local session record exists. Separately, the desktop app should resolve the native Claude Code binary (or at least stop hitting an unwritable path) regardless of the parent process's PATH.