Commands
Top-level
tnk: list sandboxestnk run: start project sandboxtnk shutdown: stop all sandboxestnk sandbox: project sandboxestnk init: install config from tnk-specstnk config: configtnk completion: shell completionstnk doctor: diagnostics
Sandbox
Start
tnk sandbox start [--profile PROFILE] [--audit-log PATH] [--shell]Run without --profile to use the default profile from tnk.toml. Use --shell to attach an interactive shell after starting.
Shell
tnk sandbox shell [--profile PROFILE] [-c|--command CMD] [--no-tty] [-e|--env KEY=VALUE] [--audit-log PATH]Flags:
-c, --commandexecute a non-interactive command instead of opening a login shell--no-ttybypass TTY requirements for automation-e, --envadd environment variables inKEY=VALUEform (repeatable)--profileapply a provision profile before the session
Stop
tnk sandbox stop [--all] [--name SANDBOX ...]--all and --name are mutually exclusive. Without flags, stops the sandbox for the current project directory.
Delete
tnk sandbox delete [--yes] [-n|--dry-run]Targets the sandbox for the current project directory. -n, --dry-run previews the action without side effects. -y, --yes skips the terminal requirement.
List
tnk sandbox ls [--output text|json|ndjson] [-q|--quiet]--quiet outputs only sandbox names, one per line.
Run / shutdown
tnk run [--profile PROFILE] [--audit-log PATH] [--shell] [-n|--dry-run]
tnk shutdown [--timeout SECONDS] [-n|--dry-run]tnk run boots the project sandbox (and provisions the default profile on first use). tnk shutdown stops every managed sandbox, escalating from a graceful stop to a forced one. --timeout sets the graceful-stop grace period (default 60 seconds).
Global flags
--quiet (-q) and --verbose (-v) are available on all commands:
-qsuppresses non-error informational output-vshows detailed operational logs (and passes lima output through live during VM creation)
Config / init / doctor
tnk init [--git-url URL] [--force]
tnk config init [--force]
tnk config show
tnk doctortnk initinstalls~/.config/tnk/from tnk-specs (clones the repo, or copies from a local path).--forcere-syncs the managedsandbox.d/directory over existing content.tnk config showprints the resolved config.tnk doctorchecks config resolution, the runtime cache directory, and managed lima instances.
Output contract
When available, output mode is explicit:
text: human-oriented status on stderrjson: structured payload on stdoutndjson: one JSON object per line on stdout
Shell scripts stay stable. Terminal output stays readable.
See also: Quickstart · Configuration · Profiles