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.0.tar.gz (839.4 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.0-py3-none-any.whl (774.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tau_coding_agent-0.7.0.tar.gz
  • Upload date:
  • Size: 839.4 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.0.tar.gz
Algorithm Hash digest
SHA256 6c5f9b729816a5aede19d9d11cc9957bd99a8413dc300e879dcde5aa5a7c98e0
MD5 e4e0dddde8c52fc6d8ed84558305ec3a
BLAKE2b-256 1196f309c3c82bed3facac1f674059145d1918442f9fe47850554d385ce9a5d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for tau_coding_agent-0.7.0.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.0-py3-none-any.whl.

File metadata

File hashes

Hashes for tau_coding_agent-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 de0a811fa4ec3dc3cfc75d23b4e038c9fa16da5e549d1d8573259e4d101ec731
MD5 07a0d82b992217779f8c4c0312d7e4b9
BLAKE2b-256 5717df41c7db1918df0a79082da9955e22e045173e945cede18a9f617f1233f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for tau_coding_agent-0.7.0-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