Skip to content

Bash as Universal Tool

Design claim from jared-zoneraich: of all claude-code's tools (read, edit, grep, glob, web_fetch, todo, task, bash), bash is the one that actually does the work — the rest are optimisations around token budget, safety, and UX.

Why bash wins

  1. Universal adapter. Thousands of CLI tools already do everything an engineer does — spin up envs, run tests, scaffold files, call APIs — so the agent inherits an ecosystem for free.
  2. Overwhelming training data. Models are dramatically better at bash than at Rust or Zig because of corpus bias. "It's the reason models are worse at less common languages — fewer people doing it." (See claude-code's Zig weakness from mitchell-hashimoto-zed-agentic-2025.)
  3. Durable long-term memory via the filesystem. Agent can write Python, run it, delete it; write markdown notes and re-read them later. Filesystem-as-memory is cheaper than in-context memory and sidesteps context-compaction.

Zoneraich's forward bet

"I'm on the proponent of one mega tool call instead of a lot of tool calls." Counter-thesis to the hundreds-of-tool-calls camp: as models improve, shrink tools back toward bash + a few rigorous specialised calls.

Friction

Bash is also the main attack surface — prompt injection from web_fetch, destructive commands (team members "dropped all their local databases"), hence the heavy sandboxing/permissions layer. See claude-code architecture section.