Setup
Command reference: setup.
Generated from the CLI catalog at fd47c2b.
init
Set up airship on this host (home, frameworks, scheduler, tmux service).
airship init [--framework default|none|PATH] [--permissions ask|auto|unattended] [--unattended] [--confirm PHRASE] [--no-scheduler] [--scheduler] [--host-mode]Effects: write. Agent safe: no. Scope: local.
Exits: 0, 1, 2, 6, 14.
--host: host id. --dry-run: accepted.
Operator only: --permissions!=ask, --unattended.
| Argument | Meaning |
|---|---|
--framework | default | none | PATH |
--permissions | permission mode for this host |
--unattended | = --permissions unattended |
--confirm | typed confirmation phrase for a looser mode |
--no-scheduler | skip the scheduler and tmux service (CI, containers); a later init keeps that choice |
--scheduler | install the scheduler and tmux service even though an earlier init skipped them |
--host-mode | worker host: no controller config (used by host deploy) |
uninstall
Remove airship from this host (refused from inside a unit).
airship uninstall [--keep-data] [--stop-units]Effects: write. Agent safe: no. Scope: fanout.
Exits: 0, 1, 2, 6, 7, 8, 13.
--host: host id or all. --dry-run: accepted.
Operator only: always.
| Argument | Meaning |
|---|---|
--keep-data | keep config, decisions, history, worktrees and audit |
--stop-units | stop and archive live units first |
tour
Throwaway walkthrough and live smoke test.
airship tour [--runtime stub|claude|codex] [--keep]Effects: write. Agent safe: yes. Scope: local.
Exits: 0, 1, 2, 3, 4, 5, 6, 7.
--host: host id. --dry-run: accepted.
| Argument | Meaning |
|---|---|
--runtime | runtime for the tour units |
--keep | keep the tour units afterwards |
host setup-prompt
Render a self-contained agent brief for connecting a machine.
airship host setup-prompt [<target>] [--runtime claude|codex]Effects: read. Agent safe: yes. Scope: local.
Exits: 0, 1, 2.
--host: unsupported. --dry-run: unsupported.
JSON schema: airship schema host-setup; data reference #/$defs/data_host_setup-prompt.
| Argument | Meaning |
|---|---|
target | optional machine name or address hint |
--runtime | setup assistant |
host propose
Check a connection and request operator approval to add it.
airship host propose <id> --ssh ALIAS [--note TEXT] [--as LABEL]Effects: write. Agent safe: yes. Scope: controller.
Exits: 0, 1, 2, 6, 7.
--host: unsupported. --dry-run: accepted.
Related JSON schema: airship schema decision.
| Argument | Meaning |
|---|---|
id | new host id |
--ssh | existing SSH config alias |
--note | context for the user |
--as | external asker label |
host approve
Approve a machine proposal, deploy and return health to its agent.
airship host approve <id> [--operator]Effects: write. Agent safe: no. Scope: controller.
Exits: 0, 1, 2, 4, 5, 6, 7, 8.
--host: unsupported. --dry-run: accepted.
Operator only: always.
| Argument | Meaning |
|---|---|
id | machine proposal decision id |
--operator | confirm an operator action from an external caller |
host add
Add a host to the inventory and deploy to it.
airship host add <id> --ssh ALIAS [--label L] [--slots N] [--heavy-slots N] [--min-free-pct N] [--min-disk-gb N] [--tags a,b] [--accepts orchestrator,lane,agent] [--evacuate-target on|off] [--extra-path DIR,…] [--permissions ask|auto|unattended] [--confirm PHRASE] [--no-deploy]Effects: write. Agent safe: no. Scope: local.
Exits: 0, 1, 2, 6, 7.
--host: host id. --dry-run: accepted.
Operator only: always.
| Argument | Meaning |
|---|---|
id | host id |
--ssh | ssh alias from ~/.ssh/config |
--label | display name (≤32 chars) |
--slots | max live lanes and agents |
--heavy-slots | how many slots may be heavy |
--min-free-pct | skip placement below this free memory % |
--min-disk-gb | skip placement below this free disk |
--tags | comma-separated host tags |
--accepts | roles this host runs |
--evacuate-target | whether evacuate may move units here |
--extra-path | dirs prepended to PATH on this host |
--permissions | permission mode for the new host |
--confirm | typed confirmation phrase for a looser mode |
--no-deploy | only write the inventory entry |
host ls
List hosts (config only, no ssh).
airship host lsEffects: read. Agent safe: yes. Scope: local.
Exits: 0, 1, 2.
--host: host id. --dry-run: unsupported.
JSON schema: airship schema host; data reference #/$defs/data_host_ls.
host show
One host: config, permissions, affected units, audit tail.
airship host show <id>Effects: read. Agent safe: yes. Scope: local.
Exits: 0, 1, 2, 4.
--host: host id. --dry-run: unsupported.
JSON schema: airship schema host; data reference #/$defs/data_host_show.
| Argument | Meaning |
|---|---|
id | host id |
host check
Reachability, Python, tmux, runtimes, scheduler, version skew.
airship host check [<id>] [--all] [--ssh ALIAS]Effects: read. Agent safe: yes. Scope: local.
Exits: 0, 1, 2, 4, 7.
--host: host id. --dry-run: unsupported.
JSON schema: airship schema check; data reference #/$defs/data_host_check.
| Argument | Meaning |
|---|---|
id | host id |
--all | check every host |
--ssh | check an alias before adding it (read-only) |
host deploy
Install or update airship on a host.
airship host deploy <id>Effects: write. Agent safe: no. Scope: local.
Exits: 0, 1, 2, 4, 7, 8.
--host: host id. --dry-run: accepted.
Operator only: always.
| Argument | Meaning |
|---|---|
id | host id, or all |
host set
Change host options or its permission mode.
airship host set <id> [--label L] [--slots N] [--heavy-slots N] [--min-free-pct N] [--min-disk-gb N] [--tags a,b] [--accepts orchestrator,lane,agent] [--evacuate-target on|off] [--extra-path DIR,…] [--permissions ask|auto|unattended | --unattended on|off] [--confirm PHRASE] [--apply next-restart|idle|now]Effects: write. Agent safe: no. Scope: local.
Exits: 0, 1, 2, 4, 6, 8.
--host: host id. --dry-run: accepted.
Operator only: --permissions, --unattended.
| Argument | Meaning |
|---|---|
id | host id |
--label | display name (≤32 chars) |
--slots | max live lanes and agents |
--heavy-slots | how many slots may be heavy |
--min-free-pct | skip placement below this free memory % |
--min-disk-gb | skip placement below this free disk |
--tags | comma-separated host tags |
--accepts | roles this host runs |
--evacuate-target | whether evacuate may move units here |
--extra-path | dirs prepended to PATH on this host |
--permissions | new permission mode |
--unattended | alias: on = unattended, off = ask |
--confirm | typed confirmation phrase when loosening |
--apply | when running units pick up a mode change |
host permissions
Permission mode of every host.
airship host permissionsEffects: read. Agent safe: yes. Scope: local.
Exits: 0, 1, 2.
--host: host id. --dry-run: unsupported.
JSON schema: airship schema host; data reference #/$defs/data_host_permissions.
host rm
Remove a host from the inventory.
airship host rm <id> [--force] [--uninstall]Effects: write. Agent safe: no. Scope: local.
Exits: 0, 1, 2, 4, 6, 7.
--host: host id. --dry-run: accepted.
| Argument | Meaning |
|---|---|
id | host id |
--force | forget it even with live units (never stops them) |
--uninstall | run uninstall on that host first |
config get
Read config (one key, or all).
airship config get [<key>] [--resolved] [--raw]Effects: read. Agent safe: yes. Scope: local.
Exits: 0, 1, 2, 4.
--host: host id. --dry-run: unsupported.
JSON schema: airship schema config; data reference #/$defs/data_config_get.
| Argument | Meaning |
|---|---|
key | dotted key |
--resolved | apply defaults and the --host overlay |
--raw | the file as is (works even when it doesn't validate) |
config set
Set a config key and push host.json.
airship config set <key> <value>Effects: write. Agent safe: no. Scope: local.
Exits: 0, 1, 2, 4, 6, 8.
--host: host id. --dry-run: accepted.
Related JSON schema: airship schema config.
| Argument | Meaning |
|---|---|
key | dotted key |
value | JSON when it parses, else a string |
config unset
Remove a config key.
airship config unset <key>Effects: write. Agent safe: no. Scope: local.
Exits: 0, 1, 2, 4, 6, 8.
--host: host id. --dry-run: accepted.
Related JSON schema: airship schema config.
| Argument | Meaning |
|---|---|
key | dotted key |
config push
Push host.json to hosts (applies hand edits).
airship config pushEffects: write. Agent safe: no. Scope: local.
Exits: 0, 1, 2, 4, 6, 8.
--host: host id or all. --dry-run: accepted.
Related JSON schema: airship schema config.
config validate
Validate config.json.
airship config validateEffects: read. Agent safe: yes. Scope: local.
Exits: 0, 1, 2.
--host: host id. --dry-run: unsupported.
JSON schema: airship schema config; data reference #/$defs/data_config_validate.
repo ls
Repos and whether their .airship executables may run here.
airship repo lsEffects: read. Agent safe: yes. Scope: local.
Exits: 0, 1, 2.
--host: host id. --dry-run: unsupported.
JSON schema: airship schema config; data reference #/$defs/data_repo_ls.
repo trust
Allow a repo's .airship executables to run on this host.
airship repo trust <dir> [--operator]Effects: write. Agent safe: no. Scope: local.
Exits: 0, 1, 2, 4, 6.
--host: host id. --dry-run: accepted.
Operator only: always.
| Argument | Meaning |
|---|---|
dir | repo directory |
--operator | confirm an operator action from an external caller |
repo untrust
Stop trusting a repo's .airship executables.
airship repo untrust <dir>Effects: write. Agent safe: no. Scope: local.
Exits: 0, 1, 2, 4.
--host: host id. --dry-run: accepted.
| Argument | Meaning |
|---|---|
dir | repo directory |
skill install
Install the generated airship skill.
airship skill install (--claude | --codex | --print)Effects: write. Agent safe: no. Scope: local.
Exits: 0, 1, 2.
--host: host id. --dry-run: accepted.
| Argument | Meaning |
|---|---|
--claude | for Claude Code |
--codex | for Codex |
--print | print it instead |
server status
The managed tmux server.
airship server statusEffects: read. Agent safe: yes. Scope: local.
Exits: 0, 1, 2.
--host: host id. --dry-run: unsupported.
JSON schema: airship schema host; data reference #/$defs/data_server_status.
server ensure
Start the managed tmux server if needed.
airship server ensureEffects: write. Agent safe: yes. Scope: local.
Exits: 0, 1, 2.
--host: host id. --dry-run: accepted.
server rehost
Change what hosts the managed tmux server.
airship server rehost <owner> [--app PATH]Effects: write. Agent safe: no. Scope: local.
Exits: 0, 1, 2, 6.
--host: host id. --dry-run: accepted.
JSON schema: airship schema host; data reference #/$defs/data_server_rehost.
| Argument | Meaning |
|---|---|
owner | who hosts the server |
--app | with app: the Airship.app bundle to use instead of the Applications folders |