Skip to content

Shell tools your agent already has

The tools an agent reaches for constantly: find the file, search inside it, reshape the output, move it somewhere else.

40 tools

Almost every task an agent does touches these. Asked to find where something is configured, it searches the tree rather than guessing. Asked to pull the failures out of a log, it filters rather than reading you the whole file. These are the difference between an agent that describes what it would do and one that does it.

The tools

Preinstalled on every plan, with nothing to set up. A few depend on the engine you pick.

  • rg

    Ripgrep. Recursive regex search across a whole repository in milliseconds.

  • fd

    A friendlier find: locate files and directories by name or pattern.

  • bat

    cat with syntax highlighting, line numbers and Git markers.

  • jq

    Filter, reshape and pretty-print JSON straight from a pipe.

  • yq

    The same query language as jq, applied to YAML and TOML.

  • mlr

    Miller. Cut, join, sort and summarise CSV, TSV and JSON records.

  • qsv

    Index, join, slice and validate very large CSV files at speed.

  • csvcut

    csvkit. Pull, drop and reorder the columns of a CSV.

  • in2csv

    Turn Excel, JSON or fixed-width files into CSV.

  • sql2csv

    Run a SQL query against a database and get CSV back.

  • 7z

    Pack and unpack 7z, and most other archive formats.

  • zip

    Create and update ZIP archives.

  • unzip

    List and extract the contents of a ZIP archive.

  • xz

    Compress and decompress with xz and LZMA.

  • zstd

    Fast compression and decompression with Zstandard.

  • less

    Page through a long file or a command’s output.

  • file

    Identify what a file actually is, whatever its extension claims.

  • tree

    Print a directory as an indented tree.

  • patch

    Apply a diff to a file or to a whole source tree.

  • column

    Line piped text up into readable columns.

  • bc

    Arbitrary-precision arithmetic straight from a pipe.

  • pv

    Watch data move through a pipe, with rate and progress.

  • csvsql

    Query CSV files with SQL, or load them straight into a database.

  • csvlook

    Render a CSV as an aligned table you can actually read in a terminal.

  • csvstat

    Report types, null counts and ranges for every column in a CSV.

  • csvjson

    Convert a CSV to JSON or GeoJSON, one object per row.

  • csvgrep

    Filter CSV rows by pattern or regex against named columns.

  • csvsort

    Sort a CSV by one or more columns, with type-aware ordering.

  • csvjoin

    Join two or more CSV files on a shared column.

  • sponge

    Soak up stdin fully before writing, so a pipe can rewrite its own input file.

  • ts

    Prefix every line of a stream with a timestamp.

  • chronic

    Run a command and print its output only when it fails.

  • ifne

    Run a command only when stdin is not empty.

  • pee

    Send stdin to several commands at once, the way tee does for files.

  • vipe

    Drop an editor into the middle of a pipe to hand-edit the stream.

  • vidir

    Rename and delete files by editing a directory listing as text.

  • isutf8

    Check whether a file or stream is valid UTF-8.

  • errno

    Look up an errno by number, name or message.

  • hexdump

    Dump a file as hex, octal or ASCII to inspect binary content.

  • ast-grep

    Search and rewrite code by syntax-tree pattern instead of by regex.

Get started

A real command line, already set up

Every agent runs on a sandboxed machine with the whole toolbox preinstalled. No setup step, on any plan.