Show HN: Baton – A desktop app for developing with AI agents
TL;DR Highlight
A desktop app that lets you run multiple AI coding agents (Claude Code, Gemini CLI, etc.) simultaneously in separate git worktrees and monitor them all in one place — ideal for developers who want to split work by feature and develop in parallel.
Who Should Read
Developers who want to run multiple AI coding agents like Claude Code or Codex CLI simultaneously and manage the progress of each task from a single interface. Especially suited for those who want to develop multiple features in parallel without branch conflicts.
Core Mechanics
- Baton is a desktop app for running and managing multiple AI coding agents simultaneously (supports all CLI-based agents including Claude Code, Codex CLI, OpenCode, and Gemini CLI), available as a free download for Mac, Windows, and Linux.
- Each task (workspace) is fully isolated via git worktree (a git feature that maintains multiple independent working directories within a single repository), so agents never interfere with or conflict with each other — each works on its own branch without needing to switch branches or use stash.
- The dashboard displays each agent's status with badges: a blue 'Input' badge when waiting for input, a green 'Done' badge when the task is complete, and a red 'Error' badge when an error occurs — no need to check each tab individually. Best support is provided for Claude Code.
- When starting a task, you describe what you want to build and the AI automatically generates a branch name, workspace title, and description. Enabling 'Accept Edits' mode lets the agent start working immediately without permission prompts.
- A built-in diff viewer based on Monaco editor (the code editor component used in VS Code) lets you review agent-made changes file by file before opening a PR, with the ability to roll back individual files. A 'Live follow mode' is also supported for tracking changes in real time while the agent is working.
- A built-in MCP (Model Context Protocol, the standard protocol for AI agents to call external tools) server allows agents to directly create new workspaces or launch parallel tasks during a conversation.
- Additional code review utilities are built in, including fuzzy file search and full-text content search powered by fzf and ripgrep, git blame, and per-file commit history. Frequently used shell commands or agent prompts can be saved as 'Actions' for reuse.
Evidence
- "There were criticisms that Baton's differentiators weren't clear given the large number of similar open-source agent managers emerging, with tools like Conductor, superset.sh, t3.codes, and cmux mentioned as alternatives — one commenter even noted that Claude Desktop itself has supported worktree-based parallel agents for over a month. There was also criticism that these agent managers are essentially rebuilding IDEs, with the argument that improving VS Code would be more practical since it already runs as a web app in containers, supports workspaces, and has an extension ecosystem (visualJJ, a worktree/workspace manager, was also mentioned). Practical questions arose about the cost of running multiple Claude Code agents simultaneously, with comments asking whether users were expensing it to their company — indicating that cost is a significant real-world barrier. More fundamental questions were raised about what people are actually building with agents, worktrees, and harnesses. Commenters shared that most use cases stay at the level of generating boilerplate components for frameworks like React or Laravel, or small personal apps, with one person describing using agents to remove dead code from large codebases as a time-saving task. There was also UX feedback about the site's design — one commenter said they gave up reading within 30 seconds due to a TV-noise background effect and flickering thin blue lines — and separately, someone shared a similar terminal-based tool they had built and published on GitHub (agent-storm)."
How to Apply
- "If you need to develop multiple features simultaneously with Claude Code, install Baton and create a workspace per feature — each agent works on its own independent git branch, enabling parallel development without conflicts, and you can review changes with the diff viewer and open a PR when done. If you find yourself constantly switching terminal tabs to check whether an agent has finished, use Baton's status badges and dock notifications — you'll be alerted the moment an agent reaches a completed, error, or input-waiting state, so you can check back while doing other work. If you have frequently used agent run options (e.g., flags like --dangerously-skip-permissions) or project initialization commands, save them with Custom Agent Presets and Workspace Setup so you don't have to re-enter them every time you create a new workspace."
Code Example
snippet
# Installing via AppImage on Linux
sudo apt install fuse libfuse2 # Debian/Ubuntu
sudo dnf install fuse fuse-libs # Fedora
chmod +x baton-*.AppImage
./baton-*.AppImage
# Verifying download integrity
# macOS
shasum -a 256 [file]
# Linux
sha256sum [file]
# Windows (PowerShell)
Get-FileHash [file] -Algorithm SHA256Terminology
git worktreeA git feature that allows multiple working directories to be checked out simultaneously from a single repository. Useful for creating fully isolated environments per agent, enabling work on multiple branches at the same time without switching branches.
MCPShort for Model Context Protocol, a standard interface that allows AI agents to call external tools and services. Think of it like USB — a common standard between agents and tools.
MonacoThe code editor component used in VS Code, supporting syntax highlighting, diff views, and auto-completion. Used to embed VS Code's editing capabilities directly into web or desktop applications.
PTYShort for Pseudo-Terminal, a virtual terminal that behaves like a real terminal inside a program. It is the interface used when terminal apps communicate with a shell, and it is the underlying technology that allows Baton to run CLI agents with full functionality.
fzfA command-line tool for fast fuzzy (approximate, typo-tolerant) searching of files and text.
ripgrepA text search tool significantly faster than grep, capable of finding specific strings across large codebases in an instant.