Environment Variables
Required Variables
Section titled “Required Variables”These variables are required for Abacus to function:
| Variable | Description |
|----------|-------------|
| POSTGRES_URL | PostgreSQL connection string |
| BETTER_AUTH_SECRET | Secret for session encryption. Generate with: openssl rand -base64 32 |
| GOOGLE_CLIENT_ID | Google OAuth client ID |
| GOOGLE_CLIENT_SECRET | Google OAuth client secret |
| NEXT_PUBLIC_DOMAIN | Email domain to restrict access (e.g., sentry.io) |
| CRON_SECRET | Secret for authenticating cron job requests. Generate with: openssl rand -hex 32 |
Provider Variables
Section titled “Provider Variables”Claude Code (Anthropic)
Section titled “Claude Code (Anthropic)”| Variable | Description |
|----------|-------------|
| ANTHROPIC_ADMIN_KEY | Anthropic Admin API key (starts with sk-admin-) |
| ANTHROPIC_ADMIN_KEYS | JSON array of keys for multiple organizations (see Multi-Organization Keys) |
See Claude Code setup for details.
Cursor
Section titled “Cursor”| Variable | Description |
|----------|-------------|
| CURSOR_ADMIN_KEY | Cursor Admin API key |
| CURSOR_ADMIN_KEYS | JSON array of keys for multiple teams (see Multi-Organization Keys) |
See Cursor setup for details.
GitHub Commits
Section titled “GitHub Commits”| Variable | Description |
|----------|-------------|
| GITHUB_APP_ID | GitHub App ID |
| GITHUB_APP_PRIVATE_KEY | GitHub App private key (full PEM content) |
| GITHUB_APP_INSTALLATION_ID | Installation ID for your organization |
| GITHUB_WEBHOOK_SECRET | Webhook secret for verifying requests |
For local development only:
| Variable | Description |
|----------|-------------|
| GITHUB_TOKEN | Fine-grained personal access token (alternative to App) |
See GitHub Commits setup for details.
Optional Variables
Section titled “Optional Variables”| Variable | Description |
|----------|-------------|
| NEXT_PUBLIC_SENTRY_DSN | Sentry DSN for error tracking |
Local Development
Section titled “Local Development”| Variable | Description |
|----------|-------------|
| AUTH_BYPASS_LOCAL | Set to true to bypass SSO login locally. Returns a mock “Dev User” session. |
Multi-Organization Keys
Section titled “Multi-Organization Keys”For managing multiple Anthropic organizations or Cursor teams, use a JSON array:
ANTHROPIC_ADMIN_KEYS='[{"key":"sk-admin-xxx","name":"Engineering"},{"key":"sk-admin-yyy","name":"Research"}]'CURSOR_ADMIN_KEYS='[{"key":"cur_xxx","name":"Team Alpha"},{"key":"cur_yyy","name":"Team Beta"}]'Each entry requires:
key: The admin API keyname: A label identifying the organization or team (used in reports)