Codex Desktop local Scheduled create reports success but does not persist the requested automation
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
Summary
Codex Desktop can report that a local scheduled task was created even though the requested automation is not registered. After navigating away from the creation conversation, the automation card is gone, the task is absent from Scheduled, and no matching automation directory exists on disk.
In this reproduction, the only existing automation was left in an internally inconsistent state: its name and RRULE still target 13:34, its prompt says 13:41, and its status is PAUSED. The requested 13:41 one-shot task therefore will not run.
Environment
- Codex Desktop:
26.825.6671.0 - Platform: Windows
- Execution target: local, projectless
- Time zone: Asia/Shanghai (UTC+8)
- Automation storage:
%USERPROFILE%\.codex\automations\
Reproduction
- Have an existing one-shot local cron automation with id
13-34, name13:34 提醒, and a 13:34 one-occurrence schedule. - In another Codex conversation, request:
13点41分 ping一下. - An immediate create using a timezone-anchored
DTSTARTis rejected with the expected validation error. - Retry using
mode: "suggested_create". The tool returnsRendered automation card in the app. - Navigate to another conversation and return.
- The card is no longer visible, and no 13:41 task appears in Scheduled.
- Use the Scheduled creation entry shown in the UI. The UI reports that the task was created.
- Inspect
%USERPROFILE%\.codex\automations\.
Actual result
No new automation directory or Automation ID exists for the requested 13:41 Ping task.
The only automation file on disk is:
version = 1
id = "13-34"
kind = "cron"
name = "13:34 提醒"
prompt = "今天 13:41 提醒我一下。"
status = "PAUSED"
rrule = "RRULE:FREQ=DAILY;BYHOUR=13;BYMINUTE=34;BYSECOND=0;COUNT=1"
model = "gpt-5.2"
reasoning_effort = "none"
execution_environment = "local"
target = { type = "projectless" }
cwds = ["~"]
This is inconsistent in three ways:
- requested time/prompt: 13:41
- stored name and actual RRULE: 13:34
- requested runnable reminder: stored as PAUSED
Direct automation lookup can render the existing 13-34 automation card, but the requested 13:41 automation was never persisted.
Expected result
Codex Desktop should do one of the following:
- persist the requested 13:41 one-shot automation, return an Automation ID, and list it in Scheduled; or
- keep the suggested-create card available until the user accepts or dismisses it; or
- show an explicit failure explaining that nothing was created.
It should not display a success message when no matching automation is registered, and it should validate that the stored prompt, schedule, name, and status agree before reporting success.
Impact
The user believes a reminder is active, but it silently will not run. For reminders and operational automations, this is worse than an explicit creation failure because there is no user-visible indication that the schedule was not registered.
Related issues
- #26641 — local automations omitted from the Automations tab
- #27492 — TOML/registry drift and silently missing automations
- #36256 — create/update success does not match persisted fields
- #38155 — Scheduled creation flow completes without registering an automation
This reproduction is local/projectless on Windows, not an SSH remote-target case.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the local, projectless Windows flow using the steps in the issue and inspect %USERPROFILE%.codex\automations, including the existing 13-34 TOML. Compare the success message with whether a new Automation ID, directory, and Scheduled entry appear, and review related issues #26641, #27492, #36256, and #38155. Done means creation either persists matching fields and appears in Scheduled, retains the suggestion, or reports an explicit failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100