DOCS · CONFIGURATION
ALL DOCS FIG. 15 · DWG VC-015

Environment variables

Stable environment variables you can set, and the worker-injected variables you should read but never set yourself.

Canonical source — docs/public/configuration/environment.md

Environment variables

Vibecrafted reads a small set of stable environment variables. They split into three groups: variables you set to relocate or configure the install, variables that steer provenance discovery, and variables the runtime injects into worker sessions — informational, never set by hand.

Install and location

VariableDefaultEffect
VIBECRAFTED_HOME$HOME/.vibecraftedState root for artifacts, logs, backups, and control-plane state
XDG_DATA_HOME$HOME/.local/shareParent of the installed runtime root (…/vibecrafted/tools/)
XDG_CONFIG_HOME$HOME/.configParent of the vetcoders/ config layer
VIBECRAFTED_RUNTIMEnoneRuntime horse to stage at install time (wezterm, vc-apprt, locterm, microsandbox)
HTTPS_PROXY / HTTP_PROXYunsetHonored by the curl download path and by uv during install

Set VIBECRAFTED_HOME before the first install if you want the state root somewhere else:

export VIBECRAFTED_HOME="$HOME/work/vibecrafted-state"
open https://github.com/vetcoders/vibecrafted/releases/latest
# Download and verify Vibecrafted_<version>-<YYYYMMDD>-<sha8>.dmg, then open it.

Provenance discovery (receipt)

vibecrafted receipt never uses the process working directory to identify a tool’s source checkout. When auto-discovery fails, point it explicitly:

VariablePoints at
VIBECRAFTED_SOURCESource checkout of the vibecrafted framework
VC_FRAME_SOURCESource checkout of vc-frame
LOCTREE_SOURCESource checkout of loctree
AICX_SOURCESource checkout of aicx
VIBECRAFTED_FLEET_ROOTOne parent directory containing all fleet checkouts
VIBECRAFTED_FLEET_ROOT="$HOME/projects" vibecrafted receipt --json

Docker

VariableDefaultEffect
VIBECRAFTED_DOCKER_SEED_SKILLS1Set to 0 to disable first-run skill seeding into /workspace/.vibecrafted when you mount your own runtime store

Worker contract (injected — read-only)

When Vibecrafted launches a workflow run, it injects the run identity into the worker’s environment. These are the contract surface a worker (or any tooling you hook into a run) can rely on. Do not set them yourself — the launcher owns them, and stale values are actively cleaned between runs.

VariableInjected valueWhat a worker does with it
VIBECRAFTED_RUN_IDThe control-plane run id, e.g. impl-<timestamp>-<id>Identifies the run in status, settlements, and artifact naming
VIBECRAFTED_REPORT_PATHAbsolute path under ~/.vibecrafted/artifacts/…/reports/The worker writes its final durable report to exactly this path

A worker prompt receives the same instruction: write your final report to the path in VIBECRAFTED_REPORT_PATH. If a worker exits without writing it, the supervisor salvages a report from the transcript and marks it as salvaged.

Inspect the contract inside a running worker:

printf 'run:    %s\nreport: %s\n' "${VIBECRAFTED_RUN_ID:-unset}" "${VIBECRAFTED_REPORT_PATH:-unset}"

Stability notes

  • The variables in the first three tables are the stable, public surface.
  • Additional VIBECRAFTED_* variables exist inside the runtime (session ambience, marbles loops, operator sessions). They are internal wiring, subject to change without notice — build nothing on them.
  • Agent CLI credentials are read from each agent’s own environment and config stores. Vibecrafted never stores secrets; skills read credentials from environment variables only.

Next

  • Configuration — the directory surfaces these variables relocate.
  • Doctor — verifying the environment resolved correctly.