2026-10-11 18:00 UTC

Hugging Face's Tau maintainers claim their released Python coding agent separates a provider-neutral reusable harness from terminal interfaces and durable sessions, enabling builders to embed and study a working coding agent without adopting a large production codebase.

state: seedheat: mediumuncertainty: mediumconvergesscott: mediumcoding-agents agent-harnesses open-source-agentsHugging FaceTau maintainers

What is this?

Tau is an MIT-licensed Python terminal coding agent hosted in Hugging Face’s GitHub organization, described by its repository as a port of Pi’s minimalist coding agent and a teaching project rather than a giant production codebase. The repository and Hugging Face’s introductory video describe three layers: provider-neutral model streaming (tau_ai), a reusable agent harness (tau_agent), and a coding application with terminal interfaces, file/shell tools, and durable on-disk sessions (tau_coding). Its stated architectural boundary separates the reusable harness from the coding environment and frontend; the repository says development is ongoing, and the supplied snippets do not establish production readiness or successful downstream embedding.

Why it matters to Scott

Tau’s newly released, provider-neutral teaching harness converges with Scott’s Earned Complexity and Model Perishability positions and offers a concrete implementation to compare against Ask’s custom provider/tool compatibility layer and persisted conversation history. That makes it a practical study or embedding candidate, not merely another minimalist-agent example, although the supplied evidence establishes neither production readiness nor an improvement over Ask; no supplied radar page tracks Tau itself.
dev:project.askip:concept.earned-complexityip:concept.model-perishabilityradar:concept.agent-harnessesradar:concept.open-source-agentsradar:harness-router-backend-apiradar:brain-minimal-agent-runtime
queries asked of Scott's wikis
  • reusable agent harness separation from tools environment frontend
  • provider-neutral model adapters streaming tool-call events
  • durable agent sessions transcript persistence resume branching
  • Python coding agent harness projects
  • minimal readable agent implementations versus production frameworks

Measured heat

now 0 pts/hpeak 0 pts/hcomments 0/hpeers p14momentum: steady2 platformsage 647h
points/hour across evidence · reading as of 2026-10-12 02:59:37.977291+11:00 · deterministic, not a model opinion

How the heat travelled

09-14 17:44 (minted)⭐ origin echo-reconstructedPublishes an MIT-licensed, Pi-inspired Python coding agent with an installable package, reusable event-driven harness, file and shell tools,
Hugging Face / Tau maintainers on github (echo) · attributed from hn.story.49699751 · published time unknown
—
09-14 16:37first on hacker news · published · lag ?HuggingFace/tau: A Python port of Pi's minimalist coding agent
hedgehog
—
09-14 16:37amplified on hacker news 👑hn.story.49699751
hedgehog
peak 3 · 0 comments · 101% of case engagement
09-14 17:22our radar first saw it · lag ?discovery anchor: hn.story.49699751—
pace: p23 vs 1032 stories at the 336h mark (now 647h old) — ahead of aafp-commons-signed-agent-notebook (2.0x), behind agentgate-signed-agent-receipts (0.7x)

Evidence (2) — ⭐ canonical anchor

sourceobjectauthorscorecomments
🟧 hnHuggingFace/tau: A Python port of Pi's minimalist coding agent
Retrieved article excerpt

Open article · Retrieved 2026-09-14T17:24:45.365907+00:00

[Tau — a Python coding-agent harness inspired by Pi](https://github.com/huggingface/tau/blob/main/docs/assets/tau-header.svg)

**A small, readable terminal coding agent — and a working example of how coding agents are built.**

[Documentation](https://twotimespi.dev/)
·
[Quickstart](https://twotimespi.dev/quickstart/)
·
[Architecture](https://twotimespi.dev/internals/architecture/)
·
[PyPI](https://pypi.org/project/tau-ai/)
·
[Roadmap](https://github.com/huggingface/tau/issues/1)

**[Join the Tau Discord community →](https://link.alejandro-ao.com/tau-discord)**

---

## What is Tau?

**Tau is a coding agent that lives in your terminal.** You type requests like
"explain this repo", "add tests", or "fix this stack trace"; Tau can read files,
edit code, run commands, and keep a durable session history while streaming what
it is doing.

Tau is also meant to be read. It is a teaching project for understanding the
shape of a coding-agent system without starting from a giant production
codebase.

```
tau_coding  →  tau_agent  →  tau_ai
```

- `tau_ai` translates model providers into Tau's provider-neutral stream.
- `tau_agent` owns the portable brain: messages, tools, events, loop, harness,
  and session primitives.
- `tau_coding` wraps the brain as a real coding app: CLI, TUI, file/shell tools,
  provider config, project instructions, skills, and on-disk sessions.

The important boundary is:

```
AgentHarness = reusable brain
CodingSession = coding-agent environment
TUI = one possible frontend
```

The core does not know about Textual, Rich, local config paths, slash commands,
or rendering. Frontends consume events.

## Install

Tau is published on PyPI as `tau-ai` and installs a `tau` command.
It requires Python 3.12 or newer. The recommended installers use
[`uv`](https://docs.astral.sh/uv/) and install it first when necessary.

macOS and Linux:

```
curl -LsSf https://twotimespi.dev/install.sh | sh
```

Windows PowerShell:

```
irm https://twotimespi.dev/install.ps1 | iex
```

The installers do not use `sudo`. They announce before installing `uv`, install
Tau in an isolated tool environment, verify `tau --version`, and report if a
shell restart is needed. You can [inspect the shell installer](https://twotimespi.dev/install.sh)
or [PowerShell installer](https://twotimespi.dev/install.ps1) before running it.

Already have a package manager? Install Tau directly:

```
uv tool install tau-ai
# or
pipx install tau-ai
# or
python -m pip install tau-ai
```

Then check it worked:

```
tau --version
```

Tau is also available on [conda-forge](https://conda-forge.org), and can be installed using [pixi](https://pixi.prefix.dev/latest/#installation):

```
pixi global install tau-ai
```

Upgrade a normal installation with:

```
tau update
```

For local development:

```
git clone https://github.com/huggingface/tau.git
cd tau
uv sync --dev
uv run tau --version
```

To make the checkout-backed command available globally, install it as an
editable tool:

```
uv tool install --editable --force .
```

Run that command again after `git pull`. Editable installs expose source-code
changes immediately, but the tool environment's package metadata, dependencies,
and entry points are only refreshed when uv reinstalls the tool. Without the
refresh, `tau --version` can still show the version from the previous install.

## Quickstart

Run Tau from the project you want it to work on:

```
cd my-project
tau
```

Then type a request and press **Enter**:

```
explain what this project does
```

One-shot print mode is useful for scripts and quick prompts:

```
tau -p "summarize the architecture"
tau --cwd /path/to/project -p "find the CLI entry point"
```

Tau needs a model provider. Start Tau and connect one with `/login`:

```
tau
```

```
/login
/login openai
/login openai-codex
/model
```

Tau ships with support for OpenAI, Anthropic, OpenAI Codex subscription auth,
OpenRouter, Hugging Face, and custom OpenAI-compatible endpoints, including local
models. See the [providers guide](https://twotimespi.dev/guides/providers-and-models/).

The built-in catalog lives in `src/tau_coding/data/catalog.toml`; add your own
providers and models by dropping a `~/.tau/catalog.toml` with the same schema —
no code changes required.

## What Tau can do

- Interactive Textual TUI and non-interactive print mode.
- Built-in coding tools: `read`, `write`, `edit`, and `bash`.
- Durable JSONL sessions under `~/.tau/sessions/` with resume and branching.
- Slash commands for login, model selection, sessions, compaction, export, theme,
  and more.
- Project instructions from `AGENTS.md`, `.tau/`, and `.agents/` resources.
- User skills, prompt templates, and custom TUI themes.
- Context accounting, manual compaction, and optional automatic compaction.
- Provider-neutral event rendering for Rich, plain text, JSON, transcripts, and
  custom frontends.

## Philosophy

Tau follows a few rules:

- **Small layers beat magic.** Each package has one job and can be read alone.
- **Events are the contract.** Providers, renderers, the TUI, and custom
  frontends meet at a typed event stream.
- **The core stays portable.** The reusable harness does not depend on the CLI,
  Textual, Rich, or Tau's file layout.
- **Tools are ordinary typed functions.** A tool is a schema plus an async
  executor returning a structured result.
- **Sessions are durable and inspectable.** History is append-only JSONL; active
  context can be compacted without rewriting the record.
- **Documentation follows implementation.** The public docs explain the result;
  `dev-notes/` preserves the phase-by-phase build journal.

## Use Tau as a library

```
from tau_agent import AgentHarness, AgentHarnessConfig

harness = AgentHarness(
    AgentHarnessConfig(
        provider=provider,
        model="my-model",
        system="You are a helpful coding agent.",
        tools=tools,
    )
)

async for event in harness.prompt("Explain this package"):
    print(event)
```

Because the harness emits events instead of rendering UI directly, the same core
can drive the built-in TUI, print mode, or a frontend you build yourself.

## Development

See [CONTRIBUTING.md](https://github.com/huggingface/tau/blob/main/CONTRIBUTING.md) for project philosophy, layer boundaries, testing expectations, and pull request guidelines.

```
uv sync --dev
uv run pytest
uv run ruff check .
uv run ruff format --check .
uv run mypy
```

Run Tau from the checkout:

```
uv run tau
uv run tau -p "explain this repo"
```

Run the Hugo documentation site:

```
cd website
hugo server -D
```

Open <http://localhost:1313/>. Build with `hugo --minify`.

## Documentation

User docs are published at <https://twotimespi.dev/> and live in
`website/content/`.

Useful entry points:

- [What is Tau?](https://twotimespi.dev/what-is-tau/)
- [Quickstart](https://twotimespi.dev/quickstart/)
- [Core concepts](https://twotimespi.dev/concepts/)
- [Architecture overview](https://twotimespi.dev/internals/architecture/)
- [The agent loop & events](https://twotimespi.dev/internals/agent-loop/)
- [CLI reference](https://twotimespi.dev/reference/cli/)

Tau is under active development. The implementation roadmap is tracked in
[GitHub issue #1](https://github.com/huggingface/tau/issues/1).

## License

Tau is released under the [MIT License](https://github.com/huggingface/tau/blob/main/LICENSE).
hedgehog30
🟧 echo.github ⭐Publishes an MIT-licensed, Pi-inspired Python coding agent with an installable package, reusable event-driven harness, file and shell tools,Hugging Face / Tau maintainers——

Interpretation history

Decision trace