Configuration
hscli works with zero configuration after login. When you do
want to change things, you have three layers: flags, environment variables, and
per-profile config managed by the config command.
Environment variables
Section titled “Environment variables”| Variable | Description | Default |
|---|---|---|
HSCLI_PROFILE | Named profile to use. | default |
HSCLI_APP_ID | OAuth app client ID (headless auth). | — |
HSCLI_APP_SECRET | OAuth app client secret. | — |
NO_COLOR | Disable ANSI colors (standard convention). | — |
The config command
Section titled “The config command”Read and write per-profile settings:
hscli config list # show the active profile's confighscli config get apiBasehscli config set output json # default output format for this profilehscli config validate # check the config is well-formedProfiles
Section titled “Profiles”Each profile stores its own credentials in the keychain. Create one by logging in with
--profile, then target it per-command or via HSCLI_PROFILE.
hscli auth login --profile staginghscli conv list --profile stagingHSCLI_PROFILE=staging hscli report conversations --start 2026-05-01 --end 2026-05-31Switch profiles with the profile commands too: hscli profile list,
hscli profile use staging, and hscli profile current.
Precedence
Section titled “Precedence”When the same setting is provided more than one way, hscli resolves it in this order (highest first):
- An explicit flag (
--output json) - An environment variable (
HSCLI_PROFILE, …) - The profile's stored config (
hscli config set …) - The built-in default
See Output & filtering for everything you can do with output.