Skip to content

Configuration

revcat reads its configuration from environment variables, ~/.revcat/config.json, and (when present) ./.revcat/config.json and ./revcat.toml walked up from cwd.

  1. REVCAT_REFRESH_TOKEN env var (synthesizes a virtual profile; highest precedence, in-memory only)
  2. Walked-up ./.revcat/config.json (written by revcat init)
  3. Active global profile from ~/.revcat/config.json (mode 0600, written by revcat auth login)

Within step 3, the active global profile name is: --profile <name> flag > REVCAT_PROFILE env > ~/.revcat/active (set by revcat auth use) > default.

  1. --project-id flag
  2. REVCAT_PROJECT_ID env var
  3. Resolved credential’s bound project (from local config or env hatch)
  4. Walked-up ./revcat.toml
VariablePurpose
REVCAT_REFRESH_TOKENOAuth refresh token. Synthesizes a virtual profile, refreshes in-memory each invocation. The headless / CI / sandbox hatch.
REVCAT_PROJECT_IDOverride the project id used by project-scoped commands.
REVCAT_PROFILEActive global profile name when --profile is not set.
REVCAT_OAUTH_CLIENT_IDOverride the embedded public OAuth client id.
REVCAT_DEFAULT_OUTPUTDefault output format (table, json, csv, markdown) when --output is not set.
REVCAT_DEBUGSet to api to log full request / response (token redacted).
NO_COLORStandard env that disables color when set.
TierPathUsed when
global file~/.revcat/config.json (mode 0600)written by revcat auth login
local file./.revcat/config.json (walked up from cwd, mode 0600)written by revcat init, gitignored

The active-profile pointer (~/.revcat/active) is a plain text file, not a secret.

revcat is TTY-aware:

StdoutDefault format
Interactive terminalTables (lipgloss + color)
Piped or redirectedJSON

Force a format with --output table|json|csv|markdown. --pretty indents JSON.

Terminal window
REVCAT_DEBUG=api revcat metrics overview # full request/response, token redacted
revcat doctor # top-level health check
revcat auth doctor # auth-specific (incl. toml/local mismatch)