Checkpoints the task with pause reason handoff and prints the exact command to start the other agent (claude or codex) on it. It never starts the other agent: moving work to another vendor’s agent sends code and context to that vendor.
Usage
overlane task handoff [--summary TEXT] [--next TEXT] [--to claude|codex] [--dry-run]Flags
| Flag | Type | Required | Default | Description |
|---|---|---|---|---|
--summary |
string | no | What has been done so far | |
--next |
string | no | What the next agent should do | |
--to |
one of claude, codex |
no | The agent to hand to (default: the other one) | |
--dry-run |
boolean | no | Print the requests and file changes this command would make, then stop. Needs no credentials. |
Examples
overlane task handoff --to codex
overlane task handoff --to claude --summary "API done" --next "Add tests"Behavior
- Effect:
write(changes local or hosted state). - Needs credentials: yes. Uses the network: yes.
- Supports
--dry-run: yes. Accepts--force: no. - Machine-readable description:
overlane schema task handoff.
Result
With --json (the default when stdout is not a terminal) the command prints this JSON Schema’s shape on stdout.
{
"anyOf": [
{
"type": "object",
"properties": {
"taskId": {
"type": "string"
},
"to": {
"type": "string",
"enum": [
"claude",
"codex"
]
},
"commitSha": {
"type": "string"
},
"route": {
"type": "string"
},
"localOnly": {
"type": "boolean"
},
"resumeCommand": {
"type": "string"
}
},
"required": [
"taskId",
"to",
"commitSha",
"route",
"localOnly",
"resumeCommand"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"dryRun": {
"type": "boolean",
"const": true
},
"service": {
"type": "string"
},
"requests": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"path": {
"type": "string"
},
"body": {},
"note": {
"type": "string"
}
},
"required": [
"method",
"path"
],
"additionalProperties": false
}
},
"commands": {
"type": "array",
"items": {
"type": "string"
}
},
"writes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"write",
"append",
"delete"
]
},
"description": {
"type": "string"
}
},
"required": [
"path",
"action",
"description"
],
"additionalProperties": false
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"dryRun",
"requests",
"commands",
"writes",
"notes"
],
"additionalProperties": false
}
]
}See exit codes for the status the process returns.