tauτ

Built-in Tools

TAU includes 37+ built-in tools for file operations, code search, terminal control, and more.

Dynamic Tool Selection

TAU doesn't send all tool schemas to the LLM. It dynamically selects only relevant tools, saving 20-30% tokens per request. Control via TAU_TOOL_SELECTION=dynamic|all|none

File Operations

ToolDescription
readRead file contents with optional line range
writeCreate or overwrite a file
editSearch and replace within a file
multieditMultiple edits in a single operation
patchApply unified diff patches
globList files matching glob patterns
grepSearch file contents with ripgrep
notebookeditEdit Jupyter notebooks

Code Intelligence

ToolDescription
code_searchUnified search: regex → grep, text → BM25, semantic → hybrid
lspLSP operations: hover, definition, references, completions, diagnostics
repo_mapGenerate repository structure with top-level symbols
dependency_graphAnalyze import/dependency relationships

LSP supports: Rust, TypeScript, Python, Go, C/C++, Java, Ruby, Vue, Svelte

Terminal & Shell

ToolDescription
bashExecute shell commands with PTY support
python_replPersistent Python REPL for RLM
shadow_runRun commands in a temporary copy of workspace
shellcontrolStart/stop background processes

Browser & Vision

ToolDescription
browser_openOpen URL in headless browser
browser_snapshotGet page structure and interactive elements
browser_clickClick on element
browser_fillFill form input
browser_screenshot_describeScreenshot + vision analysis in one call
understand_imageAnalyze image with vision model
understand_imagesCompare multiple images

Web & Docs

ToolDescription
websearchSearch web via Brave Search or SearXNG
webfetchFetch page content as Markdown/Text/HTML
docsManage @docs (custom documentation with FTS5)

RLM (Large Context)

ToolDescription
rlm_loadLoad large document into Python REPL
rlm_subcallCall sub-LLM to analyze a chunk (max 50 calls)
rlm_searchSearch within loaded document

Task Management

ToolDescription
task_createCreate a new task
task_updateUpdate task status
todowriteManage TODO list for current session
planmodeSwitch to plan mode (no edits, just planning)

User Interaction

ToolDescription
askuserAsk user a question and wait for response
skillInvoke a skill from the skills system

Example: Code Search

# TAU automatically routes queries:

# Regex patterns → grep (ripgrep)
code_search("fn handle_.*request")

# Plain text → BM25 (Tantivy index)
code_search("authentication handler")

# Natural language → Hybrid (BM25 + semantic vectors)
code_search("where do we validate user tokens?")