Windows Desktop: invalid always_allowed_app_ids TOML causes setup loop and unusable UI
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
What platform is your computer?
Windows x64
What issue are you seeing?
Codex Desktop became unusable at startup after config.toml contained an invalid TOML conflict: always_allowed_app_ids was declared both as an array value and as a table.
Instead of showing a clear configuration parse error and identifying the conflicting key, the app repeatedly opened a setup-related window and the main Codex interface could not be used.
Disabling computer-use@openai-bundled, stopping the related Codex/Computer Use processes, and restarting allowed temporary access. The lasting fix was repairing the TOML so the setting existed only as an array:
always_allowed_app_ids = ["chrome.exe"]
The [windows] sandbox = "unelevated" setting and the configured notification hook were initially suspected but were not the cause.
The exact app build was not captured during the incident.
What steps can reproduce the bug?
Likely reproduction:
- On Codex Desktop for Windows, create a
config.tomlconflict wherealways_allowed_app_idsis defined both as an array and as a table. - Restart Codex Desktop.
- Observe the startup/setup loop and blocked interface.
I did not deliberately restore the broken file after recovery, so the reproduction has not been repeated.
What is the expected behavior?
Codex should detect the TOML error before initializing plugins, show the file path and conflicting key, and leave a usable recovery path to edit or reset the invalid setting. A malformed optional plugin setting should not leave the whole desktop interface unusable.
Additional information
Observed on August 26, 2026. Replacing the conflicting definitions with the single array form restored normal startup.
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 reproducing the conflicting always_allowed_app_ids definitions in config.toml on Windows and trace startup through plugin initialization. Confirm that the invalid TOML identifies the file and key, while still leaving a usable recovery path or reset option; verify that the corrected array form starts normally.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100