Filesystem as Interface
January 30, 2026
There's a growing conviction in the AI community: filesystems and bash are the optimal abstraction for AI agents.
The logic is simple. LLMs have been trained on massive amounts of code. They've spent countless hours navigating directories, grepping through files, and managing state. If agents excel at filesystem operations for code, they'll excel at filesystem operations for anything.
The Vercel Hypothesis
Vercel's engineering team replaced most custom tooling in their internal agents with just two tools: a filesystem tool and a bash tool.
The result: their sales call summarization agent went from ~$1.00 to ~$0.25 per call, and output quality improved.
The key insight: instead of building custom retrieval logic, structure your data as files and let the agent use tools it already knows.
/customers/
/cust_12345/
profile.json
tickets/
ticket_001.md
ticket_002.md
conversations/
2024-01-15.txt
When the agent needs context, it explores with ls, searches with grep, and reads with cat. No custom retrieval logic — the agent decides what it needs.
But SQL Still Wins for Structured Queries
Braintrust tested this hypothesis rigorously, pitting bash agents against SQL agents on a dataset of GitHub issues.
The results were humbling:
SQL dominated for structured queries. Bash used 7x more tokens and cost 6.5x more while achieving half the accuracy.
The Hybrid Approach
The interesting finding: give the agent both tools.
When the hybrid agent had access to SQL and bash, it developed a behavior where it would run SQL queries, then verify results by grepping through the filesystem. This double-checking consistently hit 100% accuracy.
The tradeoff is cost (roughly 2x the tokens of pure SQL), but you get reliability.
When to Use What
Use filesystem/bash when:
- Exploring unstructured or semi-structured data
- Navigating content with natural hierarchies
- The agent needs to "browse" and build context
- You want the agent to handle edge cases you didn't anticipate
Use SQL/structured queries when:
- You need precise answers from structured data
- Performance and cost matter
- The query patterns are well-defined
Use both when:
- Reliability matters more than cost
- You want self-verification
- The data has both structured and unstructured components
The Deeper Insight
As one developer put it on Twitter:
What's an LLM with filesystem, bash and permissions to be called? It's literally all you need to do anything.
The filesystem isn't just a data store — it's a universal interface. Structure your domain as files, give the agent Unix tools, and you're leveraging the training distribution instead of fighting against it.
Sources
- How to build agents with filesystems and bash — Vercel
- Testing if "bash is all you need" — Vercel / Braintrust
- bash-tool — Vercel Labs