A minimalist coding-agent harness

A coding agent
small enough to read.

Tau is a terminal coding agent in Python — and a phase-by-phase reference for how one is actually built. Named for τ = 2π: one full turn, nothing hidden.

$ uv tool install tau Read the docs
θ sweeps 0 → τ θ = 0.00
τ = 6.283…one full turn
3small layers
0magic
01

Three layers, each explainable on its own

tau_ai

The provider

Models stream events. A thin layer turns provider responses into a single, ordered event stream you can follow line by line.

tau_agent

The harness

A portable brain: the loop that turns events into tool calls, owns transcript and session state, and stays free of any one app.

tau_coding

The agent

Files, shell, sessions, skills, commands, and a terminal UI — one concrete coding environment built on the harness.

The boundary

A reusable brain, a swappable body.

The τ harness is the agent. The session is its environment. The terminal is just one possible face. Keep them apart and the whole thing stays legible.

02

The philosophy

Small layers beat magic

Every package has one job and can be explained without the others. No framework you have to believe in.

Explicit over clever

The control flow is on the page. Streaming, tool calls, sessions — readable top to bottom.

Built phase by phase

Each commit adds one understandable piece, so the repo doubles as a course in how agents are assembled.

Usable, not just instructive

It is a real terminal agent you can run today — the teaching is a side effect of the design, not a toy.

τ

Start the loop. Watch a coding agent run with nothing hidden between you and the code.

$ uv tool install tau View on GitHub