# Computer commands

> Reference for langalpha computers list, add, start, stop and remove, the CLI commands that manage the machines your LangAlpha workspaces run on, SSH machines included.

Source: https://docs.langalpha.ai/cli/computers/

A [computer](https://docs.langalpha.ai/concepts/computers/) is the machine your workspaces run on. These commands list, add, start, stop and remove computers. Each command also takes the [global options](https://docs.langalpha.ai/cli/overview/#global-options). Ids are the `COMPUTER_ID` column of `computers list`.

## computers list

Your computers.

```sh
langalpha computers list
```

Prints each computer's id, name, kind (`daytona`, `e2b`, `docker` or `ssh`), status and resource tier.

## computers add

Add a computer. With `--ssh`, add a machine that LangAlpha logs in to.

```sh
langalpha computers add [--name N] [--kind K] [--tier T] [--ssh USER@HOST[:PORT]] [--root DIR] [--host-key-fingerprint FP] [-y]
```

| Option | What it does |
| --- | --- |
| `--name N` | The computer's name. |
| `--kind K` | The sandbox provider: `daytona`, `e2b` or `docker`. Defaults to the server's. |
| `--tier T` | The resource tier: `standard`, `performance`, `max` or `xlarge` (Small, Medium, Large and Extra Large in the app). See [Sizes](https://docs.langalpha.ai/concepts/computers/#sizes). |
| `--ssh USER@HOST[:PORT]` | Add your own machine over SSH, logging in as `USER`. The port defaults to 22; write an IPv6 address in brackets. |
| `--root DIR` | With `--ssh`: the folder on the machine where the computer's files go. Defaults to the one the server proposes, `~/langalpha` or the next free name. |
| `--host-key-fingerprint FP` | With `--ssh`: the machine's host key fingerprint you expect. The add is refused if the machine shows another. |
| `-y`, `--yes` | With `--ssh`: trust the host key the machine shows. |

Without `--ssh` the server creates a cloud or Docker computer. Your plan or the server's settings decide which kinds and tiers you may pick.

With `--ssh` the server first logs in to the machine with its own SSH key:

- If the machine does not accept the key yet, the command prints the one-line command that adds it, to run on the machine as `USER`, and exits. Run it there, then run `computers add` again.
- If the machine cannot run a computer, the command lists why and adds nothing. Problems that do not block it, such as a missing Node.js (the agent then has no CLI on that machine), are printed as notes.
- The machine's host key is pinned on first use, as `ssh` does. Pass `--yes` to accept the key the machine shows, or `--host-key-fingerprint` to require a key you checked yourself. Without either, the command prints the fingerprint and stops.

[Bringing your own machine over SSH](https://docs.langalpha.ai/concepts/sandboxes-and-ssh/#bringing-your-own-machine-over-ssh) covers what the agent can do there.

## computers start

Start a computer and every workspace on it.

```sh
langalpha computers start <id>
```

## computers stop

Stop a computer and every workspace on it.

```sh
langalpha computers stop <id>
```

Stopping affects every workspace on the computer, as in the app. See [Starting and stopping](https://docs.langalpha.ai/concepts/computers/#starting-and-stopping).

## computers remove

Remove a computer and delete its machine.

```sh
langalpha computers remove <id> [-y]
```

| Option | What it does |
| --- | --- |
| `-y`, `--yes` | Skip the confirmation. Required when no terminal is attached. |

Removing a computer deletes the workspaces on it and their threads. Your primary computer cannot be removed.

## Related

- [Computers](https://docs.langalpha.ai/concepts/computers/)
- [Sandboxes and SSH computers](https://docs.langalpha.ai/concepts/sandboxes-and-ssh/)
- [Workspace commands](https://docs.langalpha.ai/cli/workspaces/)
