openai / openai/codex

automation_update tool schema is rejected by strict OpenAI-compatible providers

Open
#39,848 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app automations bug custom-model tool-calls windows-os
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

What happened?

Codex Desktop can fail before the model responds when a strict OpenAI-compatible provider validates the bundled automation_update tool schema.

Observed error:

Invalid schema for function 'automation_update': schema must be a JSON Schema of 'type: "object"', got 'type: "None"'

This appears related to the existing codex_app__automation_update / automation_update schema issue, where the root schema is not emitted as a normal JSON Schema object. Some providers reject it during tool/function schema validation.

Environment
  • Product: Codex Desktop
  • Local Codex web Last Version: 151.0.7922.170
  • Bundled browser plugin version observed locally: 26.818.31338
  • OS: Windows
  • Provider type: OpenAI-compatible strict provider / non-OpenAI endpoint
Expected behavior

The emitted automation_update tool schema should be accepted by strict JSON Schema validators.

At minimum, the top-level schema should be a JSON Schema object, for example:

{
  "type": "object",
  "properties": {}
}

or otherwise be normalized so strict providers do not reject it.

Actual behavior

The provider rejects the request before the model can respond because the function schema root is reported as type: "None" / type: null, rather than type: "object".

Impact
  • Requests fail immediately at schema validation time.
  • The failure blocks normal Codex usage with strict OpenAI-compatible providers.
  • Users cannot work around this from the prompt side.
Related issues

Possibly related:

  • #37786
  • #36441
  • #30132

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

Locate the Rust code that emits the bundled automation_update tool schema and compare it with the related issues #37786, #36441, and #30132. Reproduce or inspect the strict-provider validation path, then verify that the emitted root schema is a JSON Schema object accepted by strict OpenAI-compatible providers.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
api
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.