login & logout
The CLI authenticates against the hosted control plane (inth.com) so it can manage your projects, fetch configuration, and call protected APIs. Self-hosted users do not need to log in.
login
pnpm dlx @c15t/cli loginThe CLI uses the OAuth device flow:
- Opens your browser to the verification URL.
- Displays a short user code to confirm the device.
- Polls for the access token and stores it locally once you approve.
Tokens are cached in your OS config directory and refreshed automatically.
logout
pnpm dlx @c15t/cli logoutClears all stored credentials. Run this if you're switching accounts, working on a shared machine, or rotating credentials.
Already logged in?
If you're already logged in, login reports your current email and asks whether you want to switch accounts. Pass --force to skip the prompt.
Where credentials live
Tokens are written to a single JSON file under your home directory:
- Unix / macOS:
~/.c15t/config.json - Windows:
%USERPROFILE%\.c15t\config.json
The CLI resolves the location with os.homedir() plus the .c15t config directory and writes the file with mode 0o600 (owner read/write only). The implementation lives in packages/cli/src/auth/config-store.ts and the schema is C15tConfig in packages/cli/src/auth/types.ts.
Never commit config.json or copy it into containers — it holds the access token, refresh token, and your last-selected project ID.