codex - 💡(How to fix) Fix Desktop Preferences can get stuck showing "unable to save" after configVersionConflict on sequential config writes [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openai/codex#20538Fetched 2026-05-01 05:42:04
View on GitHub
Comments
0
Participants
1
Timeline
5
Reactions
0
Author
Participants
Timeline (top)
labeled ×5

Error Message

From Codex Desktop logs, redacted for local paths:

2026-04-30T22:35:39.668Z info [AppServerConnection] response_routed ... errorCode=null ... method=config/value/write ...
2026-04-30T22:35:39.673Z info [AppServerConnection] response_routed ... errorCode=null ... method=config/read ...
2026-04-30T22:35:41.600Z info [AppServerConnection] response_routed ... errorCode=-32600 ... method=config/value/write ...
2026-04-30T22:35:41.603Z error [electron-message-handler] Request failed ... error={"code":-32600,"data":{"config_write_error_code":"configVersionConflict"},"message":"Configuration was modified since last read. Fetch latest version and retry."} ... method=config/value/write ...
2026-04-30T22:35:43.624Z info [AppServerConnection] response_routed ... errorCode=-32600 ... method=config/value/write ...
2026-04-30T22:35:43.627Z error [electron-message-handler] Request failed ... error={"code":-32600,"data":{"config_write_error_code":"configVersionConflict"},"message":"Configuration was modified since last read. Fetch latest version and retry."} ... method=config/value/write ...

Earlier attempts showed the same failure pattern:

2026-04-30T22:19:42.395Z error [electron-message-handler] Request failed ... error={"code":-32600,"data":{"config_write_error_code":"configVersionConflict"},"message":"Configuration was modified since last read. Fetch latest version and retry."} ... method=config/value/write ...
2026-04-30T22:19:44.159Z error [electron-message-handler] Request failed ... error={"code":-32600,"data":{"config_write_error_code":"configVersionConflict"},"message":"Configuration was modified since last read. Fetch latest version and retry."} ... method=config/value/write ...

Root Cause

In the observed case, one Preferences write succeeded and updated config.toml, but follow-up writes from the same UI flow failed because they used a stale config version.

Fix Action

Fix / Workaround

Manual edits to config.toml work as a temporary workaround, but Preferences still reports "unable to save" for these settings.

Code Example

sandbox_mode = "workspace-write"

---

config_write_error_code=configVersionConflict
Configuration was modified since last read. Fetch latest version and retry.

---

2026-04-30T22:35:39.668Z info [AppServerConnection] response_routed ... errorCode=null ... method=config/value/write ...
2026-04-30T22:35:39.673Z info [AppServerConnection] response_routed ... errorCode=null ... method=config/read ...
2026-04-30T22:35:41.600Z info [AppServerConnection] response_routed ... errorCode=-32600 ... method=config/value/write ...
2026-04-30T22:35:41.603Z error [electron-message-handler] Request failed ... error={"code":-32600,"data":{"config_write_error_code":"configVersionConflict"},"message":"Configuration was modified since last read. Fetch latest version and retry."} ... method=config/value/write ...
2026-04-30T22:35:43.624Z info [AppServerConnection] response_routed ... errorCode=-32600 ... method=config/value/write ...
2026-04-30T22:35:43.627Z error [electron-message-handler] Request failed ... error={"code":-32600,"data":{"config_write_error_code":"configVersionConflict"},"message":"Configuration was modified since last read. Fetch latest version and retry."} ... method=config/value/write ...

---

2026-04-30T22:19:42.395Z error [electron-message-handler] Request failed ... error={"code":-32600,"data":{"config_write_error_code":"configVersionConflict"},"message":"Configuration was modified since last read. Fetch latest version and retry."} ... method=config/value/write ...
2026-04-30T22:19:44.159Z error [electron-message-handler] Request failed ... error={"code":-32600,"data":{"config_write_error_code":"configVersionConflict"},"message":"Configuration was modified since last read. Fetch latest version and retry."} ... method=config/value/write ...
RAW_BUFFERClick to expand / collapse

What issue are you seeing?

Codex Desktop Preferences can get stuck showing an "unable to save" error when changing settings that write to config.toml, even after restarting the app. The underlying app-server error in the Desktop logs is configVersionConflict from config/value/write.

In the observed case, one Preferences write succeeded and updated config.toml, but follow-up writes from the same UI flow failed because they used a stale config version.

What steps can reproduce the bug?

Observed on Windows with Codex Desktop.

  1. Open Codex Desktop Preferences.
  2. Change settings that touch $CODEX_HOME/config.toml, such as approval/sandbox preferences.
  3. Observe that the app shows "unable to save".
  4. Inspect config.toml and Desktop logs.

A successful first write was visible in config.toml; for example, Preferences added:

sandbox_mode = "workspace-write"

Immediately after that, subsequent config/value/write requests failed with configVersionConflict.

Restarting Codex Desktop did not clear the user-visible inability to change those settings.

What is the expected behavior?

Preferences should save the selected config values without surfacing an error.

If multiple config values are written as part of one UI interaction, Desktop should either:

  • use config/batch/write, or
  • re-read the latest config version and retry when a configVersionConflict occurs, or
  • otherwise serialize writes so later writes use the updated config version from the previous successful write.

What is the actual behavior?

The first config/value/write can succeed, then later writes fail with:

config_write_error_code=configVersionConflict
Configuration was modified since last read. Fetch latest version and retry.

The UI reports "unable to save" even though the config file may have been partially updated.

Logs

From Codex Desktop logs, redacted for local paths:

2026-04-30T22:35:39.668Z info [AppServerConnection] response_routed ... errorCode=null ... method=config/value/write ...
2026-04-30T22:35:39.673Z info [AppServerConnection] response_routed ... errorCode=null ... method=config/read ...
2026-04-30T22:35:41.600Z info [AppServerConnection] response_routed ... errorCode=-32600 ... method=config/value/write ...
2026-04-30T22:35:41.603Z error [electron-message-handler] Request failed ... error={"code":-32600,"data":{"config_write_error_code":"configVersionConflict"},"message":"Configuration was modified since last read. Fetch latest version and retry."} ... method=config/value/write ...
2026-04-30T22:35:43.624Z info [AppServerConnection] response_routed ... errorCode=-32600 ... method=config/value/write ...
2026-04-30T22:35:43.627Z error [electron-message-handler] Request failed ... error={"code":-32600,"data":{"config_write_error_code":"configVersionConflict"},"message":"Configuration was modified since last read. Fetch latest version and retry."} ... method=config/value/write ...

Earlier attempts showed the same failure pattern:

2026-04-30T22:19:42.395Z error [electron-message-handler] Request failed ... error={"code":-32600,"data":{"config_write_error_code":"configVersionConflict"},"message":"Configuration was modified since last read. Fetch latest version and retry."} ... method=config/value/write ...
2026-04-30T22:19:44.159Z error [electron-message-handler] Request failed ... error={"code":-32600,"data":{"config_write_error_code":"configVersionConflict"},"message":"Configuration was modified since last read. Fetch latest version and retry."} ... method=config/value/write ...

Environment

  • Codex Desktop on Windows
  • App package path showed OpenAI.Codex_26.429.2026.0_x64__...
  • Desktop log client version also showed 26.429.20946
  • $CODEX_HOME/config.toml parsed successfully as TOML before and after the Preferences write

Additional context

This looks related in shape to #15310's proposed fix option of persisting sandbox preference via config/batch/write, but this issue is specifically about Desktop Preferences issuing sequential config/value/write calls and not recovering from configVersionConflict.

Manual edits to config.toml work as a temporary workaround, but Preferences still reports "unable to save" for these settings.

extent analysis

TL;DR

The issue can be resolved by modifying the Codex Desktop Preferences to use config/batch/write or re-read the latest config version and retry when a configVersionConflict occurs.

Guidance

  • The configVersionConflict error occurs because the config version is not updated after a successful write, causing subsequent writes to fail.
  • To fix this, the Codex Desktop Preferences should be modified to use config/batch/write for multiple config value writes.
  • Alternatively, the Preferences can re-read the latest config version and retry the write when a configVersionConflict occurs.
  • The issue can be temporarily worked around by manually editing the config.toml file, but this does not resolve the underlying issue with the Preferences UI.

Example

No code example is provided as the issue is related to the Codex Desktop application's internal behavior.

Notes

The issue is specific to the Codex Desktop application on Windows and may not be applicable to other environments or versions.

Recommendation

Apply a workaround by modifying the Codex Desktop Preferences to use config/batch/write or re-read the latest config version and retry when a configVersionConflict occurs, as this is a more reliable solution than manual edits to the config.toml file.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

codex - 💡(How to fix) Fix Desktop Preferences can get stuck showing "unable to save" after configVersionConflict on sequential config writes [1 participants]