CLI reference

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.

ArgumentMeaning
--frameworkdefault | none | PATH
--permissionspermission mode for this host
--unattended= --permissions unattended
--confirmtyped confirmation phrase for a looser mode
--no-schedulerskip the scheduler and tmux service (CI, containers); a later init keeps that choice
--schedulerinstall the scheduler and tmux service even though an earlier init skipped them
--host-modeworker 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.

ArgumentMeaning
--keep-datakeep config, decisions, history, worktrees and audit
--stop-unitsstop 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.

ArgumentMeaning
--runtimeruntime for the tour units
--keepkeep 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.

ArgumentMeaning
targetoptional machine name or address hint
--runtimesetup 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.

ArgumentMeaning
idnew host id
--sshexisting SSH config alias
--notecontext for the user
--asexternal 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.

ArgumentMeaning
idmachine proposal decision id
--operatorconfirm 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.

ArgumentMeaning
idhost id
--sshssh alias from ~/.ssh/config
--labeldisplay name (≤32 chars)
--slotsmax live lanes and agents
--heavy-slotshow many slots may be heavy
--min-free-pctskip placement below this free memory %
--min-disk-gbskip placement below this free disk
--tagscomma-separated host tags
--acceptsroles this host runs
--evacuate-targetwhether evacuate may move units here
--extra-pathdirs prepended to PATH on this host
--permissionspermission mode for the new host
--confirmtyped confirmation phrase for a looser mode
--no-deployonly write the inventory entry

host ls

List hosts (config only, no ssh).

airship host ls

Effects: 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.

ArgumentMeaning
idhost 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.

ArgumentMeaning
idhost id
--allcheck every host
--sshcheck 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.

ArgumentMeaning
idhost 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.

ArgumentMeaning
idhost id
--labeldisplay name (≤32 chars)
--slotsmax live lanes and agents
--heavy-slotshow many slots may be heavy
--min-free-pctskip placement below this free memory %
--min-disk-gbskip placement below this free disk
--tagscomma-separated host tags
--acceptsroles this host runs
--evacuate-targetwhether evacuate may move units here
--extra-pathdirs prepended to PATH on this host
--permissionsnew permission mode
--unattendedalias: on = unattended, off = ask
--confirmtyped confirmation phrase when loosening
--applywhen running units pick up a mode change

host permissions

Permission mode of every host.

airship host permissions

Effects: 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.

ArgumentMeaning
idhost id
--forceforget it even with live units (never stops them)
--uninstallrun 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.

ArgumentMeaning
keydotted key
--resolvedapply defaults and the --host overlay
--rawthe 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.

ArgumentMeaning
keydotted key
valueJSON 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.

ArgumentMeaning
keydotted key

config push

Push host.json to hosts (applies hand edits).

airship config push

Effects: 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 validate

Effects: 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 ls

Effects: 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.

ArgumentMeaning
dirrepo directory
--operatorconfirm 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.

ArgumentMeaning
dirrepo 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.

ArgumentMeaning
--claudefor Claude Code
--codexfor Codex
--printprint it instead

server status

The managed tmux server.

airship server status

Effects: 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 ensure

Effects: 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.

ArgumentMeaning
ownerwho hosts the server
--appwith app: the Airship.app bundle to use instead of the Applications folders