Skip to content

Codex Desktop automation_update schema is cron-only, blocking same-thread heartbeat creation #35601

Description

@Countermarch

Codex Desktop automation_update schema is cron-only, blocking same-thread heartbeat creation

What version of the Codex App are you using?

ChatGPT/Codex desktop 26.721.41059 (bundle 5848).

What platform is your computer?

macOS 27.0 (26A5388g), Apple Silicon (arm64).

What issue are you seeing?

In a local Codex Desktop task, codex_app.automation_update is available, but its create schema permits only:

kind: "cron"
executionEnvironment: "local"
destination: "local"

It exposes neither kind: "heartbeat" nor a target_thread_id/current-task delivery option. As a result, Codex can create a detached recurring cron automation, but it cannot create a recurring automation that wakes and continues the existing task.

This is a creation-path regression or tool-schema exposure mismatch rather than a general removal of heartbeats:

  • Existing task-bound heartbeat automations continue to work.
  • Existing heartbeat definitions contain kind = "heartbeat" and a target_thread_id.
  • Current official Scheduled Tasks documentation still distinguishes standalone scheduled tasks from scheduled tasks in a chat that return to that chat with its existing context.

Steps to reproduce

  1. Open a local Codex task in Desktop.
  2. Ask Codex to create a recurring task every 15 minutes that returns each run to this same task.
  3. Have Codex discover and inspect codex_app.automation_update.
  4. Observe that the create/update schema allows only kind: "cron" and provides no current-task or explicit target-task field.
  5. Repeat from inside the intended persistent owner task itself.
  6. Observe that the task still cannot create a same-task heartbeat; the only supported creation path is a detached cron job.

In the reproduced case, the owner task first checked for a matching automation, found none, and stopped without creating a standalone cron job or editing automation files by hand.

Expected behavior

When invoked from an existing task, automation_update should support creating or updating one task-bound heartbeat by either:

  • implicitly targeting the current task; or
  • accepting an explicit target_thread_id.

Each scheduled run should append to and continue that persistent task instead of creating a new task per run.

Actual behavior

Only detached cron creation is exposed. The requested same-task heartbeat cannot be created through the supported tool surface.

Concrete product impact: Tend

This blocks a core operating contract of EveryInc/tend:

  • Tend's README says each feed's dedicated Codex task binds itself to the feed and installs or updates one heartbeat.
  • The current Tend Manual defines a heartbeat as the recurring wake-up for that same task.
  • Tend's current runner contract explicitly requires creating or updating one same-task heartbeat automation.
  • Tend's changelog contains no compatibility change or removal of this requirement.

Without same-task heartbeat creation, a newly configured Tend feed can be bound and refreshed manually but cannot perform its intended recurring operation.

Related issues

Additional information

No raw automation file was written or modified as a workaround, and no duplicate automation was created.

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appautomationsbugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions