[BUG] Desktop (macOS): Claude Projects threads on a local folder create hidden phantom sessions, and approvals and notifications send you there
Status Open
Reported on v2.1.282
Maintainer reply None cached
Activity 3 comments · opened Sep 25, 2026
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?
What's wrong
When a new claude.ai Project thread runs on my Mac (Remote Control, local folder), the desktop app backs it with a Code session. From the user's side this reads as a broken, half-hidden duplicate of the thread:
- Notifications and approvals send me to the hidden session. I get a notification to approve something; clicking it opens that backing session, not the Project thread. So I have to interact in two places for one conversation.
- The session is a ghost. It does not appear in the Code tab session list or in my past sessions, and pinning it does nothing. The only way to reach it is through a notification.
- It shows raw internals. The system envelope around each Project message (
<wake>,<project>,<message trigger="true" ...>tags), tool calls and the agent's internal notes, in English, while the thread is in Portuguese. Nothing says it belongs to a Project thread, and there is no link back. - Bypass never applies. Every thread shows "Bypass permissions isn't available for this session. Asking for permissions instead." even with
defaultMode: bypassPermissionsand bypass allowed in Settings. Broadpermissions.allowrules cover Bash/Edit/Write, but Run In Terminal always asks ("Claude is working on a message sent from another device"), with no setting to turn that off. - No panes in the thread. The browser pane, terminal and the Run button on suggested commands are not reachable from the Project, even though the agent can use them.
Expected
- The Project thread is the only surface. Approval prompts and notifications land in the thread.
- The backing session is either fully hidden, or listed, pinnable and clearly labeled as belonging to the thread, with a link back, and rendered like a normal session (no raw envelope markup).
- Opt-in bypass permissions applies to Project threads running on my own machine, including Run In Terminal.
- The Project thread can show (or link to) the browser and terminal panes.
Related
#96818, #96115, #96490, #97058
Environment
Claude Code 2.1.282, Claude desktop app on macOS (Apple Silicon), Project threads in Remote Control mode on a local folder.
What Should Happen?
We shouldnt have to see or deal with the hidden session, only the thread session from projects. We also should have the built-in terminal, browser, etc in these new threads.
Error Messages/Logs
Steps to Reproduce
- In
~/.claude/settings.json, set"permissions": { "defaultMode": "bypassPermissions" }and turn on "Allow bypass permissions mode" in the desktop app's Settings → Claude Code. - In claude.ai, open a Project, add a local folder on this Mac (Remote Control), and start a thread there with any task that needs a shell command.
- Observe the toast on the Mac: "Bypass permissions isn't available for this session. Asking for permissions instead."
- Have the agent in the thread call Run In Terminal (e.g.
echo test; exit). A macOS notification asks for approval. - Click the notification. It opens a Code tab session showing the raw
<wake>/<project>/<message>envelope of the Project messages, tool calls and internal notes, not the Project thread. - Look for that session in the Code tab sidebar and past sessions: it is not listed. Try to pin it: nothing happens.
- Approve the prompt there with "Allow once". The thread continues, but the approval never appeared in the Project thread itself.
- Add
"Bash","Edit","Write"and"mcp__terminal"topermissions.allowand repeat step 4: Bash no longer prompts, but Run In Terminal still does.
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.9939.2 desktop
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
3 Comments
Same on Windows (Claude desktop app, Code tab), and it's worse there: the session can end up completely unreachable.
Steps
Expected: the session is listed in the sidebar (ideally linked to its Project thread), or the notification opens the Project thread itself.
Actual:
Environment: Windows 11 Home 26H2 (build 26300), Claude desktop app 2.19675.0.0, Project thread on a local folder via Remote Control.
Possibly related: #90156 (Windows notification click leaves the window frozen).
---
_Generated by Claude Code_
Additional Windows findings from October 7, 2026: the pin persists in local metadata, but the Code sidebar does not display the session.
Environment
Observed behavior
A read-only inspection of the exact session record under
%APPDATA%\Claude\claude-code-sessions\<account>\<org>\local_<id>.jsonconfirms:The direct
claude://claude.ai/epitaxy/local_<id>link identifies the same saved local session. Its record and the task's output files remain on disk. This points to a sidebar visibility or session-index problem, rather than failure to persist the pin.One diagnostic caveat: the normal
list_sessionstool deliberately excludes its own caller. A result with only one other session does not establish that the current session disappeared. The relevant evidence here is the saved pin state plus the missing sidebar entry. Anthropic documents this limit.The record retains cached Remote Control identifiers. Those identifiers do not establish a live connection. I did not verify the reported connection loss or the cause of the sidebar exclusion.
Expected: a pin accepted by a local Code session appears in the sidebar. If the sidebar cannot display Project workers, the app explains that restriction and provides a reliable route back to the Project thread.
No session metadata or application files changed during this inspection. Account identifiers, session identifiers, and private paths are omitted from this comment.
Same on Linux (Ubuntu 26.04.1 LTS, LXQt, Claude Desktop 2.31226.0, Project thread on a local folder via Remote Control).
Everything described above matches: the backing Code session is not in the sidebar, it shows the raw
<wake>/<project>/<message>envelopes, and the terminal that the agent opens with Run In Terminal is not visible anywhere in the Project thread (also not when the thread is popped out into its own window). The only way I found to reach it wasxdg-open "claude://claude.ai/epitaxy/<session_id>".One more inconsistency on top of that: the ⋮ menus differ between the two views.
So from the view where the terminal actually lives, there is no way to report a problem.
_Written with Claude Code, verified on my machine._