CLI Reference
Complete reference for all Tack CLI commands.
Global Flags
--config- override the project config path--daemon-url- target a non-default daemon address--project- target a registered project by ID or path
Core Commands
| Command | Description |
|---|---|
tack setup | Configure global Tack setup |
tack daemon | Start the machine-wide daemon |
tack daemon install/start/stop/restart/status/reload | Manage the daemon user service |
tack doctor | Validate Tack readiness |
tack init | Initialize the current repo for Tack |
tack auth ... | Manage provider, git, and sandbox credentials |
tack project ... | Manage registered projects |
tack config ... | Read or edit config values |
tack plan <description> | Create an objective |
tack plans | List all plans |
tack show <plan-id> | Show plan details with streams |
tack approve <plan-id> | Approve a plan for execution |
tack reject <plan-id> | Reject a plan |
tack exec <objective-id> | Manually trigger execution |
tack agents | List active agent sessions |
tack agents kill <agent-id> | Terminate an active agent |
tack mail <agent-name> | View unread mail for an agent |
tack mail send <to> <subject> <body> --objective <id> | Send mail to an agent or group |
tack merge | View merge queue status |
tack merge retry <entry-id> | Retry a failed merge |
tack merge diff <stream-id> | Show the diff summary for a merged stream |
tack snapshot ... | Manage Daytona snapshot helpers |
tack status | Show daemon status |
tack watch | Live stream of agent activity |
tack logs <agent-id> | Replay agent activity log |
tack version | Print version |
tack daemon
Start the machine-wide daemon. Runs in the foreground.
tack daemonThe daemon loads the user config layer from ~/.config/tack/config.yaml by default.
Service commands manage the supported user service provider:
tack daemon install
tack daemon start
tack daemon stop
tack daemon restart
tack daemon status
tack daemon reloadtack daemon status prints installed, enabled, running, healthy, log path, config path, and listen address details.
If you use remote Daytona sandboxes, set daemon.external_url in the user config so agents can call back into the daemon. Local sandboxes do not require this.
tack init
Bootstrap a repo with .tack/config.yaml, credentials when needed, .tack/project-id, and daemon project registration. Requires completed tack setup.
tack init
tack init --non-interactive --runtime pi --provider openai-codex --auth-mode tack --auth-method oauth --credential-ref openai-codexProject flags are overrides. Omitted values fall back to global setup and are reported with source labels in the init summary.
tack setup
Configure global Tack setup for the current machine/user.
tack setup
tack setup --non-interactive --daemon-service service --daemon-listen 127.0.0.1:9800 --runtime pi --provider openai-codex --auth-mode tack --auth-method oauth --credential-ref openai-codex --planner-model <model> --agent-model <model> --small-task-model <model> --sandbox-provider local --blueprint standard --quality-gate "go test ./..."Setup records explicit global selections and is resumable. If Pi is selected and missing, installation requires explicit consent with --install-pi and a local Bun or npm executable.
tack doctor
Validate global setup, project config, daemon config, runtime/auth state, and runtime visibility.
tack doctor
tack doctor --jsontack auth
Manage credentials in ~/.config/tack/credentials.yaml.
tack auth add openai-codex
tack auth add github
tack auth add daytona
tack auth list
tack auth test openai-codextack auth add openai-codex prompts for API key vs OAuth. tack auth add github stores a GitHub PAT for blueprints that create PRs. tack auth test checks that a stored credential resolves; it is not a full remote validation call.
tack project
Manage registered projects in the daemon.
tack project add .
tack project list
tack project inspect
tack project relink <project-id> <path>
tack project remove <project-id>By default, project-scoped commands resolve the current repo from your working directory.
tack config
Inspect or edit user/project config.
tack config list
tack config get models.default
tack config set sandbox.daytona.snapshot snap_123
tack config remove sandbox.daytona.snapshottack plan
Create an objective for the targeted project.
tack plan "Add pagination to all list endpoints"
tack plan "Add pagination to all list endpoints" --blueprint standardFlags:
--blueprint- override the blueprintid
tack show
Show plan details including streams, file scopes, and dependencies.
tack show <plan-id>tack approve / reject
Approve or reject a plan.
tack approve <plan-id>
tack reject <plan-id>tack watch
Live stream of agent activity with filtering.
tack watch
tack watch --verbose
tack watch --summary
tack watch --objective <objective-id>
tack watch --stream <stream-id>
tack watch --agent <agent-id>watch also shows recovery lifecycle events such as retry attempts, blocked recovery, and resumed recovery.
tack logs
Replay agent activity from JSONL logs.
tack logs <agent-id>
tack logs <agent-id> --follow
tack logs <agent-id> --verbosetack merge
Inspect merge queue state and per-stream diffs.
tack merge
tack merge --objective <objective-id>
tack merge retry <entry-id>
tack merge diff <stream-id>Recovery Notes
Blocked recovery and human-guided resume are daemon-backed and visible in watch, mail, and objective state. The CLI surface for interactive recovery control is still evolving, so recovery resume may currently happen through the daemon API rather than a dedicated stable CLI subcommand.
tack snapshot
Daytona snapshot helpers.
tack snapshot create
tack snapshot check
tack snapshot update