Codex Desktop: automation create can hang or return blank without persistence
What version of the Codex App are you using (From “About Codex” dialog)?
Codex Desktop 26.810.52044, build 6662.
What subscription do you have?
ChatGPT-signed-in desktop session. The exact paid tier is not exposed to the task.
What platform is your computer?
macOS 26.5.2 (25F84), arm64.
What issue are you seeing?
The Codex Desktop automation_update create path has intermittently failed without an authoritative result:
- A valid heartbeat creation remained pending for more than 31 seconds. The outer tool orchestration surfaced a background cell identifier instead of a completed automation receipt, and no matching automation was found in the local automation registry afterward.
- In a separate task, a malformed create request returned blank output instead of a validation error and did not persist anything.
This leaves the agent unable to distinguish a failed write from an unknown commit outcome, and a retry could create a duplicate if the first write eventually commits.
No credentials or private automation prompt content are included here.
What steps can reproduce the bug?
The failure has been intermittent, so these are the observed steps rather than a deterministic reproducer:
- In a local Codex Desktop task, ask the agent to create a same-task heartbeat automation.
- Have the agent invoke automation_update in create mode with heartbeat kind, thread destination, a unique name, prompt, recurring interval, and ACTIVE status.
- Observe that the call may remain pending past the normal tool window and yield only a background-cell identifier instead of an automation ID or typed error.
- Inspect the Automations UI or local automation registry. The uniquely named automation is absent.
- In a separate task, submit a malformed create missing the heartbeat discriminator. The observed failing task returned blank output rather than a validation error.
Affected task/session IDs and timestamps:
- 01a01b5f-ede3-7f50-bee5-9d9251df7be2 at 2026-08-19 19:03:25 UTC: valid create remained pending and produced no durable matching automation.
- 01a01c14-02ca-7460-a837-902359ed3c2c at 2026-08-20 01:44:28 UTC: malformed create returned blank output and produced no registry entry.
A fresh bounded retest on the same reported app version succeeded for a paused disposable heartbeat and returned an automation ID; the disposable automation was then deleted. A fresh malformed-input retest also returned an explicit validation error. This suggests intermittent handler or orchestration state rather than a permanently invalid request shape.
What is the expected behavior?
Every create attempt should finish within a bounded timeout with exactly one authoritative outcome:
- Success returns a stable automation ID plus persisted state read back from the owner store.
- Invalid input returns an explicit field-level validation error.
- Persistence, timeout, or connection uncertainty returns a typed error that states whether the commit outcome is unknown.
Create should accept an idempotency key so retrying after a lost response cannot create duplicates. The caller should also continue awaiting a yielded background cell until it reaches a terminal result.
Additional information
Related issue #33527 described a broader false-success/readback gap for remote-owner updates. It was closed by its reporter without claiming the behavior was fixed. This report concerns local create calls, blank validation responses, and the background-cell handoff path.