Coding Agents
Band is an agent orchestrator that works with multiple coding agents through a unified adapter pattern. You choose which agent powers your workspaces, and Band handles task submission, output streaming, session management, and lifecycle tracking regardless of which agent is running underneath.
Supported Agents
Band currently ships adapters for four coding agents. Each adapter implements the
same CodingAgent interface, so switching between agents requires only a
settings change — no workflow modifications.
| Feature | Claude Code | Cursor CLI | Gemini CLI |
|---|---|---|---|
| Cost tracking | Yes | No | No |
| Session listing | Yes | No | No |
| Session resume | Yes | Yes | No |
| Real-time streaming | Yes | Yes | Yes |
| Tool use visibility | Yes | Yes | Yes |
| User input prompts | Yes | No | No |
| Custom model selection | Yes | Yes | Yes |
| Skill discovery | Yes | No | Yes |
The Adapter Pattern
Band uses a factory function (createCodingAgent) that accepts a
configuration object with a type field and returns the appropriate
adapter. Each adapter implements the CodingAgent interface:
- runSession(prompt, sessionId?) — Starts an agent session and yields a stream of events (text deltas, tool calls, tool results, session results).
- abort() — Cancels the currently running session.
- listSessions(dir) — Returns previous sessions for a directory (where supported).
- getSessionMessages(sessionId, dir) — Retrieves the message history for a session.
- listSkills() — Discovers available skills in the workspace.
All adapters emit a common set of AgentEvent types:
session-start, text-delta, tool-use,
tool-result, session-result, and error.
The Band task runner consumes these events and broadcasts them to the dashboard UI
in real time.
Selecting the Default Agent
Open the Band dashboard and navigate to Settings. Under the Coding Agent section, select your preferred agent type from the dropdown. The available options are:
claude-code— Claude Code (default)cursor-cli— Cursor CLIgemini-cli— Gemini CLI
You can also specify a custom executable path if the agent CLI is not on your
system PATH. The setting is stored in Band's configuration database
and applies to all new agent sessions. Existing running sessions are not affected
until they complete and a new session starts.
Agent Pool
Band maintains an in-memory agent pool keyed by workspace ID. When a task is submitted, Band checks the pool for an existing agent instance. If none exists, it creates one using the current settings. This means each workspace gets its own isolated agent instance with its own working directory, session state, and configuration. Agents are removed from the pool when a workspace is deleted.