Tau.Nvim banner
emilpriver emilpriver

Tau.Nvim

AI community

Description

Tau.nvim is a native llm coding agent built for neovim

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Tau.nvim

yoshi

**tau.nvim** is a Neovim plugin that embeds an **AI coding agent** in your editor: a chat UI with **streaming replies**, **tool use** (read/write files, run commands, Neovim buffers, etc.), **sessions** persisted to disk, **@mentions** for file context, and **AGENTS.md**-style project instructions. Providers (LLM backends) are **pluggable**: load them via `setup({ plugins = ... })` and/or `register_provider`.

**Requirements:** Neovim **0.10+** and **`curl`** on `PATH` (see [`:help checkhealth`](https://neovim.io/doc/user/pi_health.html) via `:TauCheckHealth`).


Features

  • Chat UI — Side split or floating layout; history buffer + prompt; optional zen mode.
  • Streaming — Token-by-token assistant output with optional reasoning/thinking display.
  • Tools — Model can call tools (file I/O, bash, buffer introspection, diagnostics, etc.); the dispatcher runs a bounded tool loop.
  • Sessions — One session per tab; JSONL storage under vim.fn.stdpath("state")/tau/sessions/; scoped by cwd; resume via vim.ui.select (same UX as built-in pickers).
  • Session branching — Lua API to fork from a message, clone a session, or pick a fork point interactively.
  • Mentions — Insert file/selection context into the prompt (:TauPromptContext); extensible mention providers.
  • Agents — Loads AGENTS.md from ~/.agents/ and project .agents/ into the system prompt (:TauAgents).
  • Auth:TauLogin / :TauLogout with keys stored via tau.auth; providers can also read API keys from environment variables they define.
  • Extensibility — Register LLM providers, mention providers, and session storage backends from other plugins or your config.

Installation

Use your plugin manager and call `setup()` once.

**lazy.nvim**

{
  "emil