# Authenticate and Select Workspace

Before running client commands, confirm who the CLI is acting as and which workspace the command will use.

### Log in interactively

For interactive use, run:

```
kick login
```

The browser flow lets you approve a personal access token. The CLI stores the token in your OS keychain when available. If a keychain is unavailable, it falls back to `~/.config/kick/credentials` with restricted file permissions.

Confirm the active user:

```
kick whoami
```

### Use a token for scripts

For scripts, CI, or agent jobs, provide a PAT explicitly:

```
export KICK_PAT=kick_pat_...
kick whoami
```

Token lookup order is:

1. `--token <value>`
2. `KICK_PAT`
3. `KICK_API_TOKEN` for the older environment variable name
4. OS keychain from `kick login`
5. `~/.config/kick/credentials`

Do not commit PATs, paste them into shared docs, or store them in scripts without a secrets manager.

### Select a workspace

List workspaces:

```
kick workspaces list
```

Run a command in a workspace:

```
kick --workspace <workspace-id> transactions find --limit 10
```

If you work across multiple clients, pass `--workspace` explicitly. This is safer than relying on a remembered default.

### Use profiles for repeated work

Profiles can store environment and workspace defaults:

```
kick config set profiles.dev.apiBaseUrl http://localhost:8000/api
kick config set defaultProfile dev
kick --profile dev whoami
```

Use named profiles only when the team understands what each profile points to.

### Sign out

When you are done on a shared machine:

```
kick logout
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.kick.co/ai/developer-tools/cli/authenticate-and-select-workspace.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
