# Codex Project Roots

Generated: 2026-05-25 HST / 2026-05-26 UTC

## Purpose

Codex Desktop stores local project/sidebar roots outside each Git repo. After migrating projects from Desktop into iCloud `Shared Projects`, stale Desktop paths can make Codex show `Current working directory missing`.

This document records the standardized Codex root model for Nick's Mac and the path migration performed after the Desktop cleanup.

## Canonical Root

Mission Control suite work should open from:

`~/Library/Mobile Documents/com~apple~CloudDocs/2. Shared CODEX Projects/mission-control-suite/`

The 2026-05-25 migration path below is retained as history for the broader `Shared Projects` migration. For Mission Control dashboard and collector work, prefer the `mission-control-suite` paths.

Do not use migrated Desktop rollback folders as Codex project roots.

## Updated Codex State

Updated local Codex files:

- `~/.codex/config.toml`
- `~/.codex/.codex-global-state.json`
- `~/.codex/state_5.sqlite`
- active thread rollout JSONL under `~/.codex/sessions/`

Backups created before editing:

- `~/.codex/config.toml.bak-20260525-220707`
- `~/.codex/.codex-global-state.json.bak-20260525-220707`
- `~/.codex/state_5.sqlite.bak-20260525-221439`
- `~/.codex/.codex-global-state.json.bak-20260525-221439`
- `~/.codex/sessions/2026/05/25/rollout-2026-05-25T12-16-31-019e6136-080f-7480-b4bd-064bb26362ba.jsonl.bak-20260525-222316`
- `~/.codex/.codex-global-state.json.bak-20260525-222316`
- `~/.codex/state_5.sqlite.bak-20260525-222316`

The update removed stale non-history Desktop project references from:

- trusted project config entries
- saved workspace roots
- active workspace roots
- workspace root labels
- project order
- sidebar collapsed-group keys
- stored thread working-directory rows (`threads.cwd`)
- structured active-thread session metadata and turn context `cwd` fields in the rollout JSONL

Prompt history was not rewritten. Historical prompts can still mention old Desktop paths as text; that is expected and should not affect the active working directory.

Important correction: updating only `config.toml` and `.codex-global-state.json` was not enough. After Codex restarted, `.codex-global-state.json` was repopulated from `~/.codex/state_5.sqlite`, where existing threads still had old `cwd` values. Updating `threads.cwd` was also not enough for the currently open long-running chat because Codex restored the thread working directory from structured `session_meta` and `turn_context` records in the thread rollout JSONL. The durable fix updated structured JSONL `cwd` fields, `threads.cwd`, then rewrote global sidebar state.

## Standard Project Roots

Current standard Codex roots:

- `2. Shared CODEX Projects/mission-control-suite/mission-control`
- `2. Shared CODEX Projects/mission-control-suite/mission-control-collector`
- `Shared Projects/LRWD/localreachwebdesign-com`
- `Shared Projects/LRWD/majorchangeinitiative`
- `Shared Projects/LRWD/majorchangeinitiative-blog`
- `Shared Projects/traveltechus/traveltechus-com`
- `Shared Projects/traveltechus/blog-traveltechus`
- `Shared Projects/alohachallengecoins/acd`
- `Shared Projects/alohachallengecoins/acd-divi-assets`
- `Shared Projects/client-projects/dukeplumb`
- `Shared Projects/client-projects/clsps`
- `Shared Projects/client-projects/kitsapcriminaldefense`
- `Shared Projects/client-projects/laspanishlessons`
- `Shared Projects/client-projects/lacie`
- `Shared Projects/LRWD/ops-docs/cloudflare`
- `Shared Projects/LRWD/ops-docs/codex-notes`
- `Shared Projects/archived-projects/shot-clock`
- `Shared Projects/archived-projects/glass-vodka`
- `Shared Projects/archived-projects/legacy-git-site`
- `Shared Projects/archived-projects/lrwd-remodel`
- `Shared Projects/archived-projects/kbar`
- `Shared Projects/cleanup-review/2026-05-25/game`

## Old-To-New Mapping

| Old Desktop path | Canonical path |
| --- | --- |
| `/Users/nick/Desktop/Mission Control` | `2. Shared CODEX Projects/mission-control-suite/mission-control` |
| `/Users/nick/Desktop/ACD DIVI` | `Shared Projects/alohachallengecoins/acd-divi-assets` |
| `/Users/nick/Desktop/ACD` | `Shared Projects/alohachallengecoins/acd` |
| `/Users/nick/Desktop/Cloudflare` | `Shared Projects/LRWD/ops-docs/cloudflare` |
| `/Users/nick/Desktop/Duke Plumb` | `Shared Projects/client-projects/dukeplumb` |
| `/Users/nick/Desktop/MCI` | `Shared Projects/LRWD/majorchangeinitiative` |
| `/Users/nick/Desktop/MCI ` | `Shared Projects/LRWD/majorchangeinitiative` |
| `/Users/nick/Desktop/Major Change` | `Shared Projects/LRWD/majorchangeinitiative` |
| `/Users/nick/Desktop/MCI Test` | `Shared Projects/LRWD/majorchangeinitiative` |
| `/Users/nick/Desktop/CODEX` | `Shared Projects/LRWD/ops-docs/codex-notes` |
| `/Users/nick/Desktop/kitsapCriminalDefense.com` | `Shared Projects/client-projects/kitsapcriminaldefense` |
| `/Users/nick/Desktop/Lacie` | `Shared Projects/client-projects/lacie` |
| `/Users/nick/Desktop/game` | `Shared Projects/cleanup-review/2026-05-25/game` |
| `/Users/nick/Desktop/Shot Clock` | `Shared Projects/archived-projects/shot-clock` |
| `/Users/nick/Desktop/laspanishlessons` | `Shared Projects/client-projects/laspanishlessons` |
| `/Users/nick/Desktop/clsps.net` | `Shared Projects/client-projects/clsps` |
| `/Users/nick/Desktop/traveltechus-com` | `Shared Projects/traveltechus/traveltechus-com` |
| `/Users/nick/Desktop/Travel Tech US` | `Shared Projects/traveltechus/traveltechus-com` |
| `/Users/nick/Desktop/GIT` | `Shared Projects/LRWD/localreachwebdesign-com` |
| `/Users/nick/Desktop/LRWD Remodel` | `Shared Projects/archived-projects/lrwd-remodel` |
| `/Users/nick/Desktop/kbar` | `Shared Projects/archived-projects/kbar` |
| `/Users/nick/Desktop/Medical` | `Shared Projects/personal-archive/medical` |
| `/Users/nick/Desktop/Greg Test` | `Shared Projects/cleanup-review/2026-05-25/_cleanup-review-2026-05-25/empty-or-test-folders/Greg Test` |
| `/Users/nick/Desktop/Test 3` | `Shared Projects/cleanup-review/2026-05-25` |
| `/Users/nick/Desktop/PICO` | `Shared Projects/cleanup-review/2026-05-25` |
| `/Users/nick/Sites/mission-control` | `2. Shared CODEX Projects/mission-control-suite/mission-control` |
| `/Users/nick/.codex/worktrees/*/Mission Control` | `2. Shared CODEX Projects/mission-control-suite/mission-control` |
| `/Users/nick/infra/mission-control-collector` | `2. Shared CODEX Projects/mission-control-suite/mission-control-collector` |
| `/Users/nick/infra/localreach` | `Shared Projects/LRWD` |

`/Users/nick/Desktop` was intentionally not mapped because it is not a project root.

## Operational Note

Codex may keep the old sidebar/current-thread state in memory while the app is running. After this update, quit and reopen Codex to force it to reload the canonical project roots.

Validation after the durable fix:

- `~/.codex/config.toml` has no trusted project entries under `/Users/nick/Desktop`.
- `~/.codex/.codex-global-state.json` has no non-history Desktop path references.
- `~/.codex/state_5.sqlite` has no missing `threads.cwd` paths.
- The active thread rollout JSONL has no structured `session_meta.payload.cwd` or `turn_context.payload.cwd` entries under `/Users/nick/Desktop`.
