Use a separate config overlay for the desktop app
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.5k
- PR merge metrics
- PR metrics pending
Description
What variant of Codex are you using?
Codex App (desktop)
What feature would you like to see?
Please give the desktop app its own app-managed config overlay, for example $CODEX_HOME/config-desktop.toml (defaulting to ~/.codex/config-desktop.toml), instead of writing desktop state into the user-managed $CODEX_HOME/config.toml.
For desktop sessions, configuration should be loaded in this order:
$CODEX_HOME/config.tomlas the user defaults.$CODEX_HOME/config-desktop.tomlas desktop-specific overrides.
When the same key exists in both files, the desktop overlay should win for the desktop app only. Desktop-originated writes—including feature availability, Computer Use hooks, migrations, and settings changed through the app—should target the overlay. The CLI should continue to use the user config without inheriting desktop-only state.
This preserves shared defaults across Codex surfaces while establishing a clear ownership boundary: users and their tooling own config.toml; the desktop app owns its overlay.
Additional information
The current shared-file behavior makes simply opening the app mutate global configuration and can change CLI behavior or create persistent config churn. Related reports demonstrate several variants of the same ownership problem:
- https://github.com/openai/codex/issues/28404
- https://github.com/openai/codex/issues/28184
- https://github.com/openai/codex/issues/24387
- https://github.com/openai/codex/issues/33635
The exact filename is not important; the important properties are separate storage, $CODEX_HOME awareness, deterministic merge precedence, and no desktop writes to the user-owned defaults file.
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
Start by tracing how desktop sessions load configuration and how desktop-originated writes handle feature availability, Computer Use hooks, migrations, and app settings; compare those paths with the CLI's use of config.toml. Confirm how $CODEX_HOME is resolved and how configuration keys are merged. Done means desktop uses a separate overlay with deterministic precedence and desktop writes no longer modify the user-owned defaults file.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100