Help
CLI
The SquirrelStack CLI lets you manage errors from the command line. It’s designed for quick triage and is particularly useful as part of automated workflows and Claude Code skills.
Install
Install via Homebrew:
brew tap futuremill/squirrelstack
brew install squirrelstack
Or download directly:
curl -fsSL https://raw.githubusercontent.com/futuremill/squirrelstack-cli/main/squirrelstack \
-o /usr/local/bin/squirrelstack
chmod +x /usr/local/bin/squirrelstack
Authentication
On first use, the CLI will prompt you to authenticate. You can log in via your browser (recommended) or paste an existing personal access token.
squirrelstack login
The token is stored securely in the macOS Keychain. To remove it:
squirrelstack logout
You can also set the SQUIRRELSTACK_TOKEN environment variable to override the stored token, which is useful for CI or automation.
Accounts
Your PAT identifies you as a user, not an account — so if you belong to multiple SquirrelStack accounts, you need to tell the CLI which one to use. The CLI looks for the account in this order:
--account <slug>flagSQUIRRELSTACK_ACCOUNTenvironment variable- Nearest
.squirrelstackfile, walked up from the current directory ~/.squirrelstack(global default)- Server default (only works when your user has exactly one account)
squirrelstack accounts # list accounts (marks the current one)
squirrelstack accounts use <slug> # pin account for the current directory tree
squirrelstack accounts use <slug> --global # set a global default in ~/.squirrelstack
squirrelstack accounts use --clear # remove the local .squirrelstack
squirrelstack accounts current # show resolved account and its source
The pinned-account file is plain text — a single line of account=<slug>. Commit it if your team should share the project’s default, or gitignore it if it’s personal.
Listing Errors
View all unresolved errors with:
squirrelstack errors
This shows severity, priority, environment, occurrence count, assignee, error type, message, and when the error was last seen.
Filtering
Narrow results by status, severity, or environment:
squirrelstack errors --status resolved
squirrelstack errors --severity critical
squirrelstack errors --env production
Valid statuses: unresolved (default), resolved, ignored, all.
JSON Output
Add --json to get raw JSON, useful for piping to other tools or Claude Code skills:
squirrelstack errors --json
Viewing Error Details
Get the full details of an error including message, backtrace, occurrence data, and notes:
squirrelstack errors show <ID>
App frames in the backtrace are highlighted with >> to help you find your code quickly. Add --json for raw JSON output.
Updating Errors
Change the status, priority, or assignee of an error:
squirrelstack errors update <ID> --status resolved
squirrelstack errors update <ID> --priority high
squirrelstack errors update <ID> --assign <USER_ID>
You can combine multiple updates in one command:
squirrelstack errors update <ID> --status resolved --priority low --assign none
Valid statuses: unresolved, resolved, ignored, always_ignored.
Valid priorities: critical, high, medium, low, none.
Use --assign none to unassign.
Adding Notes
Add a comment to an error for context or to document your investigation:
squirrelstack errors comment <ID> "Root cause: nil user in session after timeout"
Notes are visible in the web UI and in squirrelstack errors show.
Team Members
To find user IDs for the --assign option:
squirrelstack errors members
Environment Variables
| Variable | Description |
|---|---|
SQUIRRELSTACK_TOKEN |
PAT token (overrides Keychain) |
SQUIRRELSTACK_ACCOUNT |
Account slug to send as X-Account-Slug (overrides .squirrelstack) |
SQUIRRELSTACK_URL |
API base URL (default: https://squirrelstack.app) |
Requirements
The CLI requires macOS with Ruby, curl, and openssl — all pre-installed. Token storage uses the macOS Keychain.