Baton: A Desktop App for Managing Multiple AI Coding Agents

What Baton Does
Baton is a desktop application designed to manage multiple AI coding agents running simultaneously. The creator built it because running multiple Claude Code agents across different IDE and terminal windows was becoming messy. It provides a single dashboard to view all agents and worktrees, switch between them, monitor their status, and review changes when they're done.
Core Features
Worktree Isolation: Each workspace is backed by a real git worktree with its own branch. Agents never interfere with each other - no stashing, no switching, no conflicts. You can launch an agent in a new workspace in seconds, push branches and open Pull Requests directly from the app, and archive or delete when finished.
Agent Monitoring: Labeled status badges appear on workspace cards when agents finish, hit errors, or need input. Badges include:
- "Input" badge (blue) when an agent is waiting for input
- "Done" badge (green) when a turn completes successfully
- "Error" badge (red) when an agent reports an error
Quick Creation: Describe what you want to build and Baton generates a branch name, workspace title, and description automatically using AI. Toggle "Accept Edits" to let the agent start working immediately without waiting for permission prompts. Open the dialog from anywhere with a keyboard shortcut.
Terminal and Agent Support
Baton runs AI coding agents in real terminal sessions with full feature support, not as watered-down wrappers. It supports CLI-native agents including Claude Code, Codex CLI, OpenCode, Gemini CLI, and any CLI agent. The app includes a built-in MCP server that allows agents to launch new Baton workspaces, run tasks in parallel, and update workspace titles and descriptions directly from conversations.
Additional Tools
Diff Viewer: Monaco-powered diff viewer shows exactly what each AI agent changed. You can roll back individual files you don't want while keeping the rest, with split & unified diff modes and live follow mode to watch agent changes as they happen.
Dashboard Organization: Active, stashed, and archived sections keep workspaces organized. Search across names, descriptions, and branch names to find anything instantly.
File Management: Includes fuzzy file search and full-text content search powered by fzf and ripgrep, with instant highlighted matches. File tree with built-in Monaco code viewer lets you browse and review files without leaving Baton.
Git Integration: Browse commit history for any workspace with per-commit diffs and file-level change stats. Toggle line-by-line blame annotations in the editor gutter to see who changed each line, when, and why. Right-click any file to browse every commit that changed it.
Terminal Features: Multiple terminals per workspace organized as tabs. Split any tab into panes, search output with highlighting, and use Shift+Enter for multi-line input. Drag-and-drop tab reordering.
Customization: Configure custom agent commands and startup scripts for any tool that runs in a terminal. Built-in Git GUI for fetch, pull, rebase, and push operations directly from the toolbar. Dark mode with 11 accent colors or custom hex, with customizable terminal ANSI colors and fonts.
📖 Read the full source: HN AI Agents
👀 See Also

Lobster Cage: Dockerized Security Environment for Self-Hosting OpenClaw on Raspberry Pi
A developer built Lobster Cage, a Docker Compose environment with restricted outbound access and proxy-based routing to run OpenClaw securely on a Raspberry Pi for experimentation.

Agents Elements: A macOS Dashboard for Claude Code & Codex Installations
A native SwiftUI macOS app that scans ~/.claude and ~/.codex to show installed skills, subagents, commands, plugins, MCP servers, hooks, and session status with token usage.

Ouroboros 0.26.0-beta Combines Claude and Codex via MCP Server
Ouroboros 0.26.0-beta introduces a harness that runs Claude and Codex simultaneously, assigning Claude to clarify user intent and Codex to execute well-defined tasks via an MCP server architecture.

Ephemeral OpenClaw setups with network sandboxing and auto-teardown
A setup that boots OpenClaw inside an ephemeral VM with a network egress allowlist, injects API keys into RAM-backed storage, and includes a 2-hour auto-teardown. All LLM calls are recorded to SQLite for replay.