Tack
Reference

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

CommandDescription
tack setupConfigure global Tack setup
tack daemonStart the machine-wide daemon
tack daemon install/start/stop/restart/status/reloadManage the daemon user service
tack doctorValidate Tack readiness
tack initInitialize 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 plansList 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 agentsList 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 mergeView 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 statusShow daemon status
tack watchLive stream of agent activity
tack logs <agent-id>Replay agent activity log
tack versionPrint version

tack daemon

Start the machine-wide daemon. Runs in the foreground.

tack daemon

The 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 reload

tack 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-codex

Project 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 --json

tack 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-codex

tack 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.snapshot

tack 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 standard

Flags:

  • --blueprint - override the blueprint id

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> --verbose

tack 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

On this page