Auth

PAT-management commands. The PAT is the credential es itself uses — distinct from the project API keys the SDK uses. For the high-level login walkthrough (and the device-authorization flow screenshot), see Authenticate below.

Commands

Command What it does
es auth login [--no-browser] Runs the RFC 8628 device-authorization flow. Shows a one-time code, opens the verification URL in your browser, and polls until you sign in and confirm. Saves the resulting PAT to ~/.config/everscribe/pat.json (mode 0600). --no-browser skips opening the browser — useful over SSH.
es auth logout Revokes the PAT server-side and removes the local session file. Tolerant of stale tokens — local cleanup always runs.
es auth whoami [--format ...] Prints the user identity associated with the saved PAT. Never echoes the token itself.

Authenticate

es authenticates with a personal access token (PAT) you mint via the browser — distinct from the project API keys the SDK uses. The CLI itself walks you through the RFC 8628 device-authorization flow:

es auth login

What you'll see:

First copy your one-time code:

    PHJK-7M3X

Then open this URL in your browser (we'll try to open it for you):

    https://everscribe.io/cli/verify

Waiting for authorization... (press Ctrl+C to cancel)
Logged in as [email protected].

Opening the URL lands you on the Authorize the Everscribe CLI page where you paste the one-time code and click Authorize — the CLI is polling and finishes the moment the browser confirms.

The PAT is persisted to ~/.config/everscribe/pat.json (mode 0600). Default lifetime is 90 days; manage tokens (or mint one with a different expiry) on Developer Settings.

Use --no-browser when you're SSHed into a remote host — the CLI prints the code and URL so you can sign in from a browser on any device.

Where the PAT lives

Saved to ~/.config/everscribe/pat.json (mode 0600). Default lifetime is 90 days; manage tokens (or mint one with a different expiry) on Developer Settings. es auth logout is safe to run when the token is already invalid — local cleanup runs unconditionally.