[macOS][SSH Remote] Duplicate host aliases make pinned/project chats disappear with no supported merge path
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
What version of the Codex App are you using (From “About Codex” dialog)?
26.908.40834
What subscription do you have?
ChatGPT Enterprise (Figma workspace)
What platform is your computer?
Codex Desktop on macOS/Apple Silicon, connected to a Linux Coder devcontainer over SSH.
What issue are you seeing?
One SSH/devcontainer endpoint can be registered under both a manual connection and an auto-discovered connection. The remote session store is shared, but pins and project/sidebar associations are keyed to the local host identity. Pinned remote chats repeatedly disappear after reconciliation even though direct reads through both host identities return identical task IDs, titles, updated timestamps, and latest turns, and the task inventory still says they are pinned. Re-pinning restores them only temporarily. A read-only audit verified 14 affected histories are intact and identical through both aliases.
What steps can reproduce the bug?
- Add a manual SSH connection to a Coder devcontainer.
- Let Codex auto-discover the same devcontainer SSH alias.
- Save projects for the same remote paths under both host identities.
- Create and pin long remote chats.
- Restart/refresh or trigger connection/project reconciliation.
- Observe duplicate project identities and missing pinned/project chats.
- Directly read/resume the same task IDs through both host identities; histories remain intact.
- Re-pin; visibility returns temporarily and later disappears.
Supported consolidation is blocked: cross-host handoff rejects non-Git projects, and a Git-backed long/paginated canary is also rejected. Both failures occur before mutation.
What is the expected behavior?
Connections resolving to the same SSH/devcontainer endpoint should deduplicate or share a stable canonical identity. Pins and explicit project assignments should survive alias reconciliation. Provide a supported merge-connections/project-reassociation repair path, or warn instead of presenting apparent data loss.
Additional information
This is project/sidebar identity drift, not transcript loss. Related: #28348, #30808, #33771, #44048. Host aliases, task IDs, titles, and business content are redacted; exact identifiers can be provided privately.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by tracing the remote session store, host-identity reconciliation, and the pin/project association paths, then inspect the cross-host handoff validation that rejects the reported cases. Done means duplicate SSH/devcontainer aliases have a stable canonical identity, pins and project assignments survive reconciliation, and a supported repair path or warning exists.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop, networking
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100