Environment Variables¶
Environment variables for configuring haven's behavior without editing config files.
| Variable | Default | Description |
|---|---|---|
HAVEN_DIR |
~/.local/share/haven |
haven repo root directory. Equivalent to --dir flag. |
HAVEN_CLAUDE_DIR |
~/.claude |
Claude Code directory (skills, CLAUDE.md). |
HAVEN_TELEMETRY |
unset | Set to 1 to enable telemetry, 0 to force-disable (overrides haven.toml). |
HAVEN_VCS |
unset | Set to git or jj to override the VCS backend. |
Priority order¶
When the same setting can be configured in multiple places, haven uses this priority (first match wins):
VCS backend:
--vcsCLI flagHAVEN_VCSenvironment variablevcs.backendinhaven.toml- Interactive detection (if jj is on PATH and nothing is configured, haven prompts)
- Default:
git
Repo directory:
--dirCLI flagHAVEN_DIRenvironment variable- Default:
~/.local/share/haven
Telemetry:
HAVEN_TELEMETRY=0(force-disable)HAVEN_TELEMETRY=1(force-enable)[telemetry] enabledinhaven.toml- Default: disabled
Examples¶
# Use a custom repo location for this session
HAVEN_DIR=~/work-env haven apply --profile work
# Use jj for this command only
HAVEN_VCS=jj haven init gh:alice/dotfiles
# Enable telemetry for one command
HAVEN_TELEMETRY=1 haven apply