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
graphifyCLI 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, oropencode
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:
- 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
- which agents do you use? — recommends the ones already on your PATH
- turn on the knowledge graph? — offers to run
uv tool install graphifyy - dashboard, or headless over MCP?
- install the bundled skills?
- install
batonglobally? — so the next command isbaton …, notnpx 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:
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.