One-time local automation stayed ACTIVE but did not run at scheduled time
Summary
A one-time Codex Desktop automation was created successfully and shown as ACTIVE, but it appears not to have fired at the scheduled local time. This caused a time-sensitive user task to be missed.
Details
- Automation id:
activate-claude-usage-window - Kind:
cron - Destination/execution environment: local
- Schedule stored in automation file:
RRULE:FREQ=DAILY;COUNT=1;BYHOUR=11;BYMINUTE=20;BYSECOND=0- Intended time: 2026-07-10 11:20 local system time
- Local timezone:
Asia/Ho_Chi_Minh - Current time when checked: 2026-07-10 ~14:17 local time
- Automation status before cleanup:
ACTIVE
The automation was created through the Codex app automation tool. The original attempt to include an explicit DTSTART;TZID=Asia/Ho_Chi_Minh:20260710T112000 was rejected, so it was recreated using the local wall-clock RRULE above.
Expected behavior
At 11:20 local time, Codex should create/run the one-time local automation task, execute the prompt once, and leave a run/thread/log record indicating success or failure.
Actual behavior
After 11:20 had passed, I found no evidence that the automation ran:
- No standalone Codex thread/task was created around 11:20.
- No relevant Codex log entries appeared around 11:20.
- The external side effect the task was supposed to perform did not occur.
- The automation config still existed and still showed
ACTIVE, despiteCOUNT=1and the scheduled time being in the past.
The machine was intentionally kept awake, logged in, and active for the scheduled time window. The user confirmed the system did not sleep or log out.
Local evidence checked
The local automation config existed at:
~/.codex/automations/activate-claude-usage-window/automation.toml
I checked:
~/.codex/state_5.sqlitefor threads created around2026-07-10 11:00-12:30.~/.codex/logs_2.sqlitefor automation/task/Claude-related logs around that same window.- The external target app history, which showed only the earlier manual setup test and no 11:20-era run.
Impact
This was a time-sensitive one-time automation the user relied on while asleep. The UI state made it look scheduled and active, but the task did not execute or at least left no observable run/failure record.
Requested improvement
Please add one or more of:
- A reliable run record for every due automation attempt, including skipped/failed attempts.
- Clear UI status when a one-time automation is overdue, missed, or unable to run.
- A validation warning when an RRULE without
DTSTARTmay not be anchored to the expected local date/time. - A way to test-fire or dry-run the automation scheduler path immediately after creation.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗