Codex App groups chats under the topmost saved project when multiple saved projects share a repo
Summary
Codex App appears to group chats under whichever saved project is highest in the sidebar when multiple saved projects point to different worktrees or clones of the same Git repository. The chat grouping changes when the project order changes, even though the underlying Git worktrees and branches are correct.
Environment
- Product: Codex App desktop
- Host type: remote SSH host
- Repository: private/user repository, same Git remote shared by all saved projects
- Saved projects involved: multiple sibling directories representing separate Git worktrees or a standalone clone of the same repository
Example anonymized layout:
~/projects/repo-main -> branch main-or-feature-a
~/projects/repo-worktree-a -> branch feature-a
~/projects/repo-worktree-b -> branch feature-b
~/projects/repo-standalone -> branch feature-b, standalone clone of the same remote
Actual Git state
The underlying Git state appears correct and separated. Each directory reports the expected top-level path and branch when checked in the terminal.
Example diagnostics:
git worktree list --porcelain
git -C ~/projects/repo-main status --short --branch
git -C ~/projects/repo-worktree-a status --short --branch
git -C ~/projects/repo-worktree-b status --short --branch
Representative anonymized output:
worktree ~/projects/repo-main
branch refs/heads/main-or-feature-a
worktree ~/projects/repo-worktree-a
branch refs/heads/feature-a
worktree ~/projects/repo-worktree-b
branch refs/heads/feature-b
For Git worktrees, each secondary checkout also has a private .git pointer like:
~/projects/repo-worktree-a/.git:
gitdir: ~/projects/repo-main/.git/worktrees/repo-worktree-a
~/projects/repo-worktree-b/.git:
gitdir: ~/projects/repo-main/.git/worktrees/repo-worktree-b
Observed behavior
- With saved project A above saved project B in the project list, chats from this shared repository appear under project A.
- After removing project A from the Codex sidebar, the same chats appear under project B.
- After adding a standalone clone of the same repository and moving it above project B, the same chats appear under the standalone clone.
- Moving project order changes where chats appear, even though the actual thread
cwd, Git worktree, and branch do not match the project shown in the sidebar.
In one inspected thread, the sidebar/project grouping showed one saved project while the actual thread metadata / terminal state indicated a different cwd.
Expected behavior
Chats should be grouped under the saved project whose path matches the thread's actual project path / cwd, not whichever saved project is first in the sidebar among projects sharing the same Git repository or remote.
Why this looks like a Codex App project-indexing bug
The underlying Git worktrees are not mixed. Each worktree has a separate private .git pointer and a distinct branch. The problem seems to be in Codex App's sidebar/project chat grouping logic when multiple saved projects correspond to the same repository or Git identity.
Notes
Screenshots were captured locally showing the same chats moving between different saved projects as project ordering changed, but I am filing this through the GitHub connector and cannot attach local images directly from here.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗