Skip to content
hscli

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.

VariableDescriptionDefault
HSCLI_PROFILENamed profile to use.default
HSCLI_APP_IDOAuth app client ID (headless auth).
HSCLI_APP_SECRETOAuth app client secret.
NO_COLORDisable ANSI colors (standard convention).

Read and write per-profile settings:

Terminal window
hscli config list # show the active profile's config
hscli config get apiBase
hscli config set output json # default output format for this profile
hscli config validate # check the config is well-formed

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.

Terminal window
hscli auth login --profile staging
hscli conv list --profile staging
HSCLI_PROFILE=staging hscli report conversations --start 2026-05-01 --end 2026-05-31

Switch profiles with the profile commands too: hscli profile list, hscli profile use staging, and hscli profile current.

When the same setting is provided more than one way, hscli resolves it in this order (highest first):

  1. An explicit flag (--output json)
  2. An environment variable (HSCLI_PROFILE, …)
  3. The profile's stored config (hscli config set …)
  4. The built-in default

See Output & filtering for everything you can do with output.