[FEATURE] Sync conversation history between CLI and Claude Code desktop app
Open 💬 24 comments Opened Feb 26, 2026 by moazam1
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Currently, conversations I have in the Claude Code CLI (terminal) don't show up in the Claude Code desktop app, and vice versa. They're completely separate with no shared history.
It would be great if both interfaces could access the same conversation history. I often start working on a project in the terminal and later want to continue or review that same conversation from the desktop app. Right now there's no way to do that.
Even a read-only view of CLI sessions in the desktop app would be a huge improvement. Being able to resume them from either interface would be even better.
Proposed Solution
- Sync conversation history between the CLI and the desktop app so sessions are accessible from both interfaces
- Allow resuming CLI sessions from the desktop app and vice versa
- Show desktop notifications when Claude needs input or wants to ask a question
Alternative Solutions
_No response_
Priority
Critical - Blocking my work
Feature Category
CLI commands and flags
Use Case Example
_No response_
Additional Context
_No response_
24 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
This is one of the most frequently hit friction points with Claude Code — the CLI and Desktop contexts are completely siloed, so work done in one is invisible in the other.
The underlying issue is there's no shared session identity layer between the two surfaces. The JSONL files exist on disk, but without a unified index that tracks sessions across both environments, you're left doing manual reconciliation.
I've been using Mantra (mantra.gonewx.com) as a cross-surface persistence layer for exactly this — it maintains a unified session timeline that works across Claude Code CLI, Cursor, and Gemini CLI, so you get a single view of all sessions regardless of which tool created them. The 'sync between CLI and Desktop' problem effectively disappears because the canonical record lives outside both.
Would be great to see this solved natively at the session ID level, but until then, a cross-surface aggregation layer is the only reliable workaround I've found.
Being able to seamlessly move between CLI and desktop app would be incredible. Right now the two feel like separate islands.
For what it's worth, claude-brain at least solves the config continuity piece — your settings, skills, and CLAUDE.md stay in sync across environments via git hooks. Conversation history sync would need native support from Anthropic, but having consistent config across both surfaces is a good start.
Do it!!!
In the new desktop app the local conversations show up briefly then disappear again:
https://www.loom.com/share/fb220281fe4c491799d8741f37e30b8b
Please enumerate the local CLI sessions from ~/.claude/projects directly. This would have massive benefit for containerised sandboxed conversations that share a common .claude directory between host and the container.
+1
For me, on Win10, desktop app code chats appear in the CC CLI (but not vice versa).
+1
On Win10, CC CLI projects/sessions don't appear in CC Desktop, would be super useful to have this
+1
+1, please add this feature
I just realized that this started working for me after i signed out and back in to my claude desktop app
+1 need this feature
+1
As an Enterprise user who uses both Claude Code CLI and the desktop app, the lack of shared session history between the two creates real friction. I prefer working in the desktop but the cli has its own advantages and i end up switching between the two. Sometimes I am forced to switch from desktop app to cli because the desktop app would simply not respond. If i forget to start conversation in the desktop app then i have to stay in cli for that problem. the remote control feature does give me a workaround but two way syncing would immensely help
O mundo todo está esperando por isso
+1
+1
As a temp workaround, I created this (vibe coded) script.
How it works:
CLI sessions (~/.claude/projects/) and Desktop app sessions are stored separately and don't sync automatically. This script bridges that gap by creating Desktop-compatible metadata entries that point to your existing CLI session files — no data is copied or duplicated.
~/.claude/projects/for CLI session JSONL fileslocal_<uuid>.jsonmetadata file into~/Library/Application Support/Claude/claude-code-sessions/— the same format the Desktop app uses for its own sessionsDownload & run:
+1
+1
Open the Claude Desktop App & tell it you want all your local chats in the sidebar with project or repowise grouping, and it will do it for you. I have done it for myself using Opus 4.8 (effort max, bypass permissions mode). Hope it solves your issue.
+1
Adding a concrete SSH scenario: with Claude Desktop connected to a remote host via the built-in SSH environment feature, sessions created directly on that same remote host (plain terminal
claude, orclaude remote-control) never show up in Desktop's SSH session list — even after restarting Desktop and reselecting the connection.From a quick look at both sides'
~/.claudedirectories, these seem to be three separate mechanisms with no shared discovery: Desktop's SSH sessions are stored locally on the client machine, plain terminal sessions live on the remote host keyed by working directory, andremote-controlsessions have their own registry on the remote host. The JSONL format looks the same across all three, so it seems like a discovery gap rather than a format incompatibility — worth a look if someone wants to dig in further.New:
<img width="968" height="574" alt="Image" src="https://github.com/user-attachments/assets/9b0462f6-a0d5-43d8-af19-bdd8320abc82" />