Summary
On Windows, Codex Desktop generated notify and node_repl paths containing a mojibake/corrupted form of a Korean username from %USERPROFILE%. The generated notify value also used unsafe backslash escaping inside a TOML double-quoted string, making the entire user config.toml unparseable.
The Desktop UI did not show the configuration error. Instead, it became stuck on Complete Windows setup / Windows setup didn't finish. Retry did not open a real UAC prompt, and Continue with limited access did nothing.
Removing only the invalid generated notify line immediately restored both the bundled Codex CLI and Desktop. Later, adding an MCP server reproduced or triggered regeneration of the same invalid notify value. The available evidence does not establish whether the MCP installer wrote it directly or whether a subsequent Desktop/runtime/plugin reconciliation rewrote it.
Environment
- Windows (registry product name: Windows 10 Education), version 25H2, build
26200.8875, x64
- Microsoft Store package:
OpenAI.Codex 26.803.5235.0
- Bundled Codex:
codex-cli 0.147.0-alpha.6.5
- USERPROFILE contains Korean/non-ASCII characters:
C:\Users\<Korean username>
- The same Windows account had previously run ChatGPT/Codex Desktop normally; the problem appeared after a recent app update.
Observed behavior
Desktop was blocked by the Windows setup overlay:
- Retry Windows setup did not produce an actual UAC prompt.
- Continue with limited access had no observable effect.
- A Settings deep link only flashed behind the setup overlay.
- Windows App Repair, Reset, and confirming the latest Store version did not help.
- Setting
[windows] sandbox = "unelevated" did not bypass the setup gate.
Running the bundled executable directly:
%LOCALAPPDATA%\OpenAI\Codex\bin\<hash>\codex.exe
exposed the underlying error:
Error loading config.toml
missing escaped value
The user config contained a Desktop/runtime-managed value shaped like this (username and hashes redacted):
notify = [ "C:\Users\\<mojibake>\AppData\Local\OpenAI\Codex\runtimes\cua_node\<hash>\bin\node_modules\\@oai\sky\bin\windows\codex-computer-use.exe", "turn-ended" ]
The Korean username portion had been stored as mojibake/corrupted characters, and the Windows path was not safely escaped for a TOML double-quoted string. The parser reported:
missing escaped value, expected b, e, f, n, r, \, ", x, u, U
Recovery and before/after evidence
I removed only the invalid generated notify line. I did not delete .codex or reset the complete config.
Before:
invalid generated notify path
-> config.toml parsing failure
-> bundled Codex bootstrap failure
-> Desktop stuck at Windows setup incomplete
After:
remove only invalid notify line
-> bundled Codex starts normally
-> Desktop starts normally
After Desktop had recovered, adding an MCP server via its installer reproduced or triggered the problem. codex mcp list then failed during bootstrap configuration loading with the same invalid generated notify value and TOML parse error. Removing only that line again restored codex mcp list; the newly registered MCP server remained enabled and its OAuth registration remained intact.
This confirms the failure was not resolved permanently by the first manual removal. It does not establish whether the third-party installer or a later Codex-managed reconciliation step regenerated notify.
Related node_repl path corruption
The generated node_repl.command path contained the same USERPROFILE corruption and was shaped like:
C:\Users<mojibake>AppData\Local\OpenAI\Codex\runtimes\cua_node\<hash>\bin\node_repl.exe
The executable actually existed at:
C:\Users\<Korean username>\AppData\Local\OpenAI\Codex\runtimes\cua_node\<hash>\bin\node_repl.exe
Before correcting node_repl.command, bundled Codex reported:
MCP client for node_repl failed to start:
The filename, directory name, or volume label syntax is incorrect. (os error 123)
After setting node_repl.command to the actual Unicode path, codex mcp get node_repl showed the correct path and the os error 123 startup warning disappeared.
Reproduction
- Use Windows with a Korean/non-ASCII USERPROFILE such as
C:\Users\<Korean username>.
- Use ChatGPT/Codex Desktop normally so its Computer Use/
node_repl configuration is generated.
- Observe that the generated
notify path contains a corrupted USERPROFILE and invalid TOML backslash escaping.
- Restart/open Desktop and observe the Windows setup didn't finish loop.
- Run the bundled Codex executable and observe the
config.toml parsing error.
- Remove only the invalid generated
notify line; bundled Codex and Desktop recover immediately.
- Add an MCP server. In this reproduction, doing so reproduced or triggered regeneration of the invalid
notify value and the same failure.
- Remove the invalid
notify line again and correct the generated node_repl.command to the actual Unicode path.
- Observe that Codex and Desktop start normally and the
node_repl os error 123 warning is gone.
Confirmed facts vs. inference
Confirmed:
- Desktop-managed/generated config contained Windows paths with a mojibake form of the Korean/non-ASCII USERPROFILE.
- The generated
notify line was invalid TOML and caused a clear parse failure in bundled Codex.
- Removing only that line immediately restored bundled Codex and Desktop.
- Adding an MCP server reproduced or triggered regeneration of the same invalid
notify line and failure.
- The generated
node_repl.command contained the same USERPROFILE corruption.
- Correcting
node_repl.command to the actual Unicode path removed the os error 123 warning.
- Desktop surfaced the parse failure as a Windows setup failure rather than showing the configuration error.
Inference:
The evidence suggests that a Desktop-managed runtime/plugin/config reconciliation path may be serializing non-ASCII Windows profile paths incorrectly or writing generated runtime paths to TOML without safe escaping. I have not verified the internal implementation or which component performs the rewrite.
Expected behavior
- Desktop-generated Windows paths must preserve Unicode/non-ASCII USERPROFILE values correctly.
- Desktop-generated
config.toml must always remain valid TOML.
- Windows paths written to TOML must use safe escaping, forward slashes, or TOML literal strings where appropriate.
- A
config.toml parsing failure must not be surfaced only as Windows setup didn't finish.
- When
config.toml is invalid, Desktop should show the actual config file, line number, and parse error, or start in a recoverable safe mode.
- MCP/config/runtime reconciliation must not regenerate invalid
notify or node_repl paths.
- Korean/CJK/non-ASCII Windows USERPROFILE paths should be covered by regression tests/CI.
Related issues
Summary
On Windows, Codex Desktop generated
notifyandnode_replpaths containing a mojibake/corrupted form of a Korean username from%USERPROFILE%. The generatednotifyvalue also used unsafe backslash escaping inside a TOML double-quoted string, making the entire userconfig.tomlunparseable.The Desktop UI did not show the configuration error. Instead, it became stuck on Complete Windows setup / Windows setup didn't finish. Retry did not open a real UAC prompt, and Continue with limited access did nothing.
Removing only the invalid generated
notifyline immediately restored both the bundled Codex CLI and Desktop. Later, adding an MCP server reproduced or triggered regeneration of the same invalidnotifyvalue. The available evidence does not establish whether the MCP installer wrote it directly or whether a subsequent Desktop/runtime/plugin reconciliation rewrote it.Environment
26200.8875, x64OpenAI.Codex26.803.5235.0codex-cli 0.147.0-alpha.6.5C:\Users\<Korean username>Observed behavior
Desktop was blocked by the Windows setup overlay:
[windows] sandbox = "unelevated"did not bypass the setup gate.Running the bundled executable directly:
exposed the underlying error:
The user config contained a Desktop/runtime-managed value shaped like this (username and hashes redacted):
The Korean username portion had been stored as mojibake/corrupted characters, and the Windows path was not safely escaped for a TOML double-quoted string. The parser reported:
Recovery and before/after evidence
I removed only the invalid generated
notifyline. I did not delete.codexor reset the complete config.Before:
After:
After Desktop had recovered, adding an MCP server via its installer reproduced or triggered the problem.
codex mcp listthen failed during bootstrap configuration loading with the same invalid generatednotifyvalue and TOML parse error. Removing only that line again restoredcodex mcp list; the newly registered MCP server remained enabled and its OAuth registration remained intact.This confirms the failure was not resolved permanently by the first manual removal. It does not establish whether the third-party installer or a later Codex-managed reconciliation step regenerated
notify.Related
node_replpath corruptionThe generated
node_repl.commandpath contained the same USERPROFILE corruption and was shaped like:The executable actually existed at:
Before correcting
node_repl.command, bundled Codex reported:After setting
node_repl.commandto the actual Unicode path,codex mcp get node_replshowed the correct path and theos error 123startup warning disappeared.Reproduction
C:\Users\<Korean username>.node_replconfiguration is generated.notifypath contains a corrupted USERPROFILE and invalid TOML backslash escaping.config.tomlparsing error.notifyline; bundled Codex and Desktop recover immediately.notifyvalue and the same failure.notifyline again and correct the generatednode_repl.commandto the actual Unicode path.node_replos error 123warning is gone.Confirmed facts vs. inference
Confirmed:
notifyline was invalid TOML and caused a clear parse failure in bundled Codex.notifyline and failure.node_repl.commandcontained the same USERPROFILE corruption.node_repl.commandto the actual Unicode path removed theos error 123warning.Inference:
The evidence suggests that a Desktop-managed runtime/plugin/config reconciliation path may be serializing non-ASCII Windows profile paths incorrectly or writing generated runtime paths to TOML without safe escaping. I have not verified the internal implementation or which component performs the rewrite.
Expected behavior
config.tomlmust always remain valid TOML.config.tomlparsing failure must not be surfaced only as Windows setup didn't finish.config.tomlis invalid, Desktop should show the actual config file, line number, and parse error, or start in a recoverable safe mode.notifyornode_replpaths.Related issues
config.tomlinvalid and blocks Desktop startup. This report differs because the invalidnotify/node_replpaths were Desktop-managed/generated, contained mojibake USERPROFILE data, reappeared after an MCP config change, and were surfaced as a Windows setup failure.cua_node; related Unicode-path class, but a different failure point and error.config.tomlroot cause.node_repl/Computer Use config, but its config still parsed and the reported failure was stale/empty module paths rather than USERPROFILE mojibake and invalid TOML.HOME/PowerShell.