Unreal Agent is an agent harness that runs tool calls asynchronously. When the model issues a tool call, the harness immediately adds an "in progress" record for it to the session's event log and keeps running the tool in the background. When the tool finishes, the harness adds the final result to the log and calls the model again. The model doesn't spend turns or tokens waiting on slow tools, polling them, or sending heartbeats.
This design has two effects. You can steer the agent with a new message at any time, without waiting for pending tool calls to finish. The agent can also start more tool work per model turn. For example, it can begin a dev environment setup that takes several minutes while it explores the codebase and searches the web in parallel.
The harness is kept small: short prompts, tool results trimmed to use fewer tokens, and no sub-agents or workflows. It adds the in-progress and final results for a tool call without breaking the prompt cache. It doesn't handle security and approvals through harness hooks. Those are left to fixed rules outside the harness, such as allowed and disallowed hosts, narrowly scoped access tokens, and proxies with approval gates.
Returning two results for one call (in progress, then final) isn't clearly defined in the Responses API. Some inference providers other than OpenAI reject this conversation format.
Unreal Labs reports up to 40% lower cost than Codex and up to 20% lower than Pi, with fewer model turns and fewer input tokens per task. All published runs use GPT-6 Astra at xhigh reasoning effort. Pass rates are within a few points of each other across harnesses:
| Benchmark | Unreal Agent | Codex | Pi |
|---|---|---|---|
| Terminal-Bench 4.0 | 57.9%, $1,428 | 57.9%, $2,350 (leaderboard) | 55.0%, $1,827 |
| SWE-Atlas Codebase QnA | 65.8%, $936 | 63.3%, $1,303 | 64.0%, $1,033 |
| DeepSWE 1.1 | 72.4%, $1,367 | 69.0%, $1,633 | 69.6%, $1,584 |
| Agents' Last Exam (ALE-CLI), full pass | 30.0%, $217 | 29.0%, $292 | 29.0%, $262 |
The first three benchmarks ran on Harbor, so the results can be reproduced there. The ALE-CLI runs did not use Harbor. The benchmarks are mostly coding tasks, but the harness isn't limited to coding.
Features
- Asynchronous tool calls: each call returns an in-progress record right away and runs in the background until its result is added to the session log
- Steering at any time: user messages are accepted immediately, even while tool calls are still running
- Mixed parallel work: long setup jobs, codebase exploration, and web search can run at the same time with no extra polling cost
- Cache-safe event log: in-progress and final tool results are added without breaking the prompt cache
- Small harness footprint: short prompts, tool output trimmed to use fewer tokens, and no sub-agents or workflows
- Go library: embed the harness directly in a Go codebase
- Runner executable: a headless command-line runner, similar to
claude -porcodex exec - Harbor benchmark runner: runs benchmark suites through Harbor so results can be reproduced
