baton

Quickstart

Install Baton from npm and run the daemon + dashboard.

This gets you from zero to a running dashboard with one task in a worktree.

Or skip it — paste one prompt instead

You have an AI agent already. Set up with your agent gives you a prompt to copy into Claude Code, Cursor, or Antigravity that does everything on this page — plus wiring your agents and starting the dashboard — and asks you the few questions that matter.

Prerequisites

  • Node.js ≥ 24 and git — the only hard requirements
  • uv (optional) — installs the graphify CLI for the knowledge graph. Setup offers to do this for you and never blocks on it.
  • tmux (optional) — only needed for interactive agent terminals in the dashboard
  • At least one agent CLI on your PATH: claude, cursor-agent, codex, gemini, aider, or opencode

The package is `batonhq`, the command is `baton`

baton, baton-cli and create-baton on npm are unrelated projects by other authors.

Install

One command, inside the repo you want to coordinate:

It scans the folder and shows what it found — git, Node, whether graphify is present, which agent CLIs are on your PATH — then asks the handful of questions it cannot infer, recommending an answer to each:

  1. one repo, or a hub over several? — a folder holding 2+ git repos can become one centralized hub (merged graph, one dashboard) or be set up individually
  2. which agents do you use? — recommends the ones already on your PATH
  3. turn on the knowledge graph? — offers to run uv tool install graphifyy
  4. dashboard, or headless over MCP?
  5. install the bundled skills?
  6. install baton globally? — so the next command is baton …, not npx batonhq …

Pressing Enter takes the recommendation. Nothing blocks: skip the knowledge graph and you lose the graph and nothing else — worktrees, tasks, edit signals, memory, handoff and the dashboard all still work.

Installing it permanently

Setup offers this at the end when you came in through npx.

Scripted or unattended?

baton setup --yes --agents claude,codex skips every prompt. --yes accepts the project defaults but deliberately installs no software — it prints the one-line command instead — because --yes is what CI and Dockerfiles run.

Building from source

Only for working on Baton itself:

Clone and enter the repo

Install dependencies (CLI + dashboard)

Build both workspaces

Install the graphify CLI

This powers the knowledge graph. Skip only if you don't want code-graph features.

Put baton on your PATH

Now baton --help works from any repo.

First run

One-command setup

In a hurry? baton setup does the indexing, git hook, MCP config, and .gitignore for you — and handles a folder of several repos as one hub. It even asks whether you want the dashboard or a headless (MCP-only) setup. See Setup & multi-repo hubs.

The steps below are the same thing, done by hand.

Initialize the knowledge base

Run this inside the repo you want to coordinate. It indexes the code, installs a git hook, and generates MCP config so your agents can query the graph.

Start the daemon + dashboard

Open http://localhost:7077. The --write flag enables merge/remove actions from the dashboard; omit it for a read-only view.

Create your first task

This scaffolds an isolated worktree at .baton/wt/try-the-dashboard on branch baton/try-the-dashboard. Launch an agent in it from the dashboard, or with baton start try-the-dashboard.

Demo vs real

The dashboard you just opened on :7077 shows real data from your repo. If you run the Vite dev server (npm run dev --prefix web) on :5173, that defaults to demo mode with showcase fixtures — handy for a tour without a daemon. See Concepts.

Wire up your agents (optional)

Give your agents access to Baton's coordination tools and the knowledge graph:

Or connect them one-by-one from the dashboard's Agents page. See MCP & Agents.

Next

On this page