squasher CLI signs in with your Squasher account in the browser, or with an API key for
scripts. Profiles let one machine work with more than one project.
The CLI has no public install package yet. See Get the CLI.
Sign in with your browser
Sign in on a machine without a browser
Use device sign-in over SSH, in a container, or in a remote development environment:Sign in with an API key
Use an API key for CI and scripts. Store it once:SQUASHER_API_KEY environment variable is set, the CLI uses it on
every run.
The key needs scopes for the commands you run. The ingest key from the Setup page has only the
events:ingest scope, so it cannot read data. The --bookmark, --unbookmark, --subscribe, and
--unsubscribe options of squasher errors update change your own state, so they need a browser
sign-in.
The CLI picks the first credential it finds, in this order:
- The environment variable named in the active profile (
--api-key-env). - The
SQUASHER_API_KEYenvironment variable. - A key stored with
squasher login --key. - The browser sign-in session.
Choose where credentials are stored
The CLI keeps its configuration in~/.squasher/config.json. The credentials_store field in that
file sets where it keeps keys and tokens:
squasher config shows the active backend. squasher logout removes the credentials from the
keyring and from the config file. To stop a CLI sign-in on another machine, revoke it in
Account › Connected apps in the dashboard.
Use profiles for more than one project
A profile saves a project and, optionally, the name of an environment variable that holds its API key. The key itself stays in your shell or secret store.squasher profiles usesets the default profile.--profile <name>orSQUASHER_PROFILEselects one for a single command.- When a profile has
--api-key-envand that variable is empty, the command fails. It does not fall back to another key. squasher profiles createon an existing name updates it and keeps the fields that you leave out. Use--clear-projector--clear-api-key-envto remove one.squasher projects use <id>saves the active project on the current profile.
Connect integrations
squasher integrations providers lists the integration providers and their setup fields.
squasher integrations connect <provider> opens the setup flow for github, linear, slack,
railway, or vercel in your browser. Sign in if Squasher asks, approve the access in the
provider, and the CLI prints the connected account when the flow finishes:
--project, the flow uses your current project in the dashboard. Railway and Vercel need
--project. These options finish the setup in the same flow:
Without them, finish the setup on the provider card in Integrations. The CLI waits on a local
callback, so run it on a machine with a browser. See Integrations.
Check provider data
These commands read and change provider data streams. They need an API key with access to the project. Add--json to get the raw API response.
connect-planetscale takes --organization and --service-token-id. It reads the token from the
PLANETSCALE_SERVICE_TOKEN environment variable, or from stdin with --service-token-stdin. No
command takes a secret as a flag value, so secrets do not stay in your shell history.
Next steps
CLI reference
Look up commands, aliases, and global options.
Install agent skills
Teach coding agents the right CLI commands.