Tool · Codex · OpenAI
exec_command
How this differs from most implementations
- Binary content never enters context silentlyinvariantfailsvs holds in 4 of 4
- Output wrapperraw stdoutvs plain in 6 of 8
- Default line capnonevs 2000 in 6 of 7
- Byte / char capnonevs 50 KB in 3 of 5
- Per-line capnonevs 2000 chars in 4 of 4
- 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.
Reached indirectly. Reached through the shell rather than a dedicated tool.
Observed · Read
compare all →| Output shape | |
| Dedicated read tool | none — cat/sed via exec_commandsrc |
| Line numbering | nonesrc Raw bytes, no numbering at all. |
| Output wrapper | raw stdoutsrc |
| Limits | |
| Default line cap | nonesrc |
| Byte / char cap | nonesrc |
| Per-line cap | nonesrc |
| Whichever hits first | — |
| Pagination | |
| Offset base | — n/a |
| Announces truncationinvariant | — No read tool; the shell returns whatever the command produced. |
| Continuation hint | — |
| Reports total lines | — |
| Out-of-range offset | — n/a |
| Non-text | |
| Binary content never enters context silentlyinvariant | failssrc Reading through the shell puts raw bytes straight into context with nothing to mark them as binary. |
| Binary files | raw bytes into contextsrc |
| Images | separate view_imagesrc |
| Giant single line | nonesrc |
| Errors | |
| Missing path | shell errorsrc |
| Path is a directory | listssrc |
| Empty file | empty stdoutsrc |
| Non-vision model | — |
| Correctness | |
| Mixed line endings | rawsrc |
| Staleness check before writeinvariant | failssrc |
| Line-number contamination guard | — n/a (no numbers) |