Get This Tool
Baton
Summary
Three Claude Code sessions running, one waiting on your input — and you have no idea which one, so you context-switch into all three before finding it. Baton is the macOS menu bar app that ends that.
Baton sits in your menu bar and polls the signals your machine already produces — no manual logging, no clipboard tricks — to show you which AI coding sessions are mid-run and which have handed the decision back to you. The core metaphor is the 🎽 icon: the baton is with the agent, or it's with you. Click the menu, see the queue, jump straight to the session that needs a response. This is a local Python app, MIT-licensed, installed via a shell script, and it runs entirely on your machine. It works with Claude Code and Codex threads on macOS — nothing else, and no roadmap to something else is documented.
Bottom line: Pick Baton when you're juggling two or more Claude Code sessions on a Mac and keep losing track of which one stalled; abandon it the moment your team moves to Linux, adds a third tool outside Claude Code or Codex, or needs any kind of shared visibility across teammates.
Community Performance Report Card
No community ratings yet. Be the first to rate this tool!
Community Benchmarks Community
Sign in to submit a benchmarkNo community benchmarks yet. Be the first to share a real-world data point.
Pros
Sign in to edit- Reads session state from signals your machine already emits with no manual tagging required, so you skip the meta-work of tracking the tracker.
- Menu bar presence gives you persistent ambient visibility without opening a separate app, which means a stalled session doesn't stay hidden behind a terminal window you forgot about.
- Click-to-jump navigation takes you directly from the status view to the waiting session, so the time between 'agent is blocked' and 'you respond' shrinks to a single click rather than a tab hunt.
- MIT license and local-only architecture mean no data leaves your machine and no subscription gates the feature set — the thing you install on day one is the complete tool.
- Install script handles dependency setup, so the gap between 'found this on GitHub' and 'running in my menu bar' is a single shell command.
Cons
Sign in to edit- macOS is a hard requirement with no documented workaround — developers on Linux or Windows cannot run this at all, and teams with mixed environments need a different solution from day one.
- Support is scoped to Claude Code and Codex; the moment your workflow adds a third agent type — say, a custom LangChain runner or a Cursor session — Baton goes dark on that thread and you're back to manual tracking for part of your stack.
- There is no shared or team-facing view: status is visible only to the person running the local app, so any team that needs collective awareness of which agents are blocked across multiple developers has to maintain a separate coordination layer.
- Zero API surface means you cannot pipe Baton's session state into a dashboard, alert system, or ticketing tool — teams that want agent status wired into their existing ops tooling have to instrument that themselves from scratch or switch to a tool built for integration.
Community Reviews
Sign in to write a reviewNo reviews yet. Be the first to share your experience.
About
- Platforms
- macOS
- API Available
- No
- Self-Hosted
- Yes
- Last Updated
- 2026-07-14T08:15:56.320Z
Best For
Who it's for
- Developers running multiple Claude Code or Codex instances
- Users who need persistent visibility into agent status
- macOS workflows involving unattended AI agents
What it does well
- Monitor multiple AI coding sessions simultaneously
- Identify which agent requires user input next
- Quickly switch between Claude Code and Codex threads
Integrations
Discussion Community
Sign in to commentNo discussion yet. Sign in to start the conversation.
Compare Baton
Spotted incorrect or missing data? Join our community of contributors.
Sign Up to ContributeCommunity Notes & Tips Community
Sign in to contributeBe the first to contribute. General notes, observations, gotchas, and tips from people who use this tool day-to-day.
Frequently Asked Questions
- Is Baton free?
- Yes — Baton is fully free to use. There is no paid tier.
- Is Baton open source?
- Yes. Baton is open source.
- Can I self-host Baton?
- Yes. Baton supports self-hosting on your own infrastructure.
- What platforms does Baton support?
- Baton is available on: macOS.
Hours Saved & ROI Stories Community
Sign in to contributeBe the first to contribute. Concrete time/cost savings, with context. e.g. "Cut my code review backlog from 4h to 45m per week."
Curated lists that include this category
When you run more than one AI coding agent at once, the bottleneck shifts from the agents’ speed to your own attention. Baton addresses this by reading the state signals your macOS environment already emits — the docs describe this as ‘zero manual entry’ — and surfacing a sorted view in your menu bar: sessions where the agent is still running versus sessions where the baton is back in your hands. Click an item and you jump directly to that session. The install script handles dependencies; the core stack is a local Python app with a small web server backing the menu bar UI.
The differentiating detail is passive signal collection. Rather than requiring you to tag sessions, set timers, or file tickets, Baton reads what your machine already knows. The vendor describes it as reading ‘signals your machine already emits.’ That means onboarding is the install script — nothing more. For developers who resent tooling that demands its own upkeep, that is the entire pitch.
Baton fits a narrow but real scenario: a solo developer on macOS running two or more Claude Code or Codex threads who needs persistent, ambient visibility into which agent is blocked on them. It breaks down clearly outside that frame. macOS is a hard requirement — the docs describe no Linux or Windows path. The tool reads Claude Code and Codex state specifically; other agents or coding tools are not mentioned as supported. There is no multi-user view, no shared dashboard, and no API surface for piping status into another system. Teams doing any collaborative monitoring of agents need a different approach from the start.
