Skip to content

Codex

Curupira runs the Codex CLI non-interactively with JSON events:

codex exec [options] --json -- <prompt>

Install and sign in

npm install -g @openai/codex
codex login

Codex owns authentication (a ChatGPT account or an API key). Curupira never reads or stores credentials.

Profile options

Option Native argument Notes
model --model <model>
agent --profile <name> A profile from your Codex config.toml.
effort --config model_reasoning_effort="<level>" For example low, medium, high, xhigh. Availability depends on the model.
sandbox --sandbox <mode> For example workspace-write. Unset keeps Codex's policy.
auto_review = true --config approval_policy="on-request" and --config approvals_reviewer="auto_review" Lets Codex review its own approval requests.

Unset options add no argument.

Example

[agents.profiles.codex]
provider = "codex"
model = "gpt-5-codex"
effort = "high"
sandbox = "workspace-write"

Sessions

The thread id from the JSON events is saved with the task. An interrupted task resumes with codex exec resume <thread_id>.