Dev & Engineering pythonterminal-uisession-managementcode-editingbash-automationmodel-agnostic

Tau — A Minimalist Python Coding Agent

A terminal-native coding agent that reads, edits, runs commands, and keeps durable sessions — designed to be read.

FollowAgents review · FARS-2.1
Not recommended
53/ 100 5-point scale 2.7 / 5
1 2 3 4 5 6
1Trust10 / 29 · 1.7/5

Evidence shows: installers do not use sudo, tools are ordinary functions, sessions are append-only JSONL, provider/model catalog is customizable, but no explicit implementation or documentation of least privilege, user confirmation, data flow transparency, sensitive data handling, dependency security, external effects, rollback, or source attribution. Deductions: these aspects lack sufficient evidence in the provided files; README descriptions alone are insufficient.

2Reliability9 / 14 · 3.2/5

Evidence shows: clear code structure, tests cover core harness functionality, dependency versions are constrained, error handling is tested. Deductions: no direct evidence of dependency availability or failure message quality, and tests were not run in a real environment.

3Adaptability12 / 18 · 3.3/5

Evidence shows: README describes multiple usage scenarios (interactive TUI, print mode, library use), capability boundaries are clear (core does not depend on frontend), triggers are explicit (CLI, /login, etc.), environment fit (macOS, Linux, Windows). Deductions: no detailed guidance for different user groups, capability boundaries not fully verified in code.

4Convention10 / 18 · 2.8/5

Evidence shows: README is well-structured, install notes are detailed, naming is stable (tau-ai), examples and FAQ are present, MIT license is clear, version number exists (0.3.9). Deductions: no explicit known limitations, no changelog, maintenance responsibility unclear (publisher unverified).

5Effectiveness9 / 13 · 3.5/5

Evidence shows: output is an event stream consumable by multiple frontends, library interface is provided, installation is simple. Deductions: no cost-benefit analysis, marginal value not quantified.

6Verifiability3 / 8 · 1.9/5

Evidence shows: README claims are broadly consistent with code structure, test files provide some verification. Deductions: no external corroboration, facts and inferences not explicitly separated.

Evidence confidence: Low Reviewed Aug 13, 2026 Reviewed revision d521fd9306f1
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
Before you use it
  • Publisher identity is unverified; maintenance responsibility and update path are unclear.
  • No explicit known limitations; users may lack expectations about edge cases.
  • Dependency security is not explicitly assessed; recommend checking for vulnerabilities.
  • Install scripts do not use sudo, but their content should be reviewed.
Review evidence [1][2][3][4][5][6][7][8]
See the full review method →

What does this agent do, and when should you use it?

Tau is an MIT-licensed Python project that provides a terminal coding agent harness, built with a 'small, readable' philosophy and intended as a teaching example. It is organized into three layered packages: tau_ai abstracts model providers, tau_agent provides the portable brain (messages, tools, events, loop), and tau_coding wraps it as a real coding app with CLI, TUI, tools, and session storage. Tau runs as a Textual-based interactive TUI or a one-shot print mode, with a core that communicates via typed event streams, decoupled from frontends. Sessions are persisted as JSONL under ~/.tau/sessions/ with resume and branching support. It supports multiple model providers including OpenAI, Anthropic, OpenRouter, and Hugging Face, and allows custom providers via catalog files.

Tau provides a tau command for interactive terminal use or one-shot prompts via -p. It includes built-in coding tools: read, write, edit, and bash for file reading, editing, and shell execution. It manages durable JSONL sessions (under ~/.tau/sessions/), reads project instructions from AGENTS.md and similar, and supports slash commands like /login and /model. It exposes an AgentHarness class in tau_agent for programmatic use.

  1. A developer wants an in-terminal coding assistant for a local project to explain code, add tests, or fix a stack trace.
  2. A user needs a single command to automate a script, e.g., tau -p "summarize the architecture".
  3. A team wants to maintain sessions for audit or resuming work across contexts.
  4. A developer wants to learn how coding agents are built by studying the layered code in tau_ai, tau_agent, tau_coding.
  5. A user needs to integrate a custom model provider by editing a catalog.toml file.

What are this agent's strengths and limitations?

Pros
  • Layered architecture (tau_ai, tau_agent, tau_coding) is clear and extensible.
  • Event-driven design allows multiple frontends (TUI, print, custom).
  • Sessions are persisted as JSONL with resume and branching.
  • Custom providers can be added via catalog.toml without code changes.
Limitations
  • Requires Python 3.12+, which may limit older environments.
  • Model provider support depends on external APIs, requiring subscriptions or keys.
  • As a teaching project, it may lack advanced features of mature tools.
  • The installer installs uv, adding an extra dependency.

How do you install or deploy this agent?

On macOS/Linux, run curl -LsSf https://twotimespi.dev/install.sh | sh; on Windows PowerShell, run irm https://twotimespi.dev/install.ps1 | iex. Alternatively, use uv tool install tau-ai or pipx install tau-ai. Requires Python 3.12+.

How do you use this agent?

Run tau in the project directory for the interactive TUI, then type requests. Use tau -p "..." for one-shot mode. First, connect a provider with /login, e.g., /login openai. Specify a working directory with --cwd.

How does this agent compare with similar options?

Tau is inspired by Pi's minimalist coding agent, but is implemented in Python, offering a more streamlined implementation.

FAQ

Does Tau support local models?
Yes, Tau supports custom OpenAI-compatible endpoints, including local models, configurable via /login or catalog.toml.
How do I save and resume sessions?
Tau stores sessions as JSONL under ~/.tau/sessions/ and provides slash commands like /sessions for management.
Is Tau production-ready?
Tau is under active development; it's suitable for learning and experimentation, but evaluate stability before production use.
Can I use Tau as a library in my own app?
Yes, Tau provides the AgentHarness class in tau_agent, which you can import and use in Python.

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents