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.6.8.tar.gz (838.3 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.6.8-py3-none-any.whl (772.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tau_coding_agent-0.6.8.tar.gz
  • Upload date:
  • Size: 838.3 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.6.8.tar.gz
Algorithm Hash digest
SHA256 de8b28bb50333226a0c18f254f54fd2855504bbfdc4b9730582b0fc08795d1d8
MD5 7cf62c0f758db49fc0b9b04a44511506
BLAKE2b-256 713662416d704ce507d75665be937b05c88a0faba2fa5ed2988a9bfb20a533b7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tau_coding_agent-0.6.8-py3-none-any.whl
Algorithm Hash digest
SHA256 9c20cc31277bc347bfab3c087221e567d3e66f8294a9476a9aa27db210365f35
MD5 adbe12e6972983aa46f8bb916b49aedf
BLAKE2b-256 96c0d657bd3f0fb0f4d8c716d0ff11c751a75f718e7e8e4d7d7616ce00a5322c

See more details on using hashes here.

Provenance

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