# Handler configuration — copy to .env and fill in. Never commit real secrets. # Database. SQLite fallback (single-node) or Postgres (centralized, default for real deploys). # SQLite: sqlite:////absolute/path/to/handler.db # Postgres: postgresql+psycopg://user:pass@host:5432/handler DATABASE_URL=sqlite:////var/lib/handler/handler.db # Single global bearer token gating every API route. Required for the API to start. AUTH_TOKEN=change-me-to-a-long-random-string # Optional higher-trust token gating PUT /shared/context/:key. # Falls back to AUTH_TOKEN if unset. # SHARED_CONTEXT_WRITE_TOKEN= # Optional generic webhook target for the Notification hook (ntfy, Pushover, Slack, ...). # Fully bring-your-own; the Notification hook is a no-op when unset. # WEBHOOK_URL=https://ntfy.sh/my-topic # Base directory under which per-project roots and agent worktrees live (isolation). PROJECTS_ROOT=/var/lib/handler/projects # Binary overrides (defaults shown). Point at fakes in tests/CI. # CLAUDE_BIN=claude # MISE_BIN=mise # TMUX_BIN=tmux