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

# Breeze CLI auth

> Log in, log out, and manage Breeze CLI credentials.

`breeze login` starts a short browser login flow. After you authorize the device, Breeze creates or rotates a key named `breeze-cli/<host>` and returns the plaintext key to the CLI once. Server-side API key storage remains hash-only. Login uses the selected profile's API base URL, so environment-specific profiles authenticate against the matching Breeze account environment.

## Log in

```bash theme={null}
breeze login
breeze login --no-browser
breeze login --profile work
```

Login waits for you to approve the device in the browser. When you do not pass `--timeout`, the CLI uses a minimum wait so there is time to complete the browser step. An explicit `--timeout` value is honored as given. If the authorization link expires before you approve it, login stops with a clear "link expired" message. Run `breeze login` again to start a fresh authorization.

## Log out

Logout removes the saved local key from the selected profile. It does not delete or revoke keys from your Breeze account.

```bash theme={null}
breeze logout
breeze logout --profile work
```

## Scripts and CI

Non-browser environments can provide credentials explicitly. Prefer stdin when writing a key into a local profile.

```bash theme={null}
printf '%s' "$BREEZE_API_KEY" | breeze config set api-key --stdin
breeze tts "Hello from Breeze" -o hello.wav --agent
```
