Skip to content

Jeomon/Tau

Repository files navigation

Tau (τ)

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 interactive terminal interface

Quick start

Tau requires Python 3.12 or later.

pip install tau-coding-agent

Set a provider API key and start Tau:

export ANTHROPIC_API_KEY=sk-ant-...
tau

Google AI Studio works through the google provider:

export GOOGLE_API_KEY=...
tau --model google/gemini-2.5-flash

You 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.

Common workflows

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 clients

Inside 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.

What Tau provides

  • 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.

Referencing files

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.py

Tau also discovers project instructions from AGENTS.md and CLAUDE.md. See Project Context Files for trust and discovery behavior.

Authentication and configuration

Tau resolves provider credentials in this order:

  1. A programmatic runtime override
  2. A credential saved in ~/.tau/auth.json (including keys saved by /login)
  3. A provider environment variable such as ANTHROPIC_API_KEY, OPENAI_API_KEY, and GOOGLE_API_KEY

Settings are merged in this order:

  1. Built-in defaults
  2. ~/.tau/settings.json
  3. .tau/settings.json
  4. Environment variables
  5. Command-line options

See Authentication, Installation, and Inference Providers for provider-specific setup.

Documentation

The complete documentation index is available at docs/index.md.

Install from source

git clone https://github.com/Jeomon/Tau.git
cd Tau
pip install -e .
tau

Security

Tau 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.

Development

mypy tau/
pyright tau/
ruff check tau/
ruff format tau/
python -m pytest

See Development Setup and Contributing.

License

Tau is licensed under the MIT License.

About

Tau: self-extensible agent CLI with terminal UI, multi-provider LLM support, session management, and a plugin system. Python implementation of pi

Topics

Resources

License

Contributing

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages