The dispatch command controls the ClientNode and communicates with it via IPC. All commands (except start) require a running ClientNode.
| Option | Description | Default |
|---|---|---|
--ipc <path> |
IPC socket path | Platform-specific (see below) |
--token <token> |
Auth token for IPC commands | DISPATCH_TOKEN env var |
Authentication: Use --token <token> or set DISPATCH_TOKEN for IPC authentication when the node requires it.
# Via flag
dispatch --token my-secret-token status
# Via environment variable
export DISPATCH_TOKEN=my-secret-token
dispatch statusDefault IPC paths:
- Windows:
\\.\pipe\dispatch-default-node - Unix:
$XDG_RUNTIME_DIR/dispatch-default-node.sockor/tmp/dispatch-{uid}/dispatch-default-node.sock
| Command | Description |
|---|---|
start |
Start a ClientNode process |
stop |
Stop the ClientNode |
status |
Show node status |
register |
Register the node with the server |
unregister |
Unregister the node from the server |
Start a ClientNode process.
dispatch start [--config <path>] [--foreground]| Option | Description | Default |
|---|---|---|
--config <path> |
Path to client.config.json |
client.config.json |
--foreground |
Run in foreground (default: background) | false |
Examples:
dispatch start
dispatch start --config ./my-client.json
dispatch start --config ./prod.json --foregroundStop the ClientNode.
dispatch stop [--force]| Option | Description |
|---|---|
--force |
Force stop without graceful shutdown |
Show node status.
dispatch statusRegister the node with the server.
dispatch register --server <url>| Option | Description |
|---|---|
--server <url> |
Server base URL (e.g. http://localhost:9800) |
Unregister the node from the server.
dispatch unregister| Command | Description |
|---|---|
agent add |
Register a new agent |
agent remove |
Remove an agent |
agent list |
List all agents |
agent status |
Show agent details |
agent restart |
Restart an agent |
Register a new agent.
dispatch agent add --type <manager|worker> --command <cmd> --workdir <dir> [options]| Option | Description | Required |
|---|---|---|
--type <type> |
Agent type: manager or worker |
Yes |
--command <cmd> |
ACP command to run the agent | Yes |
--workdir <dir> |
Working directory | Yes |
--id <id> |
Agent ID (auto-generated if omitted) | No |
--tags <tags> |
Comma-separated capability tags | No |
--auto-claim |
Enable auto-claim for matching tags | No |
--multi-process |
Allow multiple processes per agent | No |
Examples:
dispatch agent add --type worker --command "node worker.js" --workdir /app
dispatch agent add --type manager --command "python manager.py" --workdir /app --tags python,docker --auto-claimRemove an agent.
dispatch agent remove <agentId>List all agents.
dispatch agent list [--status <status>]| Option | Description |
|---|---|
--status <status> |
Filter by status (e.g. idle, busy) |
Show agent details.
dispatch agent status <agentId>Restart an agent.
dispatch agent restart <agentId>| Command | Description |
|---|---|
task list |
List local tasks |
task assign |
Manually assign a task to an agent |
task release |
Release a task |
task log |
View task logs |
List local tasks.
dispatch task list [--status <status>]| Option | Description |
|---|---|
--status <status> |
Filter by task status |
Manually assign a task to an agent.
dispatch task assign <taskId> <agentId>Release a task.
dispatch task release <taskId> [--reason <reason>]| Option | Description |
|---|---|
--reason <reason> |
Release reason |
View task logs.
dispatch task log <taskId> [--follow]| Option | Description |
|---|---|
--follow |
Stream logs continuously |
Worker agents use these commands to report progress, complete tasks, and send heartbeats. They communicate with the ClientNode via IPC; the node forwards operations to the server.
| Command | Description |
|---|---|
worker progress |
Report task progress |
worker complete |
Complete task with artifacts |
worker fail |
Report task failure |
worker status |
Query task status |
worker log |
Append a log entry for a task |
worker heartbeat |
Send worker heartbeat |
Report task progress.
dispatch worker progress <taskId> --percent <0-100> [--message <msg>]| Option | Description | Required |
|---|---|---|
--percent <number> |
Progress percentage (0–100) | Yes |
--message <msg> |
Progress message | No |
Example:
dispatch worker progress 0224d6a7-dee0-4a37-a70d-a803d4807890 --percent 50 --message "Processing batch 2"Complete a task with artifacts.
dispatch worker complete <taskId> --zip <path> --result <path>| Option | Description | Required |
|---|---|---|
--zip <path> |
Path to artifact zip file | Yes |
--result <path> |
Path to result.json file |
Yes |
Example:
dispatch worker complete 0224d6a7-dee0-4a37-a70d-a803d4807890 --zip ./out/artifact.zip --result ./out/result.jsonReport task failure.
dispatch worker fail <taskId> --reason <reason> [--zip <path>] [--result <path>]| Option | Description | Required |
|---|---|---|
--reason <reason> |
Failure reason | Yes |
--zip <path> |
Optional artifact zip | No |
--result <path> |
Optional result JSON | No |
Query task status.
dispatch worker status <taskId>Append a log entry for a task.
dispatch worker log <taskId> --message <msg>| Option | Description | Required |
|---|---|---|
--message <msg> |
Log message | Yes |
Send a heartbeat for an in-progress task.
dispatch worker heartbeat <taskId>| Command | Description |
|---|---|
config show |
Show current configuration |
config set |
Set a configuration value |
config edit |
Open the configuration file in the default editor |
Show current configuration.
dispatch config showSet a configuration value using dot-notation.
dispatch config set <key> <value> [--config <path>]| Option | Description | Default |
|---|---|---|
--config <path> |
Path to client.config.json |
client.config.json |
Examples:
dispatch config set polling.interval 5000
dispatch config set server.url "http://localhost:9800"Values are parsed as JSON when possible (true, false, null, numbers, arrays, objects).
Open the configuration file in the default editor.
dispatch config edit [--config <path>]| Option | Description | Default |
|---|---|---|
--config <path> |
Path to client.config.json |
client.config.json |
Uses $EDITOR or $VISUAL; falls back to vi on Unix.