> ## Documentation Index
> Fetch the complete documentation index at: https://cool.computer/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Cool Computers CLI

> Create computers, run commands, manage files, and publish a service with the official Cool Computers CLI.

[Install the native CLI](/docs/getting-started/install), then run `cool` by itself to open the account shell. Run a subcommand when you know the operation you need.

## Account and computers

Replace the email below with your address. `cool login` sends a code and signs you up or in. Enter the code when prompted. Agents must [ask the owner before sending the email](/docs/api-reference/authentication).

```sh theme={null}
cool login --email owner@example.com
```

Once signed in:

```sh theme={null}
cool create bakery
```

Interactive creation opens the computer's terminal. Run `exit` before running more commands locally:

```sh theme={null}
cool list
cool info bakery
cool enter bakery
```

Run `exit` to leave the computer's terminal. Creation with `--json` or redirected input or output returns without entering it. `cool capabilities --json` returns the limits and features applied to the signed-in account.

## Run a command

Use `cool exec` when you want the local process to pass arguments without shell parsing:

```sh theme={null}
cool exec bakery -- npm test
```

Use `cool run` when you want to send one shell command string:

```sh theme={null}
cool run bakery "uname -a"
```

Executions continue after a client disconnect or timeout, and wait for background children to finish. Before running, `cool exec` prints its execution ID and an exact reattach command to stderr. Copy that command to reconnect:

```sh theme={null}
cool exec --attach <execution-id>
```

Use the ID printed by your command in place of `<execution-id>`. `cool run` also returns an execution ID when its wait times out. Use a configured service for a process that must stay available at the computer's public address.

## Run a service

```sh theme={null}
cool service run bakery --port 3000 -- npm start
cool service logs bakery --tail 100 --timestamps
```

The service is available at `bakery.cool.computer`. Run `cool service --help` to see status, restart, stop, and clear commands.

## Work with files

Run `cool files --help` for read, write, list, stat, directory, upload, and download commands. File changes remain on the writable disk when you disconnect.

## Machine-readable output

Commands that return structured records accept `--json`. Use it when a script or agent will read the result.
