openai / openai/codex

Codex Desktop local Scheduled create reports success but does not persist the requested automation

Open
#41,748 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app automations bug windows-os
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

  1. Have an existing one-shot local cron automation with id 13-34, name 13:34 提醒, and a 13:34 one-occurrence schedule.
  2. In another Codex conversation, request: 13点41分 ping一下.
  3. An immediate create using a timezone-anchored DTSTART is rejected with the expected validation error.
  4. Retry using mode: "suggested_create". The tool returns Rendered automation card in the app.
  5. Navigate to another conversation and return.
  6. The card is no longer visible, and no 13:41 task appears in Scheduled.
  7. Use the Scheduled creation entry shown in the UI. The UI reports that the task was created.
  8. 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:

  1. persist the requested 13:41 one-shot automation, return an Automation ID, and list it in Scheduled; or
  2. keep the suggested-create card available until the user accepts or dismisses it; or
  3. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.