Codex Desktop automation_update schema disagrees with backend (cwds vs projectId)

Open 💬 0 comments Opened Jul 13, 2026 by Audacity88

What version of the Codex App are you using (From “About Codex” dialog)?

Codex Desktop 26.707.62119 (build 5211).

Bundled/session CLI observed from the affected environment: codex-cli 0.142.5.

What subscription do you have?

API key.

What platform is your computer?

Darwin 25.5.0 arm64 arm

What issue are you seeing?

A local Codex Desktop thread exposes codex_app.automation_update, but the tool's model-visible input schema and its Desktop/backend validator disagree.

The exposed schema accepts cwds for a cron automation and does not expose a projectId field. Updating an existing local automation with the documented fields fails with:

automation_update received invalid arguments: projectId: Invalid input: expected string, received undefined; arguments: Unrecognized key: "cwds".

Trying to supply the existing automation's project ID does not provide a workaround because the exposed tool schema rejects that field:

automation_update received invalid arguments: arguments: Unrecognized key: "projectId".

The same mismatch occurs for both immediate update and reviewable suggested_update calls. The automation definitions remain present and active on disk, but there is no supported callable payload that can update them.

What steps can reproduce the bug?

  1. Open a local project thread in Codex Desktop.
  2. Ensure an existing local cron automation is present.
  3. Inspect or load the exposed codex_app.automation_update tool schema.
  4. Call automation_update in update mode with the existing automation ID, its full preserved fields, and:

``json
{
"executionEnvironment": "local",
"cwds": ["/Users/me/Development"]
}
``

  1. Observe that the backend requires projectId and rejects cwds.
  2. Retry with projectId copied from the existing automation's stored project target.
  3. Observe that the exposed tool validator rejects projectId as an unrecognized key.
  4. Restart Codex Desktop, reopen the local task, and repeat. The mismatch persists.
  5. Repeat with suggested_update; the same validation mismatch occurs.

No automation TOML files were edited during this reproduction.

What is the expected behavior?

The model-visible tool schema and the Desktop/backend validator should accept the same automation target fields.

For an existing automation, one of these should work:

  • the tool accepts cwds and resolves the project target internally;
  • the tool exposes and accepts the required projectId; or
  • the update operation resolves the existing project target from the automation ID without requiring it again.

Restarting Desktop should not leave the thread with an impossible tool contract where every valid-looking target payload is rejected.

Additional information

This appears distinct from:

  • #32294, where automation_update is exposed but has no registered handler;
  • #29128, where automation_update is inconsistently absent across local threads.

Here, the tool is exposed and reaches argument validation, but the model-visible schema and backend-required schema are mutually incompatible.

The issue prevents safe updates to existing automations. Directly editing automation TOML files would bypass Desktop validation and reload semantics, so it is not a suitable supported workaround.

View original on GitHub ↗