Get started

Bantis runs the coding agents you already have, each in its own workspace, and hands a task to the next one when a limit hits. Setup takes a minute.

  1. 1Download and open it. Drag Bantis to Applications. It's signed and notarized, so it opens with no warning.
  2. 2Add your agents. First run finds the CLIs you have (Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, Pi) and installs the ones you want.
  3. 3Sign in with your own accounts. Each agent's login runs in a small terminal inside Bantis. Bantis never sees the password.
  4. 4Add a repository and describe the task. Bantis makes a workspace for it and starts the first agent in your order.

Failover and your order

Set the order in Settings › Failover. When an agent hits a usage limit, Bantis reads the real error, hands the task to the next agent in your order with what's done and what was decided, and continues the turn that was cut off. A short rate limit waits instead of switching. A crash or an expired sign-in never switches on its own: Bantis offers it.

Workspaces, task to PR

Each task gets its own git worktree and branch beside your repository, so agents work side by side without colliding. Review the diff, commit, open the PR, follow its checks and merge from the panel beside the chat.

Context and search

Every message is kept on your Mac. What can be found, and by whom:

You, from ⌘KEvery task in every repository: checkpoints first, then the conversation. Tool output (file reads, command results) is left out; it can be re-run.
An agentIts own task in full, including the turns earlier agents took on it, through bantis-ctx search, recent and show.
Other lanesEach agent starts knowing what the other workspaces in the same repository are on (agent, objective, files), and what merged ones decided. Not their conversations, and nothing from other repositories.

On a handover, the next agent reads the latest checkpoint first: the task, what's done, what was decided, what's blocking and what's next.

Privacy and the network

No telemetry means nothing about you, your code or your usage is sent anywhere: no analytics, no crash reports, no account, no Bantis server. It doesn't mean no network. These are all the requests the app makes:

Your agentsEach CLI talks to its own provider with your sign-in. Bantis starts them; it doesn't proxy or read that traffic.
Git remotesOnly when you push, fetch or open a PR, with your git and gh setup.
Bantis updatesAt launch and every 4 hours: a public file from GitHub. Nothing is sent.
Models listAt launch: a public file from GitHub, for agents that can't list their models.
Agent versionsAt launch and every 4 hours: each agent's latest version, from where you installed it (Homebrew, npm, Cursor).

The downloads carry no identifier; like any download, the server sees your IP address.

Check it yourselfClick "No telemetry" in the title bar, or open Settings › Privacy and data: it lists every host Bantis has contacted. Compare it with a tool like Little Snitch: if Bantis contacted anything else, you'd see it.

Updates

Bantis downloads a new version by itself and tells you when it's ready. Restart when it suits you; if agents are working, it can wait until they finish. Every update is signed, and the app checks the signature before installing. Turn off automatic downloads in Settings › General.