Core Variables
BASECUT_API_KEY
Type: String (required for snapshot create and self-hosted agent) Format:bc_live_* or bc_test_*
Your Basecut API key for authentication with Basecut services.
- User keys:
basecut loginthen view in dashboard - Org keys: Dashboard → Organization Settings → API Keys
BASECUT_NO_BROWSER
Type: String (set to any value) Disable automatic browser opening duringbasecut login (useful for SSH or headless environments).
BASECUT_NO_UPDATE_NOTIFIER
Type: String (set to any value) Disable the CLI update notification check in interactive terminals.BASECUT_DATABASE_URL
Type: String (PostgreSQL connection) Format:postgresql://user:password@host:port/database
Default database connection string. Used when --source or --target flags are omitted.
Cloud Storage Variables
AWS S3
AWS_ACCESS_KEY_ID
AWS access key for S3 bucket access.AWS_SECRET_ACCESS_KEY
AWS secret key for S3 bucket access.AWS_SESSION_TOKEN
AWS session token for temporary credentials (optional).AWS_REGION
Default AWS region for S3 buckets. Used as a fallback whenoutput.region is not set in basecut.yml (including self-hosted agent --async runs).
~/.aws/credentials)
Google Cloud Storage
GOOGLE_APPLICATION_CREDENTIALS
Path to GCS service account JSON key file.gcloud auth application-default login
Agent Configuration
Agent settings are configured via CLI flags (not environment variables):--agent-id(optional)--poll-interval(default:5s)--heartbeat-interval(default:1m)--run-once(useful for testing)
Configuration Precedence
When a value can come from multiple sources, precedence is:- CLI flags (highest priority)
- Environment variables
- Config file (basecut.yml)
- Defaults (lowest priority)
Security Best Practices
- Never commit credentials (
.env, API keys) to source control - Use a read-only database user for extraction — see Agent Deployment
- Use your CI platform’s secret management for
BASECUT_API_KEYand cloud storage credentials - Use IAM roles or Workload Identity instead of static credentials when possible