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 (τ)

Inspired by Pi, Tau brings the same agent framework capabilities to Python developers. A self-extensible agent CLI with a terminal UI, multi-provider LLM support, session management with branching, and a plugin system for tools, commands, and customization.

Tau TUI

Start a conversation with the agent in the terminal.


Quick Start

Installation

pip install tau-coding-agent

Or install from source:

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

Launch

tau

Authenticate with your LLM provider using /login or set environment variables (e.g., NVIDIA_API_KEY).

Common Commands

tau                                           # Interactive mode
tau --resume                                  # Resume most recent session
tau --model claude-sonnet-4-6                 # Use specific model
tau --print "Summarize this repo"             # One-shot mode
tau --provider anthropic --print "Explain this code"  # Print mode with provider
tau --mode rpc                                # RPC mode for IDE extensions

For detailed options, see CLI Reference

Features

  • Multi-provider LLM support — Anthropic, OpenAI, Google Gemini, Mistral AI, Ollama, Groq, xAI, AWS Bedrock, OpenRouter, Z.ai, and more
  • Terminal UI — Built-in chat interface with syntax highlighting, markdown rendering, and keyboard navigation
  • Rich media support — Work with text files, images, audio files, and video files via file references or clipboard input
  • Session management — Persistent sessions with branching, forking, and resuming capabilities
  • Tool execution — Built-in tools (terminal, file I/O, search) with full user permissions and extensibility
  • Plugin system — Add custom tools, slash commands, hooks, themes, and skills without modifying core code
  • Themes — Dark and light base themes, customizable and extensible via YAML
  • Context management — Automatic context compaction and branch summarization for long conversations
  • Python API — Embed Tau in your own applications programmatically
  • Multiple run modes — Interactive TUI, print mode (one-shot), JSON event stream, and JSON-RPC for IDE integration

Documentation

Start here: Tau Documentation

Key resources:

Core Architecture

Console (CLI) → TUI (Terminal UI) → Runtime (Agent Execution) → Engine (Tools) → Inference (LLM)

User input flows through the TUI to the runtime, which executes tools via the engine and calls the LLM provider for inference. Results are rendered back in the TUI and persisted to sessions.

Configuration

Settings are loaded in order of precedence:

  1. Built-in defaults
  2. ~/.tau/settings.json (global user settings)
  3. .tau/settings.json (project-level settings)
  4. Environment variables
  5. Command-line flags

Sessions are saved to ~/.tau/sessions/ and can be resumed, forked, or cloned.

Project Context Files

Tau automatically discovers and includes project-specific instructions from AGENTS.md or CLAUDE.md in the system prompt. This allows you to:

  • Define project rules and coding guidelines for the agent
  • Standardize how the agent handles project-specific conventions
  • Store project context separately from tool configuration

Example usage:

# Auto-discover AGENTS.md in the project (default behavior)
tau

# Disable project context file loading
tau --no-context-files

# Trust project files explicitly
tau --approve

# Don't trust project files for this run
tau --no-approve

See Project Context Files for detailed instructions.

Security & Permissions

Tau executes tools (terminal, file I/O, web operations) with the permissions of the user and process that launched it. There is no built-in permission system for restricting filesystem, process, network, or credential access.

If you need stronger boundaries, consider:

  • Running Tau inside a container or sandbox
  • Using OS-level security policies
  • Configuring environment variables to limit tool access

Supply Chain Security

We treat dependency changes as reviewed code changes with these practices:

  • Exact version pinning — All direct dependencies pinned to specific versions in pyproject.toml
  • Lockfile integrityuv.lock is the source of truth; changes require explicit review
  • Dependency auditing — Use pip-audit or safety to scan for known vulnerabilities
  • Safe installation — Install with --no-deps to prevent malicious lifecycle scripts

See SECURITY.md for detailed practices and vulnerability reporting.

Development

python -m pytest              # Run tests
pyright tau/                   # Type checking
python -m tau                  # Launch from source

See Development Setup for detailed instructions.

Contributing

See CONTRIBUTING.md for contribution guidelines and AGENTS.md for project-specific rules.

License

This project is licensed under the MIT License — see the LICENSE file for details.

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: tau_coding_agent-0.6.0.tar.gz
  • Upload date:
  • Size: 750.5 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.0.tar.gz
Algorithm Hash digest
SHA256 cabd0363c9e8e40890418f80043a4a6240a107c23df57a3a3619b19d82c794a7
MD5 2232b706de5c1c4af08b6549c91872a1
BLAKE2b-256 05d94f245ac674da39e8c3ca2fad470c8ed3f8335c8f32f3152904aa5bfc8501

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tau_coding_agent-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 76a98ec57e6a0c8e6e1caf609ae8c103ba32810cec6f44b22a567aa1c95288ad
MD5 b684896def6f51645006eda9c45f8393
BLAKE2b-256 08d6e4d558f5cfa9e8e2fa0c694e96a99e6c8be2e89a8d3fce40443da27fb789

See more details on using hashes here.

Provenance

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