[Windows][Desktop 26.814.5167] Composer and app RPC actions intermittently fail with opaque {"source":"owned"} error
What version of the Codex App are you using?
Codex Desktop for Windows:
OpenAI.Codex_26.814.5167.0_x64__2p2nqsd0c76g0
The regression began immediately after updating from 26.810.7004.0.
What platform is your computer?
Windows 11 Pro x64
10.0.26200
What issue are you seeing?
After updating Codex Desktop from 26.810.7004.0 to 26.814.5167.0, the renderer intermittently enters a state where composer submissions and several unrelated local app RPC actions fail with the same opaque serialized error:
{"value":{},"source":"owned","hooks":[],"promises":[]}
This affects both:
- a follow-up submitted while a local turn is running; and
- creation of a new local task.
Once the state appears, config reads, permission-mode updates, thread synchronization, prewarming, and conversation resume/history actions can also fail with the same value. The app-server process remains alive and continues responding to some requests.
The failure reproduced in two separate Desktop process lifetimes after normal quit/reopen. A third fresh process has not failed yet, so the trigger is intermittent.
Steps to reproduce
The exact timing trigger is not yet deterministic, but the observed sequence is:
- Update Codex Desktop for Windows from
26.810.7004.0to26.814.5167.0. - Open an existing local task and let a turn run.
- Submit an additional message while the turn is running.
- The composer sometimes rejects it with an “Error creating chat/task” toast whose details are the JSON value above.
- Try creating a new local task or opening settings. These operations may then fail with the same error.
- Quit Codex normally and reopen it. The failure can recur in a later process lifetime.
Expected behavior
- A message submitted during a running local turn should be queued or used to steer the turn according to the selected follow-up behavior.
- A transient failure in one request should not poison unrelated renderer/app RPC operations.
- Errors should be actionable strings or structured error codes, not an internal ownership/promise object.
- The renderer should recover without requiring an application restart.
Actual behavior
Sanitized excerpts from one affected process:
2026-08-18T12:12:55.921Z [Composer] submit failed
error={"value":{},"source":"owned","hooks":[],"promises":[]}
followUp=local mode=local
2026-08-18T12:15:36.001Z Error creating local task
error={"value":{},"source":"owned","hooks":[],"promises":[]}
2026-08-18T12:15:43.818Z Error creating local task
error={"value":{},"source":"owned","hooks":[],"promises":[]}
Before and between these failures, the same app-server connection still routed successful responses for other requests. The identical error also appeared on config requirements, layered config, pinned-thread synchronization, permission mode, prewarm, and resume/history paths.
A previous affected process produced the same error cluster beginning at 2026-08-18T11:05:19Z, so this is not a single stale renderer instance.
Runtime disclosure / control variable
This installation launches Desktop with a process-local CODEX_CLI_PATH override pointing to a locally built codex-cli 0.148.0-alpha.9 based on upstream source, with a focused direct-child delegation/join patch. The same pinned CLI and configuration worked before the Desktop update to 26.814.5167.0; the regression appeared only after the Desktop update.
A bundled-CLI A/B run has not yet been completed, so the override is disclosed as a possible compatibility variable. However, the observed failure is broader than the patched collaboration path: it affects new-task creation, config, permissions, thread sync, and resume/history in the Desktop renderer.
Additional information
- No raw logs, local paths, thread IDs, or user content are included.
- A screenshot and a larger sanitized timeline can be supplied if useful.
- The public ChatGPT/Codex changelog currently has no entry for Desktop
26.814.5167.0.
8 Comments
Confirmed on a newer Windows package with the same user-visible error and a similar renderer/conversation-routing sequence.
Environment
OpenAI.Codex 26.814.5517.0Behavior
After several local task/turn transitions, composer submission fails with:
Restarting the app restores submission temporarily, but the failure recurs. Signing out and back in does not resolve it.
Troubleshooting and control test
Ok.codex doctorreports ChatGPT HTTP reachable, WebSocket handshake HTTP 101, authentication configured, and local SQLite integrity OK.Sanitized desktop log sequence
The account ID, local usernames/paths, and conversation IDs were removed. This suggests the issue persists beyond 26.814.5167.0 and is not fixed by package reset or reauthentication. The successful CLI control test also suggests the account and service connection remain usable while the desktop renderer enters the failed state.
Confirmed on macOS with the bundled CLI, with the same
{"source":"owned"}failure reproduced in three separate desktop process lifetimes.Environment
26.814.41407(build6720)0.148.0-alpha.1515.1(build24B83), Apple Silicon (arm64)CODEX_CLI_PATHoverrideUser-visible behavior
Sending a message or creating a new task intermittently fails with:
Once this begins, unrelated renderer/app RPC paths also fail with the same object. Fully quitting the app and signing in again restores operation temporarily, but the issue recurs.
Sanitized excerpts from three logs
Local paths, usernames, task/conversation IDs, and user content were removed.
Process lifetime 1
Process lifetime 2
Process lifetime 3
This macOS reproduction with the bundled
0.148.0-alpha.15CLI removes the custom-CLI override as a required condition and suggests the regression is cross-platform in the26.814desktop train. The repeated sequence begins with visualization/pinned-thread state failures and then spreads to composer, config, prewarm, and task creation paths.Related Windows reproduction on the newer packaged desktop build 26.818.2441.0: #39677.
The user-visible surface differs (
Oops, an error has occurred/ returned sign-in UI rather than only the opaque composer object), but the sanitized lifecycle evidence points to the same renderer/app-server state-divergence family:AppServerManager RPC is not connectedrecurs;response_orphanedandNo promise for request IDaccumulate afterward;This was reproduced after the normal Windows package update from 26.814.5517.0 to 26.818.2441.0. No account identifiers, tokens, task/session IDs, process IDs, private paths, or raw logs are included. Please consider linking the issues if maintainers determine they share the same RPC lifecycle root cause.
this happens in VSCode also, its not just a codex desktop thing. Sorry if thats been said.
I can confirm that this issue also reproduces on a newer Codex Desktop build, and I have now captured two independent failure occurrences plus two recovery attempts.
Environment
OpenAI.Codex 26.818.5229.0codex-cli 0.148.026200.9168, version25H2app.asarSHA-256:C5D839BC9B122B7EF2A2F0F45186B3E5895923DE5B6CEF5253C936FE670C0479Reproduced failure sequence
In both affected Desktop process lifetimes, the failure followed the same sequence:
turn-diff-capture-startrepeatedly reportedGit snapshot became stale.Failed to start visualization turn diff snapshotwas the first operation to return:``
json
``{"value":{},"source":"owned","hooks":[],"promises":[]}
This strongly suggests that a failed visualization/Git-diff request can abort or poison a shared renderer-to-main RPC session. Once that happens, the Desktop client does not appear to recreate the session automatically.
The affected process log from the second occurrence has SHA-256:
45A3D1A46AC67CF218EB9068F2B425952276C8D13E00CEB49D133AC6E022EA26I can provide sanitized excerpts from both process logs if useful.
First recovery attempt
The first local recovery did the following:
model_reasoning_summary = "none";This restored message submission, real backend turn creation, tool calls, database access, and network connectivity. No account, project, conversation, plugin, skill, cookie, IndexedDB, or local-storage data was removed.
However, this was only a recovery, not a fix:
ResizeObservererrors returned approximately 36 seconds after restart;summary=detailed;concurrentReasoningSummariesFeatureOverrideEnabled=truewas still active;model_reasoning_summary = "none"did not disable the Desktop summary/layout path.The original trigger remained present and the failure later recurred.
Second occurrence and additional investigation
After the same
Git snapshot became stale -> visualization snapshot owned error -> shared RPC failuressequence occurred again, I inspected a read-only copy of the installed application package.The current Codex Desktop package declares
capnweb 0.8.0. Its bundled abort path passes theRpcPayloadwrapper into the abort handler instead of passing the underlyingpayload.value.Cloudflare has already merged a directly relevant correction:
https://github.com/cloudflare/capnweb/pull/190
That PR changes the abort handler to pass
payload.value, consistent with the adjacent reject handler.This appears to explain why Codex Desktop surfaces the opaque serialized object containing
source:"owned"instead of the actual abort reason. It may not, by itself, explain the original condition that aborts the RPC session.Current reversible mitigation
Because both occurrences began in the full Git/visualization snapshot path, I applied this supported Desktop configuration:
This changes Git Review from the full accumulated change source to only the most recent turn. It does not change the model, reasoning level, permissions, projects, conversations, or user files.
The configuration was validated by
codex-cli 0.148.0, and the application was then fully restarted so the Desktop process would load it.First post-restart verification
After the restart:
During the initial post-restart verification window:
source:"owned":00Git snapshot became stale:0turn-diff-capture-start:000ResizeObservererrors:0This is a successful first verification of the workaround, but it is not evidence that the product bug is permanently fixed.
Suggested product-side fixes
A complete fix would ideally include all of the following:
payload.valueabort fix, or apply an equivalent patch, so the real error reason is surfaced.Changing the visible error from the opaque
ownedwrapper to a readable message would improve diagnostics, but the renderer must also recover automatically without requiring an application restart.I can provide a sanitized event timeline, selected log excerpts, verification counts, and hashes without including local paths, thread IDs, user content, or project data.
I’m seeing what appears to be the same regression on a newer Codex Desktop build:
Codex Desktop for Windows:
26.820.71523The user-facing error is exactly the same on every reproduction:
I have reproduced it three times in one evening, with a surprisingly consistent process-lifetime pattern:
21:50:54→ first Composer failure22:08:17.647(~17m 23s)22:31:16→ first Composer failure22:52:06.366(~20m 50s)23:08:38→ first Composer failure23:26:33.326(~17m 55s)Observed behavior:
turn/start;owned/hooks/promisesobject later appears in renderer-side paths such as layered config, config requirements, persisted routes, and visualization turn-diff snapshot.In the two latest reproductions, the first recorded occurrence of the shared object appeared in:
Failed to start visualization turn diff snapshotapproximately 7–12 seconds before the first Composer failure.
However, I cannot confirm that visualization is the root cause; it may simply be the first renderer consumer to encounter an already-corrupted shared async resource.
The relevant failure windows contained:
The only recurring HTTP errors were workspace settings requests returning:
401 Must use workspace account for this operationbut successful
turn/startevents also occur while those 401s are present, so they do not appear to be the direct cause.A full Windows reboot did not prevent recurrence.
This looks like the same renderer / async-resource state regression described here, and it appears to still be present in
26.820.71523.Follow-up after applying the reversible workaround discussed above.
I changed only:
and then fully restarted Codex Desktop.
Visualize remained enabled, and I continued the same normal UI/prototype workflow across multiple conversations. I did not disable visualization, change projects, sign out, reset the app, or modify the network configuration.
Before this change, the failure reproduced three times with a very consistent process-lifetime window:
After switching to
last-turn-only, Codex has now remained stable for several hours of continued use with:{"value":{},"source":"owned","hooks":[],"promises":[]}popup;This is not proof of the root cause or a permanent fix, but it is a strong independent confirmation that reducing the Git Review / turn-diff scope can avoid or substantially delay the failure on Windows Desktop
26.820.71523.Given the earlier logs where
Failed to start visualization turn diff snapshotwas often the first consumer to surface the sharedowned/hooks/promisesobject, this makes the full accumulated Git/turn-diff snapshot path look increasingly likely to be a trigger or amplifier of the renderer/RPC state failure.I’ll continue using this configuration and will update again if the issue recurs.
@drawstarAi
same error 26.820.80927 version win 11