Feature request: sync local Codex CLI conversations with the matching Codex App project
What variant of Codex are you using?
App and CLI (local repositories on macOS)
What feature would you like to see?
I would like optional cross-surface conversation continuity between the Codex desktop app and Codex CLI.
My workflow:
- I use the Codex desktop app to organize local projects, plan work, retain project context, and review changes.
- I use Codex CLI in the same local repository for terminal-based implementation.
Requested behavior:
When a Codex CLI session is started from a repository that matches a local Codex App project, make that CLI conversation discoverable from the matching project in the desktop app.
Desired capabilities:
- Show CLI tasks in the matching local project
- Open the CLI transcript from the desktop app
- Continue or hand off the task between CLI and desktop app
- Clearly label each task as App, CLI, or Cloud
- Show the associated repository path and Git branch
- Allow users to opt out of cross-surface visibility
Why this matters:
Without this, project decisions and implementation history are split between surfaces. I must manually copy summaries, context, and decisions between the app and CLI, which increases duplicated context, token usage, and the chance of implementation mistakes.
This would make it practical to use the desktop app for project organization and planning, then switch to CLI for terminal execution without losing the reasoning trail.
Additional information
This request is specifically about the official Codex App and official Codex CLI working on the same local repository. I am not requesting synchronization of third-party editor chats, such as Zed.
Feedback ID: 019fa2c5-db26-7cc0-9c07-a6e50ae76838
Codex CLI version: 0.146.0
Platform: macOS on Apple Silicon (arm64)
3 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
After reviewing #35679 and the more directly related #21079 and #21974, I think this request can be treated as a narrower local-first slice of the broader multi-endpoint proposal.
The public app-server/thread-store interfaces already appear to provide much of the required data:
thread/listsupportssourceKindsand exactcwdfiltering.Threadalready exposessource,cwd,gitInfo,status, and the thread ID.thread/readandthread/resume.Possible staged approach
In the desktop App, query
thread/listfor the local project's canonical cwd and include CLI sources. Display those results in the matching project using the existing thread ID rather than copying transcripts into a second store.Open a discovered CLI thread through
thread/read. This gives useful transcript continuity without immediately introducing cross-process mutation risks.Refresh/invalidate App state when the local thread metadata/history changes, or use bounded polling as an initial fallback. This overlaps directly with #21974.
Add App-to-CLI continuation through
thread/resume, but require explicit ownership/handoff or a per-thread lease so two clients cannot start turns on the same thread concurrently.Start with exact canonical cwd matching. Then handle symlinks, moved repositories, and multiple worktrees using
gitInfoplus path identity, without merging unrelated worktrees accidentally.Suggested MVP acceptance criteria
CODEX_HOMEvalues are not mixed.Would maintainers prefer that this issue be consolidated into #21079/#21974, with the project-matching and handoff criteria added there, or kept as a local-project tracking issue? If this direction aligns with the intended architecture, I can next provide a more source-specific implementation/test outline before discussing whether an invited PR would be useful.
yes somewhat similar, but im asking the project level organization of chats throughout cloud, cli and app