Codex
it has a tool for
read from source
Codex registers 12 tools, covering 3 of 6 compared capabilities. It reaches read and code search indirectly, through a tool built for something else. It registers no built-in tool for browser, web search or long-term memory.
Surface size
tools registered, across the 13 harnesses hereSurface size, not quality. Every registered tool spends context on every request, so a longer bar is a cost as much as a capability — and a harness that reaches a capability through a general tool may register fewer.
Capabilities
what serves each, and where it is compared| Capability | Tools | Across harnesses |
|---|---|---|
| Read | exec_commandpartial Reached through the shell rather than a dedicated tool. | 13 of 13 have one → |
| Browser | no built-in tool | 3 of 13 have one → |
| Web search | no built-in tool | 9 of 13 have one → |
| Code search | exec_commandpartial Reached through the shell rather than a dedicated tool. | 13 of 13 have one → |
| Shell | exec_command · unified_execpartial · write_stdinpartial | 13 of 13 have one → |
| Long-term memory | no built-in tool | 4 of 13 have one → |
Where its tools differ from the rest
- exec_command · Binary content never enters context silentlyinvariantfailsvs holds in 4 of 4
- exec_command · Output wrapperraw stdoutvs plain in 6 of 8
- exec_command · Default line capnonevs 2000 in 6 of 7
- exec_command · Byte / char capnonevs 50 KB in 3 of 5
- exec_command · Per-line capnonevs 2000 chars in 4 of 4
- exec_command · Giant single linenonevs per-line cap in 4 of 6
Derived by comparing every recorded value against the other implementations of the same capability. Differing is not a defect unless the row is marked an invariant.
All 12 tools
names verbatim, as registeredNot yet compared means registered by Codex but with no comparison page here — todo lists, subagent spawning, approval flows. They become capabilities the day there is a comparison worth reading, and the data does not have to change for that to happen.

Claude Code
dsh →