# How do I verify Codex actions with Provely?

> Connect Codex to Provely through the CLI, the REST API. The guidance files, the hooks, and the CI gate. The profile was verified on 2026-09-05.

Canonical: https://provely.sh/agents/codex  
Last reviewed: 2026-09-05  

**Codex connects to Provely through the CLI, the REST API. The agent does the action. Provely verifies the outcome and signs a receipt. Codex never holds the verifier credentials.**

A person verified the Codex capabilities on 2026-09-05. Agent products change monthly. Re-verify before you build.

Source: https://provely.sh/agents (retrieved 2026-09-05)

## Which surfaces does Codex use?

| Surface | Support | Detail |
| --- | --- | --- |
| [MCP server](/docs/mcp) | Verify at implementation | transport stdio |
| [CLI](/docs/cli) | Supported | Runs through the shell tool of the agent. |
| [SDK](/docs/sdk) | Not supported |  |
| [REST API](/docs/api) | Supported | Any HTTP call reaches the control plane. |

## Which guidance files does Codex read?

The renderer writes AGENTS.md fragment from one source. A new agent needs a profile, not core code.

| Format | Path | Mode |
| --- | --- | --- |
| AGENTS.md fragment | `AGENTS.md` | append |
| CI gate workflow | `.provely/ci/github-actions.yml` | fragment |

## How is a false completion claim blocked?

| Enforcement | Support | Detail |
| --- | --- | --- |
| Advisory guidance | Supported | The instruction files state the rules for every agent. |
| Lifecycle hooks | Verify at implementation | No hook events stated. |
| CI gate | Supported | `provely verify --wait` fails the pipeline unless the verdict is VERIFIED. |

## How do I connect Codex?

### Connect Codex to Provely

1. **Install the CLI.** Run `npx provely --version`, or download the static binary.
2. **Check the MCP support of the host.** The profile marks MCP as verify at implementation. When the host runs MCP, register `provely mcp`. If not, use the CLI through the shell tool.
3. **Write the guidance files.** Run `provely init --agent codex`. It writes `AGENTS.md` (append), `.provely/ci/github-actions.yml` (fragment). The guidance carries one rule: a successful tool call is not completion.
4. **Add the CI gate.** Run `provely verify --wait <duration>` in the pipeline. The step fails unless the verdict is VERIFIED. Exit codes: 0 VERIFIED, 2 PENDING, 3 FAILED, 4 CONTRADICTED, 5 UNVERIFIABLE.
5. **Report the verdict exactly as returned.** VERIFIED: "The action is verified complete. Receipt: <id>." PENDING: "The action is accepted but not yet verified. Operation: <id>."

## What else does the profile state?

- Verified 2026-09-05: Codex reads AGENTS.md. Source: https://github.com/openai/codex (AGENTS.md at the repository root; docs/config.md).
- Checked 2026-09-05: docs/config.md was fetched. The mcp_servers table was not readable. Team knowledge: Codex reads `[mcp_servers.<name>]` from ~/.codex/config.toml with command and args. Verify at implementation, then add `[mcp_servers.provely]` by hand. TOML, so no config_path.
- Checked 2026-09-05: docs/config.md names lifecycle hooks and the setting allow_managed_hooks_only in requirements.toml. The event names were not readable. Keep hooks at verify_at_implementation.
- Cloud Codex tasks read the same AGENTS.md. The CI gate verifies before merge.

> Codex keeps its action credentials, and no surface returns the verifier credentials to it. Read [the credential boundary](/docs/security). An operation outlives the session that opened it. Read [the API reference](/docs/api).

### Which host versions does the profile cover?

`>=0.100.0`. The integrations team last verified the profile with 0.153.4 on 2026-09-05 (npm @openai/codex, published 2026-09-04).

## Read next

- [Verify Claude Code actions](https://provely.sh/agents/claude-code)
- [Verify Cursor actions](https://provely.sh/agents/cursor)
- [Verify Resend actions](https://provely.sh/verify/resend)
- [See every agent integration](https://provely.sh/agents)
- [Read the MCP server reference](https://provely.sh/docs/mcp)
- [Read the credential boundary](https://provely.sh/docs/security)
