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

# Configuration

> Local workspace and credential management for the Esper CLI.

## Initialize

Create the local CLI workspace with the API key and tenant that commands should
use by default:

```bash theme={null}
esper init \
  --api-base https://api.esperr.com \
  --api-key <secret> \
  --tenant-id <tenant-id>
```

If you do not have an API key yet, initialize the workspace with the API base,
then use the hosted token flow to list tenant keys:

```bash theme={null}
esper init --api-base https://api.esperr.com
esper auth login --token <jwt>
esper keys list --tenant-id <tenant-id>
```

The configured `api_key` in `~/.esper/config.yaml` is used directly for
authenticated CLI API calls. When `api_key` is empty, the CLI falls back to the
stored operator token from `esper auth login`.

## Local State

The Esper CLI stores all local data files under `~/.esper`:

* Config file: `~/.esper/config.yaml`
* Credentials file: `~/.esper/credentials.xml`
* Runtime config: `~/.esper/runtime.xml`
* Cache: `~/.esper/cache/`
* Logs: `~/.esper/logs/`

## Environment Variables

Runtime services still use their service-specific environment variables. CLI
commands use the initialized workspace unless an explicit command flag overrides
the selected tenant.
