Codex app: automation_update tool not exposed in thread despite existing local automations

Open 💬 1 comment Opened Jul 2, 2026 by AvivSai

Summary

In the Codex desktop app on Windows, the automation creation/update capability is no longer exposed to the agent in a normal project thread. The user used to be able to ask Codex to create automations directly, but recent sessions no longer expose an automation_update tool/capability.

The agent can see that local automations exist, and the official docs say Codex can create/update automations from a regular Codex thread, but tool_search does not surface automation_update, heartbeat, or cron automation tools in the active session.

Expected behavior

When the user asks Codex to create or update a Codex automation from a regular app thread, the agent should have access to the automation creation/update capability and be able to create either a thread-style automation or a standalone/project automation, subject to user confirmation.

Actual behavior

tool_search for automation-related terms does not expose an automation management tool. It returns unrelated connector/plugin tools such as Google Calendar scheduling tools, GitHub tools, Notion tools, or other plugin tools, but not automation_update.

The agent therefore has to respond that no Codex automations tool is available in the session, even though automations exist locally and the user previously used this workflow successfully.

Local evidence collected

Environment:

  • Product: Codex desktop app on Windows
  • App package path observed: OpenAI.Codex_26.623.11225.0_x64__2p2nqsd0c76g0
  • Codex app processes are running
  • Project is trusted in config.toml
  • approval_policy = "on-request"
  • sandbox_mode = "workspace-write"
  • No project-local .codex/config.toml or .codex/requirements.toml exists
  • Local automations directory exists at $CODEX_HOME/automations
  • Multiple existing automation folders are present, including daily automation names

Instruction/config checks:

  • Project AGENTS.md does not forbid automations. It explicitly instructs the agent to first search for automation_update, create heartbeat for thread reminders, create cron for project recurring checks, and report clearly if the tool is unavailable.
  • Global AGENTS.md only requires explicit approval before file/system changes; it does not block automations.
  • config.toml has disabled_tools, but the two disabled connector IDs map to Deepnote and Gmail, not Codex automations.

Sandbox observation:

  • Local shell execution inside the normal sandbox currently fails with windows sandbox: runner error: CreateProcessAsUserW failed: 5.
  • However, this appears to be a separate shell sandbox issue. With elevated approval, read-only diagnostic commands run and show that local automations already exist.
  • The missing automation_update capability appears to be a tool/capability injection problem in the active Codex app session, not merely a sandbox failure.

Reproduction steps

  1. Open Codex desktop app on Windows.
  2. Open a trusted local project that already has existing Codex automations under $CODEX_HOME/automations.
  3. In a normal thread, ask the agent to create a Codex automation, reminder, recurring check, or scheduled task.
  4. Have the agent search available tools for automation_update, automations, heartbeat, cron, or schedule.
  5. Observe that no Codex automation creation/update tool is exposed.

Impact

This breaks a previously working workflow where the user could simply ask Codex to create project/thread automations. The user now has to manually explain the automation flow or cannot create automations from the thread at all.

Request

Please investigate why the Codex app session is not exposing the automation creation/update capability even though the feature is documented and local automations exist. Also please clarify whether this is expected due to a rollout, account/workspace entitlement, app version mismatch, or a regression in tool/capability injection.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗