# Terminal commands

Run `runcompute --help`, or `runcompute COMMAND --help` for options.

## Setup

| Command | What it does |
| --- | --- |
| `runcompute login` | Ask for an API key, check it, save it |
| `runcompute login --key KEY` | Save a key without prompting |
| `runcompute logout` | Remove the saved key |
| `runcompute whoami` | Show the account for the current key |
| `runcompute init` | Write a starter `runcompute.toml` |

## Run

| Command | What it does |
| --- | --- |
| `runcompute quote [FILE]` | Price a job file |
| `runcompute run [FILE]` | Submit and wait. Exit code 0 on success |
| `runcompute submit [FILE]` | Submit and print the ID |
| `runcompute list` | Your jobs, newest first |
| `runcompute list active` | Queued, running and recovering jobs |
| `runcompute list terminal --limit 50` | Finished jobs |

## Follow a job

| Command | What it does |
| --- | --- |
| `runcompute status ID` | Status, progress, spend and machine |
| `runcompute wait ID` | Print events until the job ends |
| `runcompute logs ID [--tail N]` | Print logs |
| `runcompute outputs ID` | List saved files |
| `runcompute cancel ID` | Cancel |

Ctrl+C during `run` or `wait` cancels the job.

## Global options

`--base-url URL` talks to another deployment. `RUNCOMPUTE_API_KEY` and
`RUNCOMPUTE_HOME` are read by every command.
