When Baton is worth it for OpenCode

Baton is useful here if you want the freedom of an open CLI agent with more guardrails around day-to-day execution.

  • Use it when you want cleaner repo hygiene and separate worktrees for each OpenCode task.
  • Use it when you are multitasking and need a simple way to monitor several sessions at once.
  • Use it when you need a better handoff to git with explicit diff review before pushing changes upstream.

The ultimate GUI for OpenCode

Useful when OpenCode is the engine, but you want a cleaner operating layer around branch management, monitoring, and review.

Worktree isolation

Every workspace is a separate branch

Each workspace is backed by a real git worktree — a separate working directory with its own branch. OpenCode sessions stay isolated, so you can explore multiple implementation paths without tangling the repo.

  • Git changes and ahead/behind counts at a glance
  • Launch OpenCode in a new workspace in seconds
  • Push branches and open Pull Requests directly from the app
  • Archive or delete when you're done
Baton workspace overview with project sidebar and workspace cards
Agent monitoring

Know when every OpenCode session needs you

Labeled status badges appear on workspace cards the moment an agent finishes, hits an error, or needs your input. Each badge tells you exactly what happened at a glance. No polling, no tab-switching — just glance at the sidebar and respond only when a session genuinely needs you.

  • "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
  • One-click notification setup for supported setups
Baton notification badges on workspace cards showing agent status
Quick create

From idea to isolated workspace in seconds

Describe what you want to build and Baton generates a branch name, workspace title, and description automatically using AI. Toggle "Accept Edits" to let OpenCode start working immediately without waiting for permission prompts, then start the next clean workspace with the same flow.

  • Supports auto-generation of workspace titles, descriptions, and branch names
  • Launch in any mode — Accept Edits, Plan, Dangerously, and more
  • Global keyboard shortcut to open from anywhere
Baton new workspace dialog with task description, auto-generated branch name, and accept edits toggle
Diff viewer

Review every change before opening a PR

See exactly what OpenCode changed with a Monaco-powered diff viewer. Review the output, discard anything noisy, and open a PR from a branch you actually trust.

  • Split & unified diff modes
  • Roll back individual files
  • Live follow mode — watch OpenCode changes as they happen
  • Compare against any branch, not just main
Baton diff viewer showing side-by-side code changes

Ready to unleash OpenCode?

Free to use. Mac, Windows, and Linux.