원클릭으로
solo
Use when claiming repo-local work, starting or ending task sessions, creating handoffs, renewing reservations, inspecting worktrees, reading task context, searching task history, or recovering stale Solo state in a Git repo.
메뉴
Use when claiming repo-local work, starting or ending task sessions, creating handoffs, renewing reservations, inspecting worktrees, reading task context, searching task history, or recovering stale Solo state in a Git repo.
| name | solo |
| description | Use when claiming repo-local work, starting or ending task sessions, creating handoffs, renewing reservations, inspecting worktrees, reading task context, searching task history, or recovering stale Solo state in a Git repo. |
| allowed-tools | Bash(solo:*) |
Track repo-local agent work safely.
Solo is a ledger.
solo to read and write coordination state.worktree_path..solo/solo.db directly.Initialize once, then inspect what is ready.
solo init --json
solo task list --available --json
If you want the repo-local Solo skill installed into .solo/skills, use:
solo init --install-skill --json
Use --skill-scope environment or --skill-scope agent --agent <name> when you need a specific install target.
Create work in Solo before you code.
solo task create --title "<planned task>" --priority high --json
solo task show T-12 --json
solo task ready T-12 --version <task.version> --json
New tasks start as draft. A task must be ready before solo session start can claim it.
Use solo task update for metadata changes only.
solo task update T-12 --description "429 responses skip backoff" --version <task.version> --json
Start a session to reserve the task and create an isolated git worktree.
solo session start T-12 --worker claude-code --json
Read these fields from the response:
worktree_pathbranchexpires_atcontextAll file edits, tests, commits, and diffs should happen inside worktree_path.
Ask Solo for context when you need state, not guesses.
solo task context T-12 --json
solo task deps T-12 --json
solo task tree T-12 --json
solo handoff list --task T-12 --json
solo handoff show <handoff-uuid> --json
solo worktree inspect T-12 --json
solo audit list --task T-12 --json
solo audit show 42 --json
solo search "retry backoff" --json
solo health --json
Use solo task context when you want the same bundle shape returned by solo session start.
Renew long-running reservations before they expire.
solo reservation renew T-12 --json
Use stable worker names like claude-code, codex, aider, or gemini.
End every active session explicitly.
Complete or fail work with solo session end:
solo session end T-12 --result completed --notes "Backoff added and tests updated" --files internal/http/retry.go,internal/http/retry_test.go --commits <sha> --json
solo session end T-12 --result failed --notes "Blocked by flaky integration fixture" --json
Current valid --result values are:
completedfailedinterruptedabandonedIf you need to pass work forward, create a handoff instead:
solo handoff create T-12 \
--summary "Backoff logic added" \
--remaining-work "Fix integration test fixture" \
--to aider \
--files internal/http/retry.go,internal/http/retry_test.go \
--json
solo handoff create ends the live session, releases the reservation, and returns the task to ready.
Solo runs zombie and expiry recovery at the start of every CLI invocation.
Use manual recovery when a task is still stuck or you need to clean up state now.
solo recover --all --json
solo task show T-12 --json
solo task recover T-12 --version <task.version> --json
solo session list --task T-12 --json
solo worktree list --json
solo worktree cleanup --json
solo worktree cleanup T-12 --json
solo worktree cleanup --force --json
Use solo worktree cleanup --force only when you intentionally want to remove dirty inactive worktrees.
solo task ready, solo task update, and solo task recover require --version.solo task list filters by --status, --label, and --available.solo session list filters by --task, --worker, and --active.solo worktree inspect takes a task id, not a worktree id.T-12.Handle these error codes first:
TASK_NOT_READYTASK_LOCKEDHANDOFF_LOCKEDVERSION_CONFLICTWORKTREE_ERRORSQLITE_BUSY