OpenHands
github.com/OpenHands/software-agent-sdk
it has a tool for
read from source
OpenHands registers 12 tools, covering 4 of 6 compared capabilities. It registers no built-in tool for 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 | file_editor | 13 of 13 have one → |
| Browser | browser_use | 3 of 13 have one → |
| Web search | no built-in tool | 9 of 13 have one → |
| Code search | globpartial · grep | 13 of 13 have one → |
| Shell | terminal | 13 of 13 have one → |
| Long-term memory | no built-in tool | 4 of 13 have one → |
Where its tools differ from the rest
- glob · Glob syntaxripgrep -g, or Python glob with an implicit **/vs ripgrep --glob in 4 of 7
- glob · Searches hidden filesnovs yes in 7 of 13
- grep · Regex dialectvaries by backend: Rust regex, POSIX, or Python revs Rust regex in 8 of 10
- grep · Case sensitivityalways insensitive, not configurablevs sensitive, model can ask in 3 of 5
- grep · Searches hidden filesnovs yes in 7 of 13
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 OpenHands 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.

opencode
pi →