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

# Sign-in and tokens

> Browser sign-in for your own work, access tokens for CI and scripts, and profiles for keeping several sign-ins.

## Sign in to the dashboard

Go to [lazycloud.dev](https://lazycloud.dev) and continue with GitHub. The first
sign-in creates your account and a workspace you own. There is no password.
GitHub is the only way in.

Your name, email, and avatar come from GitHub and refresh each time you sign
in. A browser session lasts 12 hours. Signing out ends only that session. The
CLI and other browsers stay signed in.

The CLI signs in with [`lazycloud login`](/cli/auth#lazycloud-login).
[Workspaces](/concepts/apps#workspaces) covers choosing the workspace a command
acts in.

## CI and scripts

Access tokens come from the dashboard under Settings, then Tokens. Each has a
name and an expiry between 1 and 90 days, or no expiry. The dashboard shows the
value only once. A token has the same reach as your sign-in, so it needs the
care of a password. Deleting a token stops it working immediately.

CI injects the token from its secret store as `LAZYCLOUD_TOKEN`. For an
interactive Bash session:

```bash theme={null}
read -rsp "LazyCloud token: " LAZYCLOUD_TOKEN; echo
export LAZYCLOUD_TOKEN
export LAZYCLOUD_WORKSPACE="<workspace-name>"
uv run lazycloud deploy app:app
```

`LAZYCLOUD_TOKEN` and `LAZYCLOUD_WORKSPACE` override whatever the CLI has
stored, so a CI job needs no `lazycloud login` step. `LAZYCLOUD_HOME` moves the
state directory away from `~/.lazycloud` if the job cannot write there.

To store a token instead of exporting it each time:

```bash theme={null}
uv run lazycloud login --token "$LAZYCLOUD_TOKEN" --workspace <workspace-name>
```

The same token authenticates HTTP calls to endpoints and pods that require it.
See [Authentication](/concepts/endpoints#authentication).

## Profiles

A profile is a separate stored sign-in, for another account or an automation
token. Switching workspaces within one account only needs `workspace use`.
See [`lazycloud profile`](/cli/auth#lazycloud-profile).
