Changelog
Release notes.
Every release is structured data in the repo — the same notes Tau shows in the TUI after an upgrade and publishes here.
1
All releases
v0.4.7Latest
New
- Archive sessions or whole projects from /resume with Ctrl+Enter without deleting files; use the Archived tab (F2) and Enter to restore them.
Fixed
- Restore Option/Alt-arrow word navigation in the prompt inside Herdr, including Kitty Alt+b/Alt+f forwarding; Shift+Option/Alt-arrows select by word.
- Create a fresh provider runtime when a new session selects a different provider instead of reusing the previous session's runtime.
- Handle Delete correctly in the /resume search field.
v0.4.6
Changed
- Preview model and thinking shortcuts immediately in the TUI and record only the final selection when sending a prompt; unsent choices remain session-only.
- Open /model and /scoped-models from cached choices with a virtualized list, then refresh catalogs in the background after the picker renders.
- Limit GitHub Actions token permissions per job and pin workflow actions to immutable commit SHAs.
Fixed
- Reduce model-switching and picker latency by avoiding provider rebuilds and session-history writes on each shortcut, cancelling picker-owned refreshes on close, and skipping unnecessary sidebar updates.
- Keep the active provider working when a refreshed catalog drops its model, and preserve cross-provider preview model and thinking capabilities.
v0.4.5
New
- Edit prompt templates, context files, and skills from the TUI sidebar: click a resource row to open it in an in-app editor, save with Ctrl+S, and close with Escape.
- Run `/system` to see where each system-prompt section came from, with prompt files, project instructions, skills, extensions, and runtime values grouped by origin.
- Isolate credentials, sessions, preferences, and caches per profile with the `TAU_HOME` environment variable.
Changed
- Show resume history as project columns with the current project first and other directories grouped separately.
- Add an ask-user-question example extension that demonstrates interactive prompts from extensions.
Fixed
- Order forked session trees by real history so alternate branches appear after the event where the fork started instead of collecting at the bottom of `/tree`.
- Resolve `@file` and shell `!` path completions at the caret, including `@` mentions in the middle of a prompt or inside skill and template arguments.
v0.4.4
Changed
- Open /resume immediately, load project history in the background, and virtualize session rows so large histories remain responsive.
Fixed
- Restore mouse input in Herdr terminals that advertise pixel mouse support while forwarding cell coordinates.
v0.4.3
New
- Resume sessions from other projects directly from /resume, with current-directory sessions first and other directories grouped separately.
Changed
- Accept highlighted non-file autocomplete suggestions with Enter while preserving raw @ file references; Tab continues to accept every completion kind.
v0.4.2
New
- Bookmark specific moments in the session tree with persistent per-entry labels, including create, edit, clear, filter, and timestamp controls in /tree.
- Persist extension-injected model context as first-class custom_message entries and expose extension APIs for custom messages and session labels.
- Discover and persist live OpenAI Codex subscription model catalogs so newly available models can be selected without waiting for a Tau release.
- Show or hide the TUI sidebar for the current session without changing the saved global preference.
Changed
- Align session storage more closely with Pi: stop writing redundant leaf pointers, store fixed-size first-kept compaction boundaries, and retain backward-compatible replay for older session files.
- Include compaction and branch-summary model usage in session analytics, exports, and RPC inspection with provider and routed-provider attribution.
- Make the prompt newline shortcut configurable and add a scoped-only tab to the scoped-model picker.
- Expose resolved Tau paths to extensions through ExtensionContext.paths and align Anthropic usage accounting with the provider contract.
Fixed
- Preserve interleaved Chat Completions reasoning and answer blocks instead of losing or misordering streamed content.
- Reject or retry incomplete Anthropic-compatible streams rather than accepting empty SSE frames as successful responses.
- Serialize Z.AI thinking requests correctly.
- Disconnect shell-command standard input after execution and ignore selection events from detached TUI transcript widgets.
- Highlight the initial provider correctly when the login picker opens.
v0.4.1
New
- Set the startup thinking level with a new --thinking/-t CLI flag; it overrides remembered per-model defaults and resumed transcript state without being persisted, and validates against the selected model's supported levels.
- See per-response performance in the TUI sidebar: average tokens per second and average time to first output, measured from provider stream timing and persisted on assistant messages.
Changed
- Accept autocomplete completions with Tab only; Enter now always submits the prompt unchanged.
- Cycle backward through scoped (favorite) models with Shift+Ctrl+P (remappable via model_cycle_reverse), complementing the existing Ctrl+P forward cycling.
v0.4.0
New
- Run tool-capable GGUF models through Tau's built-in llama.cpp local backend, with the /local workflow for endpoint configuration, diagnostics, model discovery, downloads, and load or unload management.
- Keep model metadata current from models.dev with a generated offline snapshot, background /model refreshes, tau update --models, richer capability metadata, and Pi-compatible reasoning levels including max.
- Recover eligible Hugging Face pre-output route failures automatically, persist successful replacement routes, and expose structured failover diagnostics while preserving explicitly fixed routes.
- Build dynamic providers from trusted extensions and let extensions add live sidebar sections, structured system-prompt sections, and react to session-name or thinking-level changes.
- Show active SYSTEM.md and APPEND_SYSTEM.md sources in the TUI sidebar.
Changed
- Render /system output as transcript Markdown without adding it to model context or session history.
- Compose all discovered user and project APPEND_SYSTEM.md files from broad to specific before explicit CLI append content, deduplicating overlapping paths across reloads.
Fixed
- Require explicit Google finish reasons, retry empty clean closes, preserve partial failures, and reject malformed stream chunks instead of treating incomplete streams as successful.
- Prevent malformed syntax-highlighter spans from crashing the TUI when rendering fenced code blocks.
- Update extension-owned sidebar content in place to prevent flicker and unnecessary widget remounts.
v0.3.13
New
- Drive Tau from editors and other subprocess hosts through a Pi-compatible JSONL RPC mode, including prompting, state, models, sessions, compaction, direct shell commands, exports, and session naming.
- Install trusted local or Git-hosted extensions with tau install, including pinned Git refs, staging validation, and overwrite protection.
- Use Pi-compatible prompt template arguments such as $1, $@, $ARGUMENTS, defaults, and slices while retaining legacy Tau placeholders.
Changed
- List Tau's utility commands in tau --help and add Discord community links to the documentation website and README.
Fixed
- Send agent_settled reliably after completed, failed, and interrupted runs so extensions receive the final idle state after cleanup.
- Keep TUI prompts readable when the terminal is too narrow for the normal prompt gutter.
v0.3.12
New
- Keep user-triggered skills out of the model-facing system prompt with disable-model-invocation frontmatter while retaining explicit invocation, picker, autocomplete, reload, and sidebar support.
Changed
- Refine sidebar skill and prompt headings with bold labels, muted metadata, and no hover or focus background highlights.
v0.3.11
New
- Resume existing sessions in print mode with --session, restoring saved conversation history, working directory, provider, model, and Hugging Face route while allowing explicit provider and model overrides.
- Show a startup transcript alert when a loaded skill or prompt template shadows a same-named resource from another location.
Changed
- Compact adjacent TUI tool activity into selectable batches, group related reads, edits, and writes with their file paths, and keep exact commands and results available through Ctrl+O.
- Group sidebar skills and prompts by resource origin and make both sections independently collapsible with loaded counts and an estimated skill-index token footprint.
- Toggle inline tool-result visibility without showing a redundant notification.
Fixed
- Preserve blank-line boundaries between streamed OpenAI reasoning-summary parts.
v0.3.10
New
- Edit custom prompt templates directly from the prompts picker with Ctrl+E, then save and reload them with Ctrl+S.
Changed
- Autocomplete explicit parent-relative file references while limiting external completion to the requested directory.
- Rename the HTML session export Cache tab to Usage and annotate prompt-input charts with session events and tooltip details.
- Move Hugging Face route controls out of Tau core and expose route inspection and selection through the public extension API.
v0.3.9
New
- Autocomplete dot-prefixed project files and directories in file references and shell commands while continuing to hide generated metadata paths.
- Keep successful /export destinations visible and copyable in the TUI transcript without adding them to model context or session history.
- Add Kimi K3 to the Hugging Face Inference Providers catalog with image input, a 1M-token context window, pricing, and reasoning effort controls.
Changed
- Improve Markdown heading and accent contrast in the built-in light theme.
- Use model-specific output token limits for Anthropic-protocol requests, including explicit GitHub Copilot Claude limits.
Fixed
- Persist interrupted tool results during cancellation so newly interrupted sessions retain valid provider history.
- Repair malformed tool-call history from older sessions before provider replay so affected sessions can resume normally.
v0.3.8
New
- Add a reactive cache analytics tab to live self-contained HTML session exports.
- Pin a Hugging Face model to an explicit backing Inference Provider for the lifetime of a session.
- Expose the resolved Hugging Face response provider in session metadata and diagnostics.
Changed
- Update Kimi K3 reasoning effort levels to low, high, and max.
- Add request timestamps to the cache tab tooltip and cache statistics table.
- Bill Anthropic 1-hour cache writes at their own independent rate instead of blending with input token rates.
Fixed
- Retry transient Anthropic stream errors instead of failing the entire turn.
- Fix tool history reset across provider switches so the active provider sees the correct prior tool results.
v0.3.7
New
- Decide project-input trust before Tau reads ambient project instructions, skills, prompts, themes, system prompts, or opted-in extensions; save exact/parent decisions or choose run-only scopes.
- Control automation with run-only `--approve`/`--no-approve` flags and user-global `defaultProjectTrust` ask/always/never policy.
- Pin a Hugging Face model to an explicit backing Inference Provider for the lifetime of a session.
Changed
- Unresolved headless `ask` now skips protected project inputs; user/global and explicit CLI resources remain available, and project extensions still additionally require `--project-extensions`.
- Project trust is explicitly an input-loading guard, not a filesystem, process, network, tool, model, credential, or prompt-injection sandbox.
- Show latest-request and session prompt-cache hit rates in the sidebar, track OpenAI Responses cache writes, and improve OpenAI prompt-cache affinity.
Fixed
- Exit Tau when the initial project-trust prompt is cancelled instead of continuing untrusted.
v0.3.6
New
- Customize the generated system prompt in print or TUI sessions with `--system-prompt` and repeatable `--append-system-prompt` text-or-file inputs.
- Load Tau-native `SYSTEM.md` and `APPEND_SYSTEM.md` files from user or project `.tau` directories, with CLI and project precedence plus `/reload` support.
Changed
- Rebuild provider configuration from the current catalog during upgrades while preserving preferences and custom providers, so stale metadata cannot hide new capabilities or restore withdrawn models.
- Include the current system prompt in live HTML session exports as a separate collapsed section; review exports before sharing because project instructions may be exposed, while JSONL and offline exports remain prompt-free.
Fixed
- Anchor context estimates to provider-reported token usage, proactively compact large sessions, and present automatic overflow recovery without misleading terminal errors.
- Keep `@` file-reference completion available in skill arguments and custom prompt text.
- Prevent direct `!` and `!!` shell commands from cancelling an active agent run.
v0.3.5
New
- Let print-mode automation choose a safe, durable session ID with `--session-id`, while preserving isolated-session guarantees.
Changed
- Cache Anthropic prompt prefixes to reduce repeated input billing, with auth-aware retention, compatibility overrides, and a sidebar cache hit rate.
- Redesign self-contained HTML session exports with compact accordions, entry filters and counts, expand/collapse controls, clearer tool labels, and offline JSONL download.
- Show normal working indicators and unfocused completion notifications while manual `/compact` runs.
Fixed
- Fix Anthropic subscription login and serialize OAuth token refreshes so rotating refresh tokens are not spent concurrently.
- Accept file drops when the terminal is unfocused without duplicating focused paste events.
- Safely hand off `tau update` on Windows after the running process exits, preserving executable paths and arguments exactly.
v0.3.4
New
- Send images read from disk to vision-capable models across supported providers, while giving text-only models an explicit omission notice.
Changed
- Validate and safely process image reads, including BMP-to-PNG conversion and bounded resizing for oversized static images.
Fixed
- Allow multiline instructions after `/skill:<name>`, including instructions separated from the invocation by a blank line.
v0.3.3
New
- Add direct Anthropic support for Claude Opus 5, including its 1M-token context window and adaptive-thinking effort mappings.
Changed
- Highlight terminal-command prompt input, border, and prefix with the active theme's running-tool color.
v0.3.2
Fixed
- Hide the unsupported `gpt-5.6` API alias from the OpenAI Codex subscription catalog while retaining it for direct OpenAI API users.
v0.3.1
New
- Add one-line installers for macOS, Linux, and Windows that install Tau through uv and verify the resulting command.
- Add configurable desktop or bell notifications when an agent run finishes while Tau is unfocused.
- Add searchable TUI pickers for prompt templates and skills, plus a searchable tools reference with full descriptions.
Changed
- Keep dense TUI sidebar sections compact by limiting rendered skills, context files, tools, prompts, and extensions while showing hidden-item counts.
- Make user settings forward-compatible by ignoring unknown fields while continuing to validate recognized settings.
Fixed
- Clear the prompt after cancelling the `/skills` picker instead of restoring the handled command.
v0.3.0
Changed
- Breaking: mirror Pi's non-interactive CLI flags. `--resume` is now `--session`, `-p`/`--prompt <text>` is now `-p`/`--print` with a positional prompt, `-o`/`--output` is now `--mode`, and `-x` is now `-e` for `--extension`; the old flags now error with a migration hint instead of running.
- Add a top-level `--export <session-id> [out]` flag alongside the existing `tau export` subcommand, and add `-v` as a short flag for `--version`, both matching Pi's flag names.
- Merge piped stdin into the print-mode prompt (e.g. `cat file | tau -p "..."`), matching Pi's behavior.
v0.2.4
New
- Add 28 live-routable Hugging Face Inference Providers models from Pi's built-in catalog.
- Insert files dragged onto the terminal as normalized prompt paths while preserving existing text and quoting paths that contain spaces.
Changed
- Shorten TUI sidebar context paths under the home directory with ~/ and give provider metadata quieter styling.
- Raise the minimum supported Pydantic version to 2.11 for explicit wire-model alias validation and serialization behavior.
Fixed
- Show expanded prompt-template text before automatic session naming starts, and avoid redundant naming attempts after provider retries are exhausted.
- Fix the resume picker search to avoid matching workspace paths while retaining session-name and model matches.
v0.2.3
Changed
- Default the TUI sidebar to the right side while preserving explicit left, right, and off preferences.
- Label TUI sidebar token totals as cumulative session usage and document why cumulative provider usage can exceed the active context estimate.
- Keep Tau's internal extension and model-catalog maintenance guidance in packaged self-documentation so it no longer appears in or competes with user skills.
Fixed
- Fix session JSONL reads splitting records on Unicode line separators (U+2028, U+2029, U+0085), which made affected sessions and the session index fail to load; the read-side fix also repairs already-affected session files.
- Fix picker highlight text contrast so focused labels use each theme's configured highlight foreground and background colors.
v0.2.2
New
- Add data-driven JSON themes with built-in palettes plus user and project theme discovery.
- Add live search to the resume session picker across session titles, models, and working directories.
Changed
- Keep long TUI sessions responsive by mounting a bounded transcript window while preserving access to the complete conversation.
- Redesign the TUI sidebar around session identity, lifetime activity, token usage, estimated cost, compaction status, and loaded capabilities.
v0.2.1
New
- Persist thinking/reasoning blocks and provider replay metadata across Tau's Pi-compatible event streams, session storage, exports, and TUI rendering.
- Bundle Tau self-knowledge docs, examples, and skills so installed copies can answer Tau-specific questions without a source checkout.
Changed
- Discover Codex context and compaction limits at runtime from the authenticated model catalog, with conservative static fallbacks and a visible limit source in session diagnostics.
- Remove the redundant animated tool-row spinner while keeping static status-colored markers and elapsed-time feedback.
Fixed
- Fix provider-error recovery so a failed or aborted assistant turn no longer poisons the next prompt, while keeping the error visible in the TUI and session history.
- Fix tool-call labels in the session tree for assistant turns without visible text.
- Fix light theme code block background in fenced code blocks.
- Coerce the startup thinking level to a mode the remembered default model supports, preventing crashes on incompatible saved preferences.
- Fix tests launching the real Anthropic OAuth browser during test runs.
v0.2.0
New
- Add Pi-compatible agent, provider, coding-session, and extension event streams with canonical lifecycle and settlement events.
- Add OAuth login parity for Anthropic, GitHub Copilot, and OpenCode providers.
- Add Kimi K3 model support.
Changed
- Replace the legacy runtime message, event, tool, session, and extension protocol with strict Pi-compatible contracts.
- Enrich extension turn events with turn indexes and timestamps.
- Keep tau_agent independent of tau_ai by moving portable provider contracts into the agent package.
Fixed
- Migrate legacy Tau v1 sessions, including null usage costs, at the persistence boundary.
- Improve interactive OAuth login modal navigation.
v0.1.6
New
- Add Python extensions for custom tools, slash commands, lifecycle hooks, dialogs, and message rendering.
- Add Kimi K2.7 Code, Kimi Code subscription, and MiniMax-M3 model catalog entries.
- Add tiered model pricing metadata for models whose rates change with input size.
Changed
- Require Textual 8.2.8 or newer so CJK input methods work correctly.
- Pass unknown slash-prefixed input through as prompts instead of rejecting it as an unknown command.
- Retry Anthropic HTTP 425 and all 5xx responses consistently with other providers.
Fixed
- Fix extension reload lifecycle ordering.
- Ignore saved provider preferences when their providers are no longer configured.
- Prevent missing or malformed bundled release notes from crashing startup.
v0.1.5
New
- Add OpenAI GPT-5.6, GPT-5.6 Sol, GPT-5.6 Terra, and GPT-5.6 Luna model catalog entries for OpenAI and OpenAI Codex.
- Add NVIDIA NIM as a built-in provider.
- Redesign session HTML export with a cleaner, icon-based interface.
Changed
- Improve the documentation website with a roadmap page, clearer Pi links, and refreshed navigation and homepage polish.
Fixed
- Fix release-note packaging so installed wheels include the bundled release notes file.
- Fix Windows test isolation by avoiding accidental writes to a real ~/.tau directory.
- Fix TUI theme selection edge cases.
v0.1.4
New
- Add automatic session naming for new conversations.
- Add terminal tab titles with the Tau mark and active session name.
- Add Claude Fable 5 and Claude Sonnet 5 model catalog entries.
- Add a TUI sidebar_position setting for left or right sidebar placement.
Changed
- Unify skill discovery around the Agent Skills specification.
- Read tau --version from installed package metadata.
- Compact large pasted prompts in the TUI while preserving pasted content.
Fixed
- Fix Windows crashes caused by non-ASCII CLI output on non-UTF-8 streams.
- Fix Gemini tool-call compatibility by preserving thought signatures and stripping unsupported JSON Schema keywords.
- Fix skill discovery edge cases by ignoring .agents root directories and bare Markdown files under .agents/skills.
- Fix SOCKS proxy environment URL handling.
- Fix queued steering recall, TUI completion height stability, pasted placeholder expansion, auto-naming indexing, and terminal-title refreshes.
v0.1.3
New
- Add a config-driven Pi API provider catalog with user overlay support.
Changed
- Optimistically render ordinary TUI prompt submissions to reduce perceived latency.
- Improve scoped provider/model switching performance and responsiveness.
- Migrate the documentation site to Hugo.
Fixed
- Prevent custom prompt slash commands from appearing twice in the TUI transcript.
- Persist interrupted tool repairs correctly when resuming sessions.
- Show bad --model values as clean errors instead of tracebacks.
- Fix provider/model selection and resume mismatch edge cases.
- Hide code block scrollbars while assistant messages are streaming.
v0.1.2
New
- Show one-time release highlights in the TUI transcript after Tau is upgraded.
- Show the active session name in the TUI header.
Changed
- Render assistant and thinking messages without role blocks for a cleaner transcript.
- Apply role foreground colors to streaming transcript messages.
- Clarify the PyPI release process in the developer notes.
Fixed
- Fix autocomplete suggestion window shrinking.
- Keep pre-branch context when branching with a summary.
- Keep session state on the active branch when persisting messages.
v0.1.1
New
- Check PyPI for Tau updates on startup.
- Route OpenAI gpt-5.5, gpt-5.4, and codex models to the /v1/responses API.
- Add the /system command for viewing the active system prompt.
- Add prompt history recall with the Up key.
Changed
- Lower the Python requirement to 3.12.
- Render transcript messages as full-height role blocks.
Fixed
- Restore streaming transcript scrollback.
- Fix TUI code block horizontal scrolling.
- Fix autocomplete suggestion viewport sizing.
- Disable TUI text selection while streaming.
- Guard Markdown selection until blocks are mounted.
- Validate conflicting session flags in the CLI.
- Stabilize CI checks.