Batonv0.3.9

Quickstart

Five minutes from nothing to a team of agents working on your code.

1. Install Baton

curl -fsSL https://raw.githubusercontent.com/k6w/baton/main/install.sh | sh

On Windows, in PowerShell:

irm https://k6w.github.io/baton/install.ps1 | iex

Or npm i -g batonsh, or brew install k6w/tap/baton. The installer verifies the download's checksum and puts a single baton binary in ~/.local/bin. Nothing else is installed or changed. baton update keeps it current.

2. Have at least one agent signed in

Baton doesn't replace your coding agents. It runs the ones you already use, each with its own login and plan. One is enough to start; two different vendors make cross-reviews possible.

AgentInstallSign in
Claude Codeclaude.com/claude-codebaton login claude
Codexnpm i -g @openai/codexbaton login codex
OpenCodecurl -fsSL https://opencode.ai/install | bashbaton login opencode
Gemini, Cursor, Copilot, Goose, Qwen…their own installersbaton login <agent>
Baton's own agentbuilt inan API key (ANTHROPIC_API_KEY, OPENAI_API_KEY, …) or a local model

baton login <agent> runs that agent's own sign-in. Baton never sees or stores your credentials. Check what Baton found with:

baton doctor

3. Try it without spending tokens

baton demo

Simulated agents plan, write code, review each other and merge, so you can learn the screen. ? lists every key, and /guide has short lessons.

4. Start in your project

cd my-project
baton

The first run sets the folder up: it detects your agents and toolchain, writes .baton/config.toml, and creates AGENTS.md (existing files are never overwritten). Then type what you want:

add rate limiting to the /login endpoint, with tests

The orchestrator plans, picks agents, and gives each one its own git worktree. Workers' changes are reviewed by an agent from a different vendor and merged into your project after your checks pass.

What needs you shows up as ⚑ in the status bar. ctrl+a opens the inbox and ctrl+y approves the oldest request.

5. Choose how much freedom they get

shift+tab cycles the autonomy dial for every agent at once:

ModeWhat agents may do without asking
normaleach agent's own defaults: reads and edits in its worktree; risky commands ask
autoeverything inside the workspace sandbox
yoloeverything, no sandbox. Your deny rules still hold
asknothing: every action waits for you

Next

Baton 0.3.9 · MIT · Edit this page on GitHub