Dispatch — Async Task Execution with Observability
Dispatch is a managed async task queue purpose-built for Claude Code. Unlike a generic message queue, it respects agent permission profiles, supports dependency chaining between jobs, and integrates natively with Channels for real-time status streaming.
Quick Reference
- →A Dispatch job = prompt + repository + permission profile, submitted and detached
- →Jobs run asynchronously — submit from CLI, mobile, or API and get on with other work
- →Dependency chaining: job B starts only after job A completes successfully
- →Failed job A automatically cancels or holds all dependent jobs downstream
- →Context continuity: submit from phone, pick up full conversation at desktop
- →Every Dispatch job has a full execution log accessible from Desktop, web, or Channels stream
- →Dispatch vs /batch: /batch = parallel independent agents; Dispatch = sequential pipeline orchestration
What Dispatch Is
Dispatch is a managed async task queue that understands Claude Code's execution model. You submit a job — a prompt, a repository, and a permission profile — and detach. Dispatch runs the job asynchronously, tracks its status, and surfaces the result when it's done. While the job runs, you're free to do other work.
The 'understands Claude Code' part is what differentiates Dispatch from wrapping Claude Code calls in a generic message queue. Dispatch routes jobs based on permission profiles, chains dependent jobs with Claude-aware cancellation semantics, and integrates with Channels to stream job status to wherever your team communicates.
The core Dispatch workflow is: submit the job, get a job ID, and detach. You don't wait for the result. The job runs asynchronously. You check its status via the Desktop app, web interface, Channels stream, or by polling the job ID. This is fundamentally different from a blocking claude command that holds your terminal.
- ▸Job = prompt + repository + permission profile
- ▸Submit from CLI, mobile app, web interface, or Dispatch API
- ▸Returns a job ID immediately — status available via any interface
- ▸Jobs run asynchronously in isolated environments
- ▸Full execution log available for every job, including failures
- ▸Natively integrates with Channels for real-time job status streaming