Skip to content

Tau

Tau is a programmable coding agent harness. It is headless first, with an optional TUI on top, extensions written in Python rather than configured in YAML, and sessions stored as a tree you can branch instead of a flat chat log.

Everything reaches Tau through one methodTau sits at the centre as a rounded pill labelled AgentSession. Five inputs converge on it from the left — a Tectum agent node named agent dot persona underscore reflection, the tau TUI, tau dash p, the SDK's create underscore agent underscore session, and an extension's api dot submit — and every one lands on the same red bar marked submit before a single arrow enters the session. Above, a Tectum subject rail feeds the agent node, and a second rail carries the session's speak tool back out onto the bus. To the right the spine continues past the pill, forks at a filled dot, and splits into a solid branch that extends the active leaf and a dashed one left behind as an abandoned sibling. Below, two hatched slabs are the two places a session can be stored: a plain slab for a JSONL file under tilde slash dot tau slash sessions, and a doubled JMFTS slab where each entry becomes a document alongside the rest of the corpus.events.sensation.audio.filteredevents.workspace.persona_reflection.out.speakagent.persona_reflectiontautau -pcreate_agent_sessionapi.submit()submit()one doorAgentSessionextends the leafabandoned siblingtool: speak--store file--store jmfts~/.tau/sessionsevery input sourcea JSONL file per sessiondocumentstau:conversationan entry is a document
Everything that can drive Tau — a Tectum agent node holding the session open over RPC, the TUI, a headless run, the SDK, an extension — arrives at the same method. What comes back out is a tree rather than a log: the spine forks, and a rollback leaves the abandoned branch on disk instead of deleting it. The substrate above hears the turn's result as an ordinary event. The store below is a flag, and pointing it at JMFTS files every entry as a document beside the rest of the corpus.

Install

pip install 'ffwf-tau-coding-agent[tui]'

Then run tau. Drop the [tui] extra and the same install still runs tau -p and tau --mode rpc without any interface libraries. The ffwf- prefix is required: tau-ai and tau-llm on PyPI are unrelated projects. The DevOps Manual covers the extras and the second command name.

Where to start

The four categories below are a crosswalk, not a sequence. Pick the cell you are actually in.

Acquisition
Application
Action

Tutorials

Action × Acquisition

A guided build that teaches the concepts as you go. Start at the quickstart and keep going.

Cookbook

Action × Application

Recipes for one specific job, for someone who already knows the basics and wants the steps without the narration.

Cognition

DevOps Manual

Cognition × Acquisition

How the system is deployed and operated, and why it is shaped that way. Read this before you run it in anger.

Reference

Cognition × Application

API surface, config, schemas, invariants. Built for search and lookup, not for reading start to finish.