Tau is a Python agent framework and terminal coding assistant. It combines an interactive terminal UI, multiple model providers, persistent sessions, tool execution, and an extension system in one package.
Tau requires Python 3.12 or later.
pip install tau-coding-agentSet a provider API key and start Tau:
export ANTHROPIC_API_KEY=sk-ant-...
tauGoogle AI Studio works through the google provider:
export GOOGLE_API_KEY=...
tau --model google/gemini-2.5-flashYou can also run /login inside Tau to save provider credentials.
Then ask Tau to work in the current directory:
Explain this repository, run its tests, and fix any failures.
tau # Start an interactive session
tau --resume # Resume the latest session
tau --model claude-sonnet-4-6 # Start with a specific model
tau --print "Summarize this repository" # Run once and print the result
tau --mode json "Summarize this repo" # Emit structured JSON events
tau --mode rpc # Start JSON-RPC mode for IDE clientsInside an interactive session:
/model Choose a model
/resume Resume another session
/tree Navigate session branches
/compact Compact a long conversation
/theme Change the terminal theme
/login Save provider credentials
/help Show commands and shortcuts
See the CLI reference for every option and command.
- Interactive terminal UI with multiline editing, searchable pickers, syntax highlighting, Markdown, and terminal-readable LaTeX math.
- Multiple model providers, including Anthropic, OpenAI, Google Gemini, Mistral, Ollama, Groq, xAI, Bedrock, OpenRouter, and others.
- Persistent session trees with resume, fork, clone, branch navigation, summarization, and automatic context compaction.
- Built-in tools for terminal commands, file operations, globbing, and search. Long-running terminal commands stream into one persistent output block.
- Media support for images, audio, video, and text files through file references, clipboard input, and the Python API.
- Speech APIs for text-to-speech and speech-to-text, including word or segment timestamps when supported by the selected provider.
- Extensibility through custom tools, slash commands, hooks, themes, skills, prompts, and in-memory Python extensions.
- Embedding and integration through the Python API, JSON event mode, and bidirectional JSON-RPC.
Type @ in the interactive editor to search for a project file:
Review @src/service.py and add tests for its error handling.
For one-shot execution, attach a file explicitly:
tau --print --prompt "Explain this file" --file src/service.pyTau also discovers project instructions from AGENTS.md and CLAUDE.md.
See Project Context Files for trust and discovery
behavior.
Tau resolves provider credentials in this order:
- A programmatic runtime override
- A credential saved in
~/.tau/auth.json(including keys saved by/login) - A provider environment variable such as
ANTHROPIC_API_KEY,OPENAI_API_KEY, andGOOGLE_API_KEY
Settings are merged in this order:
- Built-in defaults
~/.tau/settings.json.tau/settings.json- Environment variables
- Command-line options
See Authentication, Installation, and Inference Providers for provider-specific setup.
- Quickstart — First session in five minutes
- Usage — Interactive workflows and commands
- CLI Reference — Command-line options and modes
- Inference Providers — Providers and speech timestamps
- Sessions — Persistence, branching, and compaction
- Tools — Built-in and custom tools
- Extensions — Tools, commands, hooks, and plugins
- Terminal UI — Rendering, Markdown, math, and components
- Python API — Embed Tau in another application
- Architecture — Internal design and data flow
The complete documentation index is available at docs/index.md.
git clone https://github.com/Jeomon/Tau.git
cd Tau
pip install -e .
tauTau executes enabled tools with the operating-system permissions of the process that launched it. Review project instructions and commands before approving work in untrusted repositories. Use a container or external sandbox when stronger isolation is required.
Dependency versions are pinned and recorded in uv.lock. See
SECURITY.md for vulnerability reporting and supply-chain
practices.
mypy tau/
pyright tau/
ruff check tau/
ruff format tau/
python -m pytestSee Development Setup and Contributing.
Tau is licensed under the MIT License.
