Skip to main content

A self-extensible agent CLI with terminal UI, multi-provider LLM support, session management with branching, and a plugin system for tools and commands

Project description


Tau is a Python agent framework and coding agent, inspired by Pi. 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tau_coding_agent-0.7.1.tar.gz (842.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tau_coding_agent-0.7.1-py3-none-any.whl (777.7 kB view details)

Uploaded Python 3

File details

Details for the file tau_coding_agent-0.7.1.tar.gz.

File metadata

  • Download URL: tau_coding_agent-0.7.1.tar.gz
  • Upload date:
  • Size: 842.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tau_coding_agent-0.7.1.tar.gz
Algorithm Hash digest
SHA256 026b0193065449b051d7e831cba07e0122de0937d290c8cb120c0735e816da3b
MD5 00d2ad9874030d006309a745c4b9afb2
BLAKE2b-256 f8d26527e505e71155723dfff9d9d7ef36c03e2881b254e35b0e8e6ef21843a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for tau_coding_agent-0.7.1.tar.gz:

Publisher: cd.yml on Jeomon/Tau

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tau_coding_agent-0.7.1-py3-none-any.whl.

File metadata

File hashes

Hashes for tau_coding_agent-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7a042fda3d2610cba6cd801fddbd1388c0cd0af782dfc68be7609d504e939f9e
MD5 c222cf7767a0e336e81e96c095059c4a
BLAKE2b-256 d607b210eac05bcfd44b499271a67ca1c57fe0ab836d03db74cc86f35ad4fab8

See more details on using hashes here.

Provenance

The following attestation bundles were made for tau_coding_agent-0.7.1-py3-none-any.whl:

Publisher: cd.yml on Jeomon/Tau

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page