Repository navigation
Codex Mobile Remote project assignment does not reconcile with Desktop project assignment #35972
Description
Summary
When using Codex Mobile Remote connected to a desktop Codex host, a project/task created from the mobile Remote UI can appear as a project on mobile, but the same work appears on desktop only as a standalone/ordinary conversation rather than as a chat inside the corresponding desktop local project.
If the user then creates the matching project on desktop and moves or continues the conversation there, the original mobile-visible project shell remains on mobile. It does not appear to merge, disappear, or update to reflect the desktop-side project assignment.
This creates two visible project-like entry points for the same body of work and becomes confusing over time.
Important clarification
This report is specifically about ChatGPT mobile app > Codex Remote / Remote connection controlling a desktop Codex host. It is not about ordinary ChatGPT mobile projects.
Remote should use the connected host's projects, chats, files, credentials, permissions, plugins, and local tools. The issue is that the mobile Remote project/list projection and the desktop project assignment appear to diverge.
Reproduction pattern
Exact app versions were not captured, but the user-visible flow is:
- Open Codex Mobile Remote on the phone and connect to a desktop Codex host.
- From the mobile Remote UI, create a new project/task.
- On the phone, the new item is displayed as a project.
- Open Codex/Desktop on the connected computer.
- The same work appears as a normal standalone conversation, not as a chat under a desktop local project.
- On desktop, create the corresponding local project and move/continue the conversation there.
- Return to the mobile Remote UI.
- The original mobile-created project shell is still visible on mobile instead of being merged, removed, or reassigned to the desktop project.
Actual behavior
- Mobile Remote displays a project-like item.
- Desktop displays the same work as an ordinary conversation or under a different project context.
- Creating the corresponding desktop local project does not reconcile the mobile project shell.
- Moving/continuing the conversation in the desktop project does not update or remove the stale mobile project entry.
- The user has to manually rename, archive, or ignore the stale mobile-side project shell.
Expected behavior
Codex Mobile Remote and Desktop should converge on one authoritative project assignment for work running on the connected host.
At minimum:
- A project/task created from Mobile Remote should clearly indicate whether it is backed by a desktop host project, a local folder, a worktree, or is standalone/unassigned.
- If the corresponding conversation is moved into or continued from a desktop local project, Mobile Remote should update the project assignment and stop showing the stale mobile-only project shell.
- If automatic reconciliation is not supported, the UI should expose a supported manual action such as Move to desktop project, Merge duplicate project shell, or Remove stale Remote project shell.
- The same work should not silently appear as a project on one surface and an ordinary conversation on another.
Why this matters
For users who frequently start or steer work from mobile, the current behavior makes project organization unreliable:
- work accumulates under duplicate project-like entries;
- users cannot tell which project has the real local folder/repository context;
- older mobile-created project shells remain visible after the user has already reorganized the work on desktop;
- long-running projects become hard to navigate and audit.
The underlying transcripts do not appear lost, but project discoverability and assignment are confusing.
Related issues
This looks related to the broader Mobile Remote / Desktop project and thread indexing family:
- Mobile Remote briefly shows a local project/thread, then removes both after sync #24462 - Mobile Remote briefly shows a local project/thread, then removes both after sync
- Codex mobile thread list loses visibility after desktop resume on same host #24464 - Codex mobile thread list loses visibility after desktop resume on same host
- Codex desktop loses local project registrations and hides active threads while CLI/core database remains healthy #34076 - Codex desktop loses local project registrations and hides active threads while CLI/core database remains healthy
- Mobile remote: group Git worktree sessions by repository instead of exact cwd #31623 - Mobile remote: group Git worktree sessions by repository instead of exact cwd
- Cannot create a local Work chat inside a ChatGPT Project (Windows Desktop App) #34499 - Cannot create a local Work chat inside a ChatGPT Project (Windows Desktop App)
- Windows: sidebar shows 'No chats' in project folders because cloud sync rewrites threads.cwd with \\?\ extended-length prefix #27243 - Windows path normalization can make project folders show "No chats"
This report is not exactly the same as those: the specific user-visible problem is a mobile Remote-created project shell remaining separate after the user creates/reconciles the corresponding project on desktop.
Activity
geauxtigers commentedon Jul 30, 2026
I can also confirm that a remote connection to an existing CLI session creates a separate conversation context. The remote session initially appears to inherit the CLI session’s current context, but subsequent messages sent remotely do not appear in the CLI terminal and are not persisted in that CLI conversation. Remote connect should attach to the same underlying conversation/session, synchronizing messages and context both ways. thread ID: 019fb106-6a01-72a2-9ca6-fc63b0bf777a
4918studios commentedon Aug 14, 2026
I can reproduce a closely related and very clean variant of this on macOS Desktop + ChatGPT mobile Remote:
Actual: the same thread remains associated with Project A on mobile Remote. This is not just a display/organization issue: Remote therefore cannot use the new Project B folder/context for that thread.
Expected: once Desktop reassigns the thread to Project B, Remote should reflect the same authoritative project assignment and load Project B's context/folders.
Troubleshooting already attempted without fixing the stale association:
The stale project association survives both, which suggests the mapping may be persisted upstream / in Remote project-thread metadata rather than only in a mobile cache.
A useful diagnostic may be to compare the project/cwd identity returned for the same thread ID through Remote before and after a Desktop project reassignment.
frogfarewell commentedon Aug 22, 2026
I can reproduce this on Windows Codex Desktop 26.818.5229.0 with ChatGPT mobile Remote, and the local state provides a concrete explanation for the stale assignment.
Reproduction and state evidence
Actual: Mobile Remote still groups the thread under Project A's original directory. Project B shows only threads that were originally created there.
For the moved thread, the Windows host state showed:
thread-project-assignmentsentry pointed to Project B;cwd = <Project B root>;session_meta.payload.cwdstill contained Project A's original root.Mobile Remote followed the original
session_meta.payload.cwd, not the current Desktop project assignment/applied workspace. This strongly suggests that Remote project/thread grouping is keyed by the thread's creation-time cwd rather than the authoritative current project assignment.I also confirmed the same behavior with an older thread whose original cwd was a parent workspace directory. Although Desktop had since assigned that thread to a named local project, Mobile Remote continued to expose a stale top-level
workspaceproject containing that thread.Additional project-discovery observation
A newly created local Project B used an initially empty folder. It did not appear in Mobile Remote. After adding a README file to that folder, the project appeared in Mobile Remote without re-pairing the device. This suggests that empty local project folders may be omitted from Remote discovery.
Why this is high impact
A common workflow is:
Today, Desktop shows the reorganized structure, while Mobile Remote reconstructs the old creation-time structure. Projects can therefore appear empty, contain conversations that were moved elsewhere, or leave stale parent-workspace shells behind. Multi-folder desktop projects compound the problem because Remote currently presents only one folder.
Expected behavior
Desktop's current project assignment should be authoritative across Desktop and Mobile Remote. After a thread is moved:
If automatic reconciliation is intentionally unsupported, the UI needs an explicit supported action to re-home/reconcile a thread for Remote.
qijiu79-79 commentedon Aug 24, 2026
I can reproduce this on the current macOS ChatGPT/Codex desktop app and ChatGPT iOS Remote. This is a privacy-scrubbed report; no screenshots, project names, local paths, host names, account identifiers, thread IDs, or raw logs are included.
Environment
26.818.41705(build6971)0.149.0-alpha.4.11.2026.224Reproduction
project_idisNULL.Host-side findings
This is consistent with Remote reconstructing project presentation from historical/bounded thread or
cwdmetadata, or from a separate stale projection, instead of treating the Desktop saved-project catalogue and currentproject_idassignment as authoritative.Expected behavior
project_id, not only thecwd.The local conversation data remains intact; the failure is specifically in Remote project discovery, assignment, and reconciliation.
sakekasunuts commentedon Oct 10, 2026
Additional occurrence observed on 2026-10-10, with read-only host-side state checks. This matches the initial mobile-created-project / desktop-standalone-chat symptom in this issue; the later move/reconciliation steps have not been tested in this environment.
Environment
OpenAI.Codex 26.1002.7124.0.Observed behavior
Read-only host evidence
projects/project_rootstables likewise contain only those three saved projects, with no registration for either affected root.threadshave the expected local working directory butproject_id = NULL.\\?\C:\Users\<redacted>\Projects\<redacted>. Unlike the path correlation described in [iOS Remote on Windows] Three projectless-chat cwd labels appear in Projects #36417, these two affected rows do not use/mnt/cor mixed Windows/WSL syntax.These observations establish a mismatch between mobile project presentation and the host's saved project catalogue / assignments. They do not establish that two different persistent project IDs exist: the host has no saved project or assigned project ID for either affected entry, and the mobile-side identity has not been inspected.
Expected behavior
Starting work from a host project in Mobile Remote should preserve an authoritative project registration and thread assignment that Desktop also recognizes. If a mobile heading is only a working-directory grouping, the UI should distinguish that from a saved project and provide a supported way to reconcile the two views without creating duplicate entries or moving files.
This was not a clean-install reproduction. No project records were edited and no duplicate desktop project was created as a workaround. Screenshots were inspected locally but are omitted here because they contain private project names and conversation titles. Usernames, host names, full paths, project/thread IDs, and raw logs are also omitted.
Related presentation mismatch: #47963.
foo-hao commentedon Oct 15, 2026
[macOS + iOS Remote] iOS-created chat missing from a later-added Desktop project; explicit assignment restored visibility
Additional occurrence observed on 2026-10-15 (Asia/Singapore). This adds the mobile-first creation order and a confirmed recovery outcome to this issue.
Environment
arm64).User-reported trigger and recurrence
The user says this happens every time they follow this order. This is a report from normal use, not a fresh controlled reproduction. No test project/chat was created for this feedback.
Verified state before and after recovery
Before recovery:
list_threadsandread_threadtools could find/read the same chat, with its conversation content intact and the expected working directory.projectIdwasnull.Recovery and verification:
move_thread_to_projecttool to assign the existing chat to the already existing Desktop project.list_threadsand confirmed that the intended project ID was now persisted.navigate_to_codex_page.This establishes a successful recovery sequence for this occurrence. It does not isolate which step changed rendering or prove the underlying cause.
Expected behavior and requested improvement
When a local Desktop project is added, please reconcile eligible existing chats on the same host whose working directory matches that project's root. Where assignment is ambiguous, offer a clear Find existing chats / Assign to this project recovery action instead of silently leaving earlier mobile-created work undiscoverable under the project.
Please also make project membership consistent and understandable between iOS Remote and Desktop, including when the chat predates the saved Desktop project.
Evidence limits
projectIdwas alsonull. ThereforeprojectId = nullalone is not established as a sufficient explanation.Private project names, paths, conversation titles/content, account and host identifiers, project/thread IDs, screenshots, and raw logs are omitted. No project files, configuration, or other chats were changed for this feedback.