Task Management
Tasks are the core unit of work in Band. A task represents a single prompt submitted to a coding agent within a workspace. Band handles the full lifecycle: submission, real-time output streaming, completion tracking, and history.
Submitting a Task
To submit a task, select a workspace from the dashboard and type your prompt in the input field. The prompt is sent to the configured coding agent, which begins working immediately. Only one task can run per workspace at a time — if you submit another prompt while a task is running, it is added to the workspace's message queue and starts automatically when the current task completes.
File Attachments
You can attach files to your task prompt. Attached files are stored in Band's
uploads directory (~/.band/uploads) and made available to the coding
agent as an additional directory. When using Claude Code, the agent can read these
files directly. This is useful for providing screenshots, design mockups, data
files, or any reference material the agent needs.
Task Lifecycle
Every task moves through a defined set of states:
- Running — The agent is actively processing the prompt. You can see real-time output in the dashboard.
- Completed — The agent finished successfully. The task summary shows duration, number of turns, and cost (if supported by the agent).
- Failed — The agent encountered an error, was aborted by the user, or the session ended unexpectedly.
Tasks are persisted in Band's database with their workspace ID, project, branch, prompt, status, session ID, and timestamps. This allows you to review task history even after restarting Band.
Real-Time Output Streaming
While a task is running, Band streams the agent's output to the dashboard in real time. You see:
- Text responses — The agent's reasoning and explanations, streamed as deltas.
- Tool calls — Each tool invocation (Read, Write, Bash, Edit, Glob, Grep) with its input parameters.
- Tool results — The output of each tool call, truncated to 10,000 characters if very long.
- Images — Screenshots or other images produced during tool execution.
- Errors — Any errors the agent encounters during execution.
If you disconnect from the dashboard and reconnect while a task is running, Band replays the buffered output chunks so you see the full history up to the current point. Buffers are kept in memory for 30 minutes after a task completes.
Cancelling a Task
You can cancel a running task from the dashboard. Band sends an abort signal to the coding agent, which terminates the current session. The task is marked as failed with the message "Task aborted by user". Cancellation is immediate — the agent's process or stream is forcefully closed.
Queued Messages
When a task completes successfully, Band checks the workspace's message queue for any pending prompts. If one exists, it is automatically submitted as a new task using the same session ID, allowing the agent to continue in context. This enables you to queue up multiple prompts and let them execute sequentially.
Task History
All tasks are stored in Band's database. You can filter task history by:
- Project — See all tasks across a project's workspaces.
- Workspace — See tasks for a specific branch.
- Status — Filter by running, completed, or failed tasks.
Task records include the original prompt, status, session ID, start time, and completion time. For agents that support session listing (like Claude Code), you can also drill into the full session message history.
Tips for Writing Good Prompts
- Be specific. Instead of "fix the bug", say "fix the null pointer exception in the UserService.getProfile method when the user has no email address".
- Provide context. Mention relevant file paths, function names, or error messages. The agent works faster when it does not need to search for context.
- Define success criteria. Say what the result should look like: "the test suite should pass", "the API should return a 200 status", "the component should render without errors".
- Use project conventions. If your project has a CLAUDE.md or similar instructions file, the agent will follow those conventions automatically.
- Break large tasks into steps. Instead of one massive prompt, submit focused tasks and use the message queue to chain them together.