[macOS][Codex App] Scheduled tab can show a stale prompt after automation_update
What version of the Codex App are you using (From “About Codex” dialog)?
26.818.31338
What subscription do you have?
ChatGPT Pro Lite x5
What platform is your computer?
Darwin 27.0.0 arm64 arm
What issue are you seeing?
A heartbeat scheduled task prompt can diverge between the Scheduled tab and its persisted automation.toml after the task is updated from a Codex thread through the built-in automation_update tool.
The update tool reported success. $CODEX_HOME/automations/<automation-id>/automation.toml immediately contained the new Markdown report format. Later, copying the complete prompt from the Scheduled tab returned the previous report format.
No error or stale-data warning appeared, and the task remained Active. This leaves the user unable to tell which prompt is authoritative or which prompt the next scheduled run will execute.
What steps can reproduce the bug?
- Create an active heartbeat scheduled task attached to an existing local Codex thread.
- Open the task in the Scheduled tab.
- From the attached thread, ask Codex to update only the task prompt through the built-in
automation_updatetool while preserving the task ID, name, status, recurrence rule, and target thread. - Confirm that the tool reports
Updated automation in the app. - Read
$CODEX_HOME/automations/<automation-id>/automation.tomland confirm that itspromptfield contains the new text. - Return to the same task in the Scheduled tab and copy the complete displayed prompt.
- Compare the two values. In this case, the Scheduled-tab copy contained the old reporting block while
automation.tomlcontained the new block.
Observed timeline on 2026-08-21 (local time):
- 01:45:56:
automation.tomlwas updated by the built-in automation tool. - 01:49:55: the Scheduled task detail visibly showed the new Markdown-formatted suffix.
- 02:08:40: copying the full prompt from the Scheduled tab produced the old report format shown above.
No manual edit was made to automation.toml.
What is the expected behavior?
After automation_update succeeds, every Scheduled-tab view or editor for that automation should invalidate stale cached data and display the exact persisted prompt.
If an in-memory draft conflicts with a newer saved value, the app should show an explicit conflict or unsaved-draft warning instead of silently displaying the older prompt.
The task should have one clearly authoritative prompt, and the UI should make clear which exact value the next scheduled run will execute.
Additional information
Environment:
- Codex App version:
26.818.31338(build6892) - Platform:
Darwin 27.0.0 arm64 arm - Automation kind: heartbeat attached to an existing local thread
- Automation status: Active
- Schedule: daily at 1:00 AM
- Thread ID omitted for privacy
Possible area to investigate: invalidation of the Scheduled-tab/list query cache when an automation is updated through the agent-facing automation_update path rather than through the Scheduled editor itself.
Possibly related but not identical: #23895 reports automation UI state failing to rehydrate while definitions remain on disk.
1 Comment
Also submitted thru codex
/feedback:feedback id: 01a018fc-edd0-7541-b890-76488b65008c