# openai-codex > Helps developers write, debug, test, and refactor code in any programming language from the terminal - repo: https://github.com/openai/codex - commit: 55543d87724bb66bdd51bde65254feb9b4c9ed10 - api style: openai - runs: 7 (None with a reward) - tasks tried: 5 - models: bedrock/us.anthropic.claude-haiku-4-5-20251001-v1:0 - domains: swe - languages: - capabilities: edits-files, runs-shell, runs-tests, uses-git, multi-agent, long-horizon, reads-docs, browses-web ## How it runs here Codex CLI (openai/codex) is a Rust coding agent. Its CLI is the codex-rs workspace crate codex-cli (binary `codex`); the npm package in codex-cli/ only wraps prebuilt binaries. The non-interactive entrypoint is `codex exec [OPTIONS] -- "<prompt>"`, which runs one headless session. `--json` streams JSONL events, `-o FILE` writes the final message, `--dangerously-bypass-approvals-and-sandbox` turns off approvals and the sandbox, `--skip-git-repo-check` allows non-git dirs, and CODEX_HOME holds the config and the rollout trajectories. Compiling the workspace needs more than 8 GB of RAM, and the previous build was OOM-killed. The overlay therefore installs the official statically linked musl `codex` binary that upstream CI builds from this workspace (GitHub release rust-v0.156.1, x86_64 or aarch64 chosen by `uname -m`). The repo source is still COPYed to /opt/harness/src, and `--build-arg CODEX_INSTALL=source` compiles from source on a large builder instead. Codex calls models only through the OpenAI Responses API (`POST <base_url>/responses`, SSE); `wire_api="chat"` is rejected. So the run command starts a stdlib-Python shim on 127.0.0.1:8790 using a uv-managed Python under /opt/harness. The shim translates Responses requests into streaming chat-completions calls to $PROXY_URL/v1/chat/completions and converts the results back. Function tools map 1:1, and freeform custom tools such as apply_patch become functions with a single `input` string. Codex reaches the shim through a custom provider in CODEX_HOME/config.toml, with model gpt-5.5. ## Results by task | task | runs | last reward | best reward | last tests | |---|---|---|---|---| | [aider_polyglot/polyglot_go_palindrome-products](https://harnessreport.com/tasks/aider_polyglot/polyglot_go_palindrome-products.md) | 2 | 0 | | | | [aider_polyglot/polyglot_python_bowling](https://harnessreport.com/tasks/aider_polyglot/polyglot_python_bowling.md) | 1 | 1 | | 31 passed | | [bird-bench/card_games__372](https://harnessreport.com/tasks/bird-bench/card_games__372.md) | 1 | 1 | | | | [humanevalfix/python-12](https://harnessreport.com/tasks/humanevalfix/python-12.md) | 1 | 1 | | 1 passed | | [swebench-verified/psf__requests-5414](https://harnessreport.com/tasks/swebench-verified/psf__requests-5414.md) | 2 | 1 | | 131 passed, 1 xfailed, 158 errors | ## Tests to run next _ranked by llm_ | task | why | |---|---| | [aider_polyglot/polyglot_cpp_allergies](https://harnessreport.com/tasks/aider_polyglot/polyglot_cpp_allergies.md) | Test whether the harness can handle compiled languages and their build/test toolchains, covering the 'any programming language' claim. | | [aider_polyglot/polyglot_rust_bowling](https://harnessreport.com/tasks/aider_polyglot/polyglot_rust_bowling.md) | Validate Rust support and assess if it handles the more complex state-tracking logic at medium difficulty (same task type it passed in Python). | | [aider_polyglot/polyglot_javascript_triangle](https://harnessreport.com/tasks/aider_polyglot/polyglot_javascript_triangle.md) | Test an interpreted language and its test ecosystem, rounding out language coverage across compiled/interpreted paradigms. | | [swebench-verified/sphinx-doc__sphinx-8595](https://harnessreport.com/tasks/swebench-verified/sphinx-doc__sphinx-8595.md) | Validate real-world debugging on a different codebase (documentation tool vs. HTTP library) to confirm the harness generalizes beyond its first passing real-world fix. | | [usaco/1090](https://harnessreport.com/tasks/usaco/1090.md) | Step up to algorithmic problem-solving where code must be written from scratch without a template, testing the 'write' part of the use case at harder difficulty. | ## Runs | run | task | verifier says | calls | seconds | |---|---|---|---|---| | [20260925T090258-openai-codex-polyglot_go_palindrome-products](https://harnessreport.com/runs/20260925T090258-openai-codex-polyglot_go_palindrome-products.md) | aider_polyglot/polyglot_go_palindrome-products | reward 0 | 14 | 47 | | [20260924T230425-sw-codex-psf__requests-5414](https://harnessreport.com/runs/20260924T230425-sw-codex-psf__requests-5414.md) | swebench-verified/psf__requests-5414 | reward 1 · 131 passed, 1 xfailed, 158 errors | 92 | 240 | | [20260924T225535-sw-codex-card_games__372](https://harnessreport.com/runs/20260924T225535-sw-codex-card_games__372.md) | bird-bench/card_games__372 | reward 1 | 5 | 10 | | [20260924T225434-sw-codex-python-12](https://harnessreport.com/runs/20260924T225434-sw-codex-python-12.md) | humanevalfix/python-12 | reward 1 · 1 passed | 10 | 21 | | [20260924T224755-sw-codex-psf__requests-5414](https://harnessreport.com/runs/20260924T224755-sw-codex-psf__requests-5414.md) | swebench-verified/psf__requests-5414 | reward 0 · 15 failed, 116 passed, 1 xfailed, 158 errors · verifier exited 1 | 69 | 181 | | [20260924T224300-sw-codex-polyglot_go_palindrome-products](https://harnessreport.com/runs/20260924T224300-sw-codex-polyglot_go_palindrome-products.md) | aider_polyglot/polyglot_go_palindrome-products | reward 0 | 23 | 107 | | [20260923T222433-openai-codex-polyglot_python_bowling](https://harnessreport.com/runs/20260923T222433-openai-codex-polyglot_python_bowling.md) | aider_polyglot/polyglot_python_bowling | reward 1 · 31 passed | 37 | 164 | --- Harness Report runs agent harnesses from their GitHub repos on Harbor tasks and records every model call. Every page is also `.md` and `.json`; index: https://harnessreport.com/llms.txt · MCP: https://harnessreport.com/mcp