localNo hosted service. No cloud sandbox.

The coding agent that remembers. Your machine, your model.

taucode reads, writes and edits files and runs shell commands like any coding agent. It also keeps project-scoped memory, so session ten starts where session nine ended.

bun start · dashboard on localhost:7777
localhost:7777
The taucode dashboard: a sessions chart, agent status, memory stats and the chat dock
Memory

Notes that get more useful every session.

Most coding agents forget you when the terminal closes. tau writes down what it learns, per project, and brings back only what the current turn needs.

Signup uses a token bucket, 5 req/min per IPfact
Migrations are plain SQL in db/migrationsfact
Tests run with bun testfact
gate·retrieve2 of 14 facts

Facts

Semantic memory stored per project. Before each turn a Retrieval Gate decides whether facts are needed at all, and what to search for.

today · 14:02Added rate limiting to /login, reusing the /signup middleware.
yesterday · 18:40Agreed never to edit an applied migration.
sep 26 · 10:15Set up the eval gate for CI.

Episodes

After every turn tau writes a one-sentence summary and consolidates them over time. That's how it remembers what you did last week.

name: add-endpoint
triggers: route, endpoint, api
steps:
  1. read an existing route
  2. copy its middleware stack
  3. add a test next to it
create_skill

Skills

Procedural memory: named instructions with trigger keywords, injected when your prompt matches. tau can write new ones itself.

How it works

Ask. Recall. Approve.

Type a request in your terminal. tau pulls in the memory that matters, plans with your model, and stops for a yes before it touches anything.

  • Any provider. Log in to OpenAI with your ChatGPT account, or paste an Anthropic API key. Swap models mid-session with /model.
  • A permission gate. Every write, edit and shell command asks first. Reads run freely.
  • A live dashboard. Reasoning, memory, tool calls, traces and cost at localhost:7777.
tau — ~/projects/my-app
taucode · dashboard → http://localhost:7777
  /model   pick a model
  /auth    switch provider

[Memory] 3 facts · 12 episodes · 2 skills

› 
Design

Fully local. Less on purpose.

Everything tau does happens on your machine where you can see it. Each of these choices has an ADR in docs/adr/.

No cloud sandbox

Tools run directly on your machine, which is why every write, edit and shell command asks you first.

No hosted service

There's no account to create and no server of ours between you and the model. You bring your own provider.

No spoofed logins

Claude uses a real API key. Logging in with a Pro/Max subscription would mean impersonating another product, and that gets accounts banned.

Install

Zero to a working agent in four steps.

taucode runs on Bun. You need bun, git, and an OpenAI account or Anthropic API key.

1Install Bun

Skip this if bun --version already works.

macOS / Linux
curl -fsSL https://bun.sh/install | bash
Windows
powershell -c "irm bun.sh/install.ps1 | iex"
2Clone and install

Pull the repo and install its dependencies.

git clone https://github.com/Saikat-D023/tau-code.git
cd tau-code && bun install
3Connect a provider

OpenAI uses a browser login against your ChatGPT/Codex account. Claude takes an API key. Credentials are saved to ~/.taucode/auth.json, outside the repo.

bun run auth
4Start tau

Opens the chat loop in your terminal and the live dashboard at localhost:7777.

bun start
Reference

Commands

Everything you can type, run or configure.

/modelOpens an interactive picker for models on your current provider.
/model <name>Sets the model directly on your current provider.
/authLogs in to or switches provider (OpenAI OAuth or Claude API key) without leaving the session.
exit · quitEnds the session. Ctrl+D also works.
anything elseSent to the agent as a turn. Tool calls print inline as ↳ tool {args}.

Start a session that remembers.

Clone the repo, connect a provider, and run bun start.