Skip to main content

Agentic coding interface you can reshape

Project description

taui

Taui is a customizable agentic coding interface for developers. It runs as a full-screen Textual TUI; the terminal app is the product.

Alpha software: APIs, commands, and behavior may change.

Install

uvx taui

For local development:

uv run taui
uv run taui --version
uv run taui --login
uv run taui -p copilot -m <model>
uv run taui -p codex -m <model>
uv run taui -d /path/to/project
uv run taui --session <session_id>

CLI parsing and app launch live in taui/main.py:29 and taui/main.py:90.

What It Does

  • Runs an async agent loop over provider responses, tool calls, and observations: taui/agent/loop.py:93.
  • Wires providers, tools, extensions, prompts, store, and loop in one composition root: taui/session.py:139.
  • Stores sessions as append-only SQLite event streams in the working directory: taui/store/store.py:97 and taui/store/stream.py:22.
  • Renders chat, streaming output, approvals, questions, sidebars, and session controls in Textual: taui/tui/app.py:206.

Providers

Built-in providers:

Provider Auth Implementation
GitHub Copilot device flow taui/llm_provider/providers/copilot.py:33
OpenAI Codex PKCE browser flow taui/llm_provider/providers/codex.py:26

Run taui --login to authenticate. Credentials are loaded through taui/llm_provider/config.py:15 and selected by Config.load() at taui/config.py:64.

Commands

Important slash commands are registered in taui/commands/builtins.py:858.

Command Purpose
/help, /h, /? Show help
/model Show, refresh, or switch models
/provider Show or switch provider
/agents List or activate agent profiles
/sessions List or resume sessions
/new [message] Start a new session
/compact, /context Manage or inspect context
/extensions, /reload, /ext-mode Inspect and reload extensions
/i [message] Enter self-edit mode
/copy, /export Copy context or export a session
/hotkeys, /keys Show key bindings
/verbose, /quiet Toggle tool output verbosity
/update-providers-models Refresh the models.dev cache

Keys

App-level bindings are defined in TauiApp.BINDINGS at taui/tui/app.py:399. Input-specific bindings are in ChatInput.BINDINGS at taui/tui/widgets/chat_input.py:64.

Key Action
Ctrl+Q Quit
Ctrl+N New session
Ctrl+C Cancel active request or approval
Ctrl+D Quit after double press
Ctrl+B Toggle sidebar
Ctrl+R Toggle info sidebar
Ctrl+E Enter self-edit mode
Ctrl+X Context breakdown
Alt+Left/Right Focus left/right pane
Ctrl+PageDown/Up Next/previous tab
Escape Leave mode or dismiss panels

Configuration

Config fields are defined in taui/config.py:33.

[taui]
provider = "copilot"
model = "claude-sonnet-4.5"
max_turns = 50
verbose_tools = true

[taui.tool_policy]
bash = "confirm"
write = "confirm"
edit = "confirm"

[taui.permission]
read = { "*" = "allow" }
bash = { "git status" = "allow", "*" = "ask" }

Tool policy evaluation is in taui/tools/executor.py:42; pattern permissions are in taui/permissions.py:38.

Extensions And Skills

Extensions are Python files loaded from ~/.taui/extensions/*.py and .taui/extensions/*.py. The register(ctx) context is defined at taui/extensions/__init__.py:66; extension loading starts at taui/extensions/__init__.py:169.

Skills are SKILL.md files discovered by taui/skills/__init__.py:91 and loaded lazily by taui/skills/__init__.py:52.

Documentation

  • Product and architecture overview: docs/taui.md:1
  • Runtime flow: docs/runtime.md:1
  • Tools and permissions: docs/tools.md:1, docs/permission-dsl.md:1
  • Extensions, hooks, skills, and agents: docs/build-your-harness.md:1, docs/extension-hooks.md:1, docs/agents.md:1
  • Providers and auth: docs/providers.md:1
  • Context and prompts: docs/context-strategies.md:1, docs/system-prompt.md:1
  • Tests and visual harness: docs/testing.md:1

Checks

uv run ruff check .
uv run python -m pytest tests/ -q

Target focused tests first when changing one subsystem. The scenario and visual harness are documented in docs/testing.md:1.

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

taui-0.7.tar.gz (482.5 kB view details)

Uploaded Source

Built Distribution

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

taui-0.7-py3-none-any.whl (321.9 kB view details)

Uploaded Python 3

File details

Details for the file taui-0.7.tar.gz.

File metadata

  • Download URL: taui-0.7.tar.gz
  • Upload date:
  • Size: 482.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for taui-0.7.tar.gz
Algorithm Hash digest
SHA256 e6ddf4d184a6d4450b274ad780a36db520d85ee14c6ba37fa46e12dbc564338e
MD5 692d770821c019fedddecdcfb20a10ce
BLAKE2b-256 4584e2fe29ef85831b9f8221b64bf26464533283dd5eb8e685edc34858083936

See more details on using hashes here.

File details

Details for the file taui-0.7-py3-none-any.whl.

File metadata

  • Download URL: taui-0.7-py3-none-any.whl
  • Upload date:
  • Size: 321.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for taui-0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 53f341dbc03e1e504638f1bb0e4437ba5bf30afc3720ec627624d5ab1faedfc0
MD5 d9761b6be9872544e940f78b31abacc0
BLAKE2b-256 e418696593d60ed701dd8b927f32559b42f2b7fb274d12789f4dd3f6d17272a8

See more details on using hashes here.

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