tau

There are many coding agents, but this one is

Unix-native

(dpc's) Tau is a process-oriented LLM coding agent harness built for command line nerds and Linux hackers.

View on Radicle View on GitHub Start here
Tau Coding Agent
dpc@tlb:~$ tau
▝▜▛▀ tau 0.1.0 (65c9690, 2026-09-07 10:18)
▐▙▖ Tau-powered, Unix-native.
▤ ui dir: ~/.local/state/tau/uis/ui-1788808647504-46xqfi/
▤ started session: tau-4uerbz, dir: ~/.local/state/tau/sessions/tau-4uerbz/
▤ config profile stack: codex-default,credentialed-web-all
□ extension core-shell ready
□ extension provider-builtin ready
□ extension std-utils ready
□ extension std-websearch ready
□ Welcome to Tau! Ask your model to introduce you to Tau.
▤ initialized engineer-junior-qPYY
skills:
dpc 1L, 76B
AGENTS.md:
/home/dpc/lab/tau/tau/AGENTS.md 83L, 5.0kB
⬤ hi
◆ Hi!
|Write a message to engineer-junior-qPYY... ~/lab/tau/tau &tau-4uerbz
✅💤 @engineer-junior-qPYY Responded to greeting #11k/353k *1 $.03/$.03

Why Tau?

The power of Unix

Tau builds on top of the most venerable, powerful, and ubiquitous runtime there is: Unix itself. It embraces the Unix philosophy to its full potential.

It is built by devoted, experienced Unix users who want coding agents to become first-class modern Unix tooling: composable, inspectable, scriptable, and comfortable in the terminal.

Follow Your first Tau task for installation, authentication, one bounded repository change, review, and resume. It explains Tau's trust and local-data boundary before the first model request.


Architecture

Processes over plugins

All components (UI, harness, LLM API, extensions) run as standalone POSIX processes, communicating over stdio. No Node. No npm. Just processes, pipes and sockets.

┌─────────┐ unix socket ┌───────────┐ cli │───────────────────│ harness └─────────┘ └─────┬─────┘ ┌─────────┬────┴────┬─────────┐ stdio stdio stdio stdio ┌───┴───┐ ┌───┴───┐ ┌───┴───┐ ┌───┴───┐ agent │ │ tools │ │ ext │ │ ext └───────┘ └───────┘ └───────┘ └───────┘
┌───────┐ cli └───┬───┘ │ unix socket ┌────┴────┐ harness └────┬────┘ ├── agent (stdio) ├── tools (stdio) ├── ext (stdio) └── ext (stdio)

Benefits

What Unix gives you

For a tour of concrete features — built-in extensions, key bindings, commands, and configuration — see FEATURES.md.

$ Language agnostic

Extensions are just executables. Write in the language of your choice.

# Native sandboxing

Each component can be individually sandboxed with bubblewrap, Docker, Landlock, or jails—matched to its actual needs.

@ Remote execution

Running a component on another machine is as simple as prefixing its command with ssh user@host -c.

& Native packaging

Components can be packaged and managed by your OS. Pairs naturally with NixOS, Guix, and traditional package managers.

~ Single binary

Ships as one unified binary containing CLI, agent, and built-in extensions. No runtime dependencies.

% Low resource use

Native binary that starts instantly and requires very little memory. Initial measurements show just 4MB of memory use.


Philosophy

New tool for an old wizard


Major features

What Tau can do today

% Durable sessions

Typed event logs preserve sessions, agent transcripts, branch trees, rewinds, detach, and resume across restarts.

@ Roles and model knobs

Configure roles, models, reasoning effort, verbosity, thinking summaries, service tier, and per-role tool access.

: Terminal UI

Commands, path completion, prompt history, fzf-powered insertion, custom key bindings, and editor-based prompt editing.

$ Extensions

Core shell and filesystem tools, web search, notifications, provider backends, and utility tools ship with Tau. PIM and service integrations install as separate executables.

& Multi-agent workflows

Agents can delegate to isolated sub-agents, message agents or users, and keep long-running tool work in the background.

# Review-friendly output

Inline diffs, reasoning rendering, cache stats, turn stats, policy gates, approval logs, and shell/filesystem access locks keep agent work inspectable.

See the full FEATURES.md for details and configuration examples.


Extensions

Built in, maintained separately, or supplied by the community

Tau runs most capabilities as process extensions. Standard extensions ship in the Tau repository. External Tau projects are maintained in separate repositories but remain part of the Tau project.

Standard extensions

Provider backends

Built-in model providers and provider profile management.

Shell and filesystem

Shell commands, file operations, locking, and image inspection.

Utilities

Timers, reminders, and opt-in papercut reporting.

Web search

Generic web search and URL fetching.

Notifications

Terminal-facing activity notifications and detached notification commands.

Rhai

Opt-in trusted local scripting.

External Tau projects

These Tau projects are maintained in separate repositories. Published projects are pinned and re-exported by the Tau flake.

PIM

Email and calendar tools with approval-gated writes.

Swarm

Live session projection and task coordination with a Tau Swarm peer.

Zulip

Bot message bridge with long polling and scoped send/reaction tools.

Rostra

Relay-only social client with signed writes and opt-in notifications.

Slack

Socket Mode text bridge with scoped send/reaction tools.

Telegram

Bot API text bridge with an optional separately supervised gateway.

XMPP

Disabled-by-default XMPP messaging integration.

Third-party extensions

tau-ext-searxng-search

Maintained by akohlsmith, this standalone SearXNG search tool supports configurable engines and categories, with optional local-category prioritization. See the project for installation and configuration.

Third-party extensions are independently maintained. A listing is not a compatibility, security, or maintenance endorsement; review the project before granting it access to Tau.

For external Tau projects, for example: nix profile install github:dpc/tau#tau-ext-slack. Installing a package does not enable it, create an account, add credentials, or authorize routes and tools. Then configure the service identity, Tau-managed secrets, allowed senders, routes, and role tool policy. See the extension guide.


Status

Heavy development, daily use

Tau is still under heavy development, but it has been a productive daily driver for its developers for weeks. It already has features and design choices that are stronger than those in popular coding agents, while the Unix-centric UX keeps improving quickly.

There are many big plans ahead: more process-oriented integrations, stronger multi-agent workflows, and Unix-native features no other coding harness has today.

Watch the latest overview: The State of Tau #1.

Terminal recording:

asciicast

Community

Get in touch


Sister-projects

Better review notes for agent feedback

Patchmark is a diff-aware language server for Markdown and plain-text review notes. It pairs nicely with Tau's prompt-editing flow: open the prompt in $EDITOR, review diffs with language-server help, and leave precise feedback for agents from the editor you already use.

Sandboxing helpers for agent work

isolate runs Linux commands through bubblewrap while exposing only project-needed paths. gh-isolate provides sandboxed GitHub CLI access without exposing credentials to the sandbox.

Local tickets for coding agents

Clank is a simple local task tracker for personal use with coding agents.


Other agents named Tau

Naming is hard

Because the author is not very original and forgot to do prior research, and Tau is just such a good name, there are other coding harnesses called "Tau", like:

When you want to be specific, you can call this one dpc's Tau coding agent.