# Airdress CLI

`airdress` is your airdress from a terminal. Sign in once, choose which
airdress a command acts on, and from there deploy a function, open a terminal
on a machine of yours, pair a phone, approve a machine or hand an editor the
same reach over MCP.

[Airdress](https://airdress.co) gives you one permanent address for your
agents, devices and services, wherever they run, with TLS and multi-device
failover handled for you. The CLI is how you work with that address from a
terminal, a script or an editor.

## What you can do with the CLI

| You want to… | Run |
| --- | --- |
| Sign in and pick the airdress you work on | `airdress auth login`, `airdress airdress list`, `airdress a use <name>` |
| See how it is reached | `airdress airdress probe`, `airdress current` |
| Deploy a function from a directory | `airdress fn deploy ./my-function` |
| Open a terminal on one of your machines, end to end encrypted | `airdress shell` |
| Give an editor or an agent the same reach, over MCP | `airdress mcp serve` |
| Pair a phone, approve a machine, link a Home Assistant | `airdress device pair`, `airdress machines approve` |
| Install a plugin on your airdress | `airdress plugins install forms` |
| Declare resources and apply them | `airdress apply -f pool.yaml` |

MCP and plugins work today on an
[operator you run yourself](/reference/cli/) and are coming to an airdress we host:
see the [feature matrix](/reference/feature-matrix/#features-of-an-airdress).

Every command takes `--output json` and exits with a
[stable code](/cli/exit-codes/), so what you type today runs in a
[script](/cli/scripting/) tomorrow.

## Sixty seconds

```sh
airdress auth login                 # opens your browser, asks which account
airdress airdress list              # the airdresses you own
airdress a use home                 # pin one as current
airdress airdress probe             # how it is reached: direct or relayed

airdress fn new hello ./hello       # a function from a template
airdress fn keygen --out ~/.airdress/function-signing.key
airdress fn deploy ./hello --signing-key ~/.airdress/function-signing.key
airdress fn logs hello --follow     # watch it run
```

`deploy` checks the tree, shows you what it is about to do, asks once, and
waits until the function reports the new version loaded.

## Two binaries

| Binary | What it is |
| --- | --- |
| `airdress` | The CLI on this page. Linux, macOS and Windows. |
| `airdress-agent` | This machine as an [agent device](/agents/) of your airdress. Linux and macOS. It is the only binary that carries the end-to-end encryption engine an agent device needs. |

Both come from the same release. See [Install the CLI](/cli/install/).

## What leaves your machine

The CLI talks to your hub (`account.airdress.co`) and to your airdresses.
When you ask it to, it also reaches the release server (`airdress update`)
and the plugin registry (`airdress plugins`). There is no analytics, no
crash reporting and no tracing exporter. Credentials are never printed,
logged or sent anywhere but where they belong; `airdress auth token` prints
one only because you asked for it.

## Guides

[Install the CLI](/cli/install/)
  [Get started](/cli/getting-started/)
  [Functions](/functions/)
  [Shells](/shells/)
  [Agents](/agents/)
  [Claude Code](/editor/claude-code/)
  [Devices, machines and homes](/cli/devices-and-machines/)
  [Scripting](/cli/scripting/)
## Support

Questions and problems: [airdress.co/support](https://airdress.co/support)
or support@airdress.co. Say which version you run (`airdress version`).
Vulnerabilities: security@airdress.co.