Agent monitoring

Know when every agent needs you

Status badges on every workspace card — done, waiting for input, or errored. Glance at the sidebar instead of cycling through terminals. One-click notification setup for supported agents.

Baton notification badges on workspace cards showing agent status
Baton demo video thumbnail

Your agents, supercharged

Real terminal sessions with full feature support, not a watered-down wrapper. Notifications when agents finish, an MCP server so agents can spawn workspaces, and presets to customize how and which agent launches.

Built-in MCP server

Agents can launch new Baton workspaces, run tasks in parallel, and update workspace titles and descriptions — directly from your conversation. One-click setup for starred agents.

Custom Agent Presets

Define multiple agent CLI presets with varying launch modes, completely customized flags, and entirely custom startup scripts.

Smart Notifications

Status badges on every workspace card — know at a glance when an agent finishes, needs input, or hits an error. One-click setup for supported agents.

Works with any agent that runs in a terminal

Any CLI agent
Worktree isolation

Every workspace is a separate branch

Each workspace is a real git worktree with its own branch. Agents never interfere with each other — no stashing, no switching, no conflicts. See git changes at a glance, push branches, and open PRs directly from the app.

Baton workspace overview with project sidebar and workspace cards
Quick create

From idea to isolated workspace in seconds

Describe what you want to build — Baton generates the branch name, title, and description. Toggle "Accept Edits" to let the agent start immediately. Open the dialog from anywhere with a global keyboard shortcut.

Baton new workspace dialog with task description, auto-generated branch name, and accept edits toggle
Diff viewer

Review every change before opening a PR

Monaco-powered diff viewer with split and unified modes. Roll back individual files, follow changes live as the agent works, or compare against any branch.

Baton diff viewer showing side-by-side code changes

Loved by engineers

“I'm deep in the weeds in the AI world and I've tried so many different orchestrators, and I've not resonated with a single one until Baton. I typically sling 10+ terminal sessions across 4-5+ projects — I'm now moving all that to Baton. It's simple, takes custom start commands for the agents, and it just works.”

Samuel M. Software Engineering Technical Leader, Cisco
Product Hunt Daily

“One agent is fun. Two feels clever. Four is usually where the whole thing turns into branch soup and nobody remembers which window is doing what. This is for that point.”

— Product Hunt Daily, editorial take on Baton
Baton - Orchestrate your AI coding agents | Product Hunt
Baton dashboard overview

Dashboard Overview

Active, stashed, and archived sections keep workspaces organized. Search across names, descriptions, and branch names to find anything instantly.

Baton actions dropdown

Actions

Save shell commands and agent prompts as reusable templates. Run them in any workspace from the toolbar.

Baton content and file search

Content & File Search

Fuzzy file search and full-text content search powered by fzf and ripgrep, with instant highlighted matches.

Baton commit history

Commit History

Browse commit history for any workspace. Per-commit diffs with file-level change stats in the built-in diff viewer.

Baton file viewer

File Viewer

Full file tree with a built-in Monaco code viewer. Browse and review files without leaving Baton.

Baton workspace setup

Workspace Setup

Define per-project setup steps — copy files, install dependencies, run commands. New workspaces start ready to go.

Git Blame

Line-by-line blame annotations in the editor gutter. Click any entry to jump to that commit in the history view.

File History

Right-click any file to browse every commit that changed it. Per-commit diffs with line stats — renames tracked automatically via git log --follow.

Terminal Tabs & Splits

Multiple terminals per workspace with tabs and split panes. Search output, multi-line input, drag-and-drop reordering.

Workspace Archiving

Archive or delete finished workspaces. Batch operations and drag-and-drop reordering across projects.

Custom Agent Commands

Configure your own agent commands and startup scripts. Use any tool that runs in a terminal.

Built-in Git GUI

Fetch, pull, rebase, and push branches directly from the toolbar. Once your agent is done, open a Pull Request to GitHub or GitLab with a single click.

Themes & Customization

Dark mode with 11 accent colors or a custom hex. Customize terminal ANSI colors and fonts. Changes apply instantly.

Keyboard Shortcuts

Fully customizable shortcuts for workspace navigation, terminal tabs, pane splits, and file operations. Reset to defaults any time.

Multi-Window

Open multiple windows and move workspaces between them. Spread work across monitors or keep different projects in separate windows.

Common questions

Your code never leaves your computer. Baton runs locally with no accounts required. The one optional cloud feature is AI-generated workspace titles and branch names — when enabled, your first prompt (not code) is sent to a reputable paid AI provider that does not train on your data. Baton never stores your prompts. You can also bring your own API key or disable this entirely in settings. The AI agents you run (Claude Code, Codex, etc.) connect to their own APIs directly, same as if you ran them in any other terminal.

Any agent that runs in a terminal. Claude Code, Codex CLI, OpenCode, and Gemini CLI have first-class support with features like smart notifications and one-click MCP setup. You can also configure any custom command — if it runs in a shell, it works in Baton.

Yes. Every workspace is backed by a real directory on disk with a built-in shortcut to open it directly in VS Code, Cursor, Windsurf, or Xcode. You can also point any other editor at the worktree path. Baton manages the git branches and agent orchestration; your IDE handles editing.

You're in full control. Archive a workspace to hide it from the sidebar, or delete it to remove the worktree and branch from disk. You can also push the branch and open a PR before cleaning up. Worktrees are standard git worktrees — nothing proprietary.

Everything. All features, all tools, all agents, all customization — no restrictions. The free version is limited to 4 concurrently running workspaces. A one-time $49 license removes that limit and gives you unlimited workspaces, with a 14-day money-back guarantee.

Baton gives every agent its own git worktree — a separate working directory with its own branch — so agents can't step on each other's work. On top of that, you get a clean GUI to organize everything: live status indicators, a built-in diff viewer, file viewer, content search, commit history, seamless PR creation, and keyboard shortcuts that make common operations fast and effortless.

Yes, Git must be installed on your system. Baton uses your local Git installation to create and manage worktrees.

Start your first workspace in 30 seconds

Download for free. All features included — upgrade when you need more workspaces.

Windows Beta
Linux Beta
Setup & verification

Linux Setup

Install FUSE to run AppImages:

sudo apt install fuse libfuse2   # Debian/Ubuntu
sudo dnf install fuse fuse-libs   # Fedora

Then make it executable:

chmod +x baton-*.AppImage
./baton-*.AppImage

Verify Integrity

Compare your download's hash with the published checksums:

View SHA256 checksums →

macOS: shasum -a 256 [file]
Linux: sha256sum [file]
Windows: Get-FileHash [file] -Algorithm SHA256