werk1112

Environment variables

This page lists environment variables read by Werk, its bundled helper, the install scripts, or the ComfyUI integration. An explicit CLI option takes precedence where the same setting is exposed as a flag. Paths should point to the executable or directory described; Werk does not activate Python virtual environments on behalf of a configured interpreter.

See Backends, routing and platform support for supported runtime combinations and Models, manifests and the store for the managed directory layout.

Console presentation

Variable Meaning
NO_COLOR When set, disable colors in the banner, console panels, progress indicators, help and top; retain readable structure.
TERM dumb disables decoration for ordinary commands. Interactive top still uses TTY raw mode/alternate screen; NO_COLOR only removes its colors. Use top --once or top --once --json for scripts. Redirected ordinary output and machine-readable JSON/JSONL stay plain.

Operational logging

CLI flags override these variables. See logging semantics.

Variable Meaning
WERK_LOG_LEVEL error, warn, info, debug, trace, or off. Default INFO; DEBUG with verbose serve modes, supported run/chat and image/video/audio --verbose/--debug, or bench --debug. An explicit level wins.
WERK_LOG_FORMAT auto, text, or json. Default auto; serve --verbose-pure forces raw JSONL.
WERK_LOG_FILE Optional JSONL file path. One writer per path.
WERK_LOG_MAX_SIZE_MB Rotation size in MiB, default 10, range 1–4096.
WERK_LOG_RETENTION Rotated files to retain, default 5, range 1–100.

Core, serving and storage

WERK_DEPLOYMENTS selects a server-owned deployment JSON file for serve (same as --deployments). It binds individual native binaries and CUDA UUID groups. Profile mode rejects global WERK_LLAMA_ARGS / WERK_VLLM_ARGS; use the validated per-profile options. Deployment configuration.

Variable Meaning
WERK_HOME Managed store root. A global --model-home value wins. Runtime-state data is stored beneath runtime-state/v1 and its private namespace-HMAC key beneath auth. See the store resolution order.
WERK_API_KEY Single bearer key for werk serve; also the default for werk run --server, werk runtime, werk top and the ComfyUI client. A configured serve key must not be empty.
WERK_API_KEYS TOML key file for werk serve. The uninstall scripts also consult it when locating an optional key file to remove.
WERK_API_BODY_LIMIT_BYTES Positive request-body limit for chat completions (including inline vision data), audio transcription/translation uploads and generic-job creation. Default: 128 MiB; maximum: 512 MiB. Invalid values use the default.
WERK_OUTPUT_MAX_BYTES Output-store retention ceiling. Default: 20 GiB; invalid values use the default. Oldest outputs are removed first.
WERK_OUTPUT_RETENTION_SECONDS Maximum output age. Default: 2,592,000 seconds (30 days); invalid values use the default.
WERK_ACCELERATOR_MEMORY_BYTES Unsigned byte estimate overriding detected non-CPU accelerator memory for planning.
WERK_MEDIA_ACCELERATOR Planner/device override: cuda, rocm/hip, mps/metal, mlx, or cpu; other values remain an opaque accelerator label. This is a planning declaration, not a hardware capability check.

Hugging Face pull authentication is checked in this order: HF_TOKEN, HUGGING_FACE_HUB_TOKEN, the token saved by Werk, then the Hugging Face CLI token below HF_HOME (or its normal home-directory default).

Runtime persistence and memory policy

Runtime persistence follows the active server’s WERK_HOME. Setting a different store on a machine running werk runtime does not redirect the remote server’s state. The runtime CLI has an explicit --url option rather than a WERK_BASE_URL default; WERK_API_KEY supplies its credential.

There is deliberately no environment variable for:

werk serve --persistence and its granular persistence options are CLI-only defaults for missing top-level policy and allow_experimental members on POST /werk/v1/prefill. In addition, the effective reuse default controls the native prefix-cache flag generated for a local Werk-started vLLM process; explicit vLLM arguments win. For local oMLX 0.6.4 and 0.7.0, auto or disk mode with reuse enabled also opts into verified short exact-prefix caching for the worker. This cache has no cross-restart guarantee. Werk sends no generated flag to remote vLLM: its model lifetime is externally managed and its APC configuration remains opaque metadata. The options do not redirect ordinary /v1 or media requests through Prefill.

Independent same-process model/pipeline residency is automatic where supported and is described in the execution-lifetime matrix.

The current memory thresholds, bounded state catalog, principal isolation and dry-run-first maintenance rules are implementation safety policy. A backend must report exact capability status and bounded memory requirements through its adapter. See Runtime persistence and memory architecture.

Documents and text analysis

Variable Meaning
WERK_DOCUMENT_PYTHON Interpreter for the isolated document-extraction worker. Default: python on Windows, python3 elsewhere. PDF extraction/rendering requires the optional packages in this interpreter; Office extraction uses its standard library. Plain UTF-8 inputs do not start Python.
WERK_DOCUMENT_TESSERACT Tesseract executable for explicitly requested document OCR; default tesseract.
WERK_DOCUMENT_OCR_LANG Tesseract language selection; default eng, for example deu+eng. Required language data must be installed.
WERK_TEXT_PYTHON Text-analysis worker interpreter. Takes priority over WERK_TRANSFORMERS_PYTHON, then the managed backends/text-analysis/venv interpreter, then platform python / python3. Selects the environment for embeddings, reranking and classification; vLLM pooling uses its separate vLLM environment.
WERK_TEXT_THREADS PyTorch CPU thread count for the text-analysis worker. Default min(8, CPU count) (at least one). Integer values are clamped to at least one; a noninteger value fails model loading.

See document input contracts and text-analysis endpoints. These settings configure workers used by serve; they do not add new CLI subcommands.

Media and Qwen-TTS

Variable Meaning
WERK_MEDIA_COMPANION Compatible standalone media-companion executable. This has priority over Python discovery.
WERK_MEDIA_PYTHON Python interpreter used for the bundled media adapter when no standalone companion is configured. Overrides the completed werk backend install media environment; otherwise managed Python precedes PATH.
WERK_MEDIA_COMPANION_SCRIPT Explicit Python companion script. This is an advanced override of the adjacent/repository/embedded script discovery.
WERK_MEDIA_PIPELINE_CACHE_SIZE Number of loaded models/pipelines retained independently by each resident execution worker: one generic media LRU and, when used, one separate managed-Qwen LRU. Default per worker: 1; 0 disables both model caches without disabling either worker.
WERK_MEDIA_DEBUG 1, true, yes, or on enables traceback details for unexpected companion errors.
WERK_QWEN_TTS_PYTHON Explicit Python interpreter containing the compatible qwen-tts==0.1.1 installation. It is checked before Werk’s managed Qwen-TTS environment.

During companion requests Werk forces Hugging Face, Transformers, Diffusers and Datasets offline modes, disables Hugging Face telemetry, and requests local-only loading. Those injected variables are an execution boundary, not a promise that an arbitrary third-party pipeline is offline-safe.

Werk also keeps bounded, process-local positive probe and estimate caches so a successfully validated media configuration does not repeatedly pay the one-shot preflight cost. These contain capability/estimate data, not model weights or inference outputs; unavailable results and errors are not cached. Their safety bound is internal and is not controlled by WERK_MEDIA_PIPELINE_CACHE_SIZE.

llama.cpp

The matching werk serve options override the resource-tuning variables.

Variable Meaning
WERK_LLAMA_SERVER_CUDA, WERK_LLAMA_SERVER_ROCM, WERK_LLAMA_SERVER_VULKAN, WERK_LLAMA_SERVER_METAL, WERK_LLAMA_SERVER_CPU Mode-specific llama-server executable.
WERK_LLAMA_SERVER Generic executable fallback after the mode-specific variable and before managed/PATH discovery.
WERK_LLAMA_HEALTH_TIMEOUT_SECONDS Positive integer readiness timeout for a new native llama-server, default 900 seconds (15 minutes) to allow large-model cold starts. Invalid values fail before launching the worker. Individual startup health probes have a one-second budget. A native memory-fitting failure stops startup early, regardless of this timeout. This does not change inference timeouts, memory placement, context or parallel slots. Worker cleanup may take additional time.
WERK_LLAMA_PARALLEL Native llama-server slots (--parallel), default 1; not an agent count. Each slot receives the configured per-sequence context; more slots increase memory.
WERK_LLAMA_CTX Context size per sequence; 0 asks the model/runtime default where supported.
WERK_LLAMA_BATCH, WERK_LLAMA_UBATCH Logical batch size and physical micro-batch size.
WERK_LLAMA_GPU_LAYERS, WERK_LLAMA_MAIN_GPU GPU offload layer count and main GPU index.
WERK_LLAMA_KV_CACHE_TYPE KV-cache type: f16, f32, or q8-0.
WERK_LLAMA_FLASH_ATTN, WERK_LLAMA_KV_OFFLOAD Flash-attention and KV-cache offload switches.
WERK_LLAMA_WARMUP_TOKENS Pre-warm token count; 0 disables token pre-warm.
WERK_LLAMA_WARMUP Set to a false value (0, false, no, off) to disable warm-up on compatibility paths.
WERK_LLAMA_THREADS, WERK_LLAMA_THREADS_BATCH Generation and batch thread counts.
WERK_LLAMA_LOG Truthy value enables child-runtime logging.
WERK_LLAMA_ARGS Additional whitespace-split arguments appended to llama-server. Advanced use: these can change runtime behavior outside Werk’s typed validation. If the final arguments override the private single-slot state configuration, Werk leaves runtime-state capabilities unavailable.

With the required native slot controls available, Werk enables an 8192 MiB RAM prompt cache for alternating API conversations, independently of serve --persistence. Append --cache-ram 2048 or --cache-ram 0 through WERK_LLAMA_ARGS to reduce or disable it. See llama.cpp prompt caching for snapshot isolation and compatibility with older runtimes.

Managed CUDA builds additionally read WERK_LLAMA_CUDA_COMPILER, WERK_LLAMA_CUDA_HOST_COMPILER, and WERK_LLAMA_CUDA_ARCH. WERK_LLAMA_CUDA_NCCL=true enables GGML_CUDA_NCCL when configuring the managed CUDA build; default false keeps NCCL optional. An explicit enabled build requires its native NCCL dependencies. This is a build setting, not a request to distribute a model across GPUs at inference time. Accepted boolean spellings are 1/true/yes/on and 0/false/no/off, ignoring case and surrounding whitespace; other values fail configuration.

Managed ROCm llama.cpp builds read WERK_LLAMA_ROCM_ARCH before the upstream GPU_TARGETS value and WERK_LLAMA_HIP_NO_VMM before the upstream GGML_HIP_NO_VMM value. When the selected logical ROCm device on a detected Strix Halo host is gfx1151, their defaults are gfx1151 and enabled respectively. Werk deliberately does not set llama.cpp’s GGML_CUDA_ENABLE_UNIFIED_MEMORY variable on Strix Halo: current upstream gfx1151 behavior remains experimental, and llama.cpp treats the variable’s presence as enabled even when its value is 0. An operator can still opt in by setting the upstream variable explicitly. Werk does not set or recommend HSA_OVERRIDE_GFX_VERSION; the ROCm stack and binary must support the real gfx1151 target.

vLLM, ONNX, MLX, oMLX and Transformers

Variable Meaning
WERK_VLLM_HOST + WERK_VLLM_PORT Together explicitly select a remote vLLM endpoint before local discovery. Werk waits for its /v1/models readiness within the health timeout.
WERK_VLLM_MODEL Served model ID for a remote vLLM endpoint. When omitted, Werk accepts an exact Werk-model-ID match or the endpoint’s only advertised model; ambiguous endpoints fail instead of guessing.
WERK_VLLM_PYTHON Python interpreter for a local vLLM installation.
WERK_VLLM_ARGS Additional arguments for a Werk-started local vLLM server, parsed as a POSIX shell-word list and appended to its direct process argv.
WERK_VLLM_HEALTH_TIMEOUT_SECONDS Positive cold-start readiness timeout for a Werk-supervised local server or explicitly configured remote endpoint. The default is 300 seconds, or 900 seconds on detected DGX Spark and AMD Strix Halo; this does not change request/inference timeouts.
WERK_VLLM_LOG Truthy value enables child-runtime logging.
WERK_VLLM_ACCELERATOR=rocm or WERK_VLLM_ROCM=1 Declares that a remote vLLM endpoint is ROCm-backed. This does not verify the remote server.
WERK_ONNX_RUNTIME_CUDA, WERK_ONNX_RUNTIME_ROCM, WERK_ONNX_RUNTIME_CPU Mode-specific werk-onnx-runner executable.
WERK_ONNX_RUNTIME Generic ONNX runner fallback.
WERK_ONNX_RUNTIME_BUNDLE_CUDA, WERK_ONNX_RUNTIME_BUNDLE_ROCM, WERK_ONNX_RUNTIME_BUNDLE_CPU Mode-specific local bundle used to provision a managed ONNX runner.
WERK_ONNX_RUNTIME_BUNDLE Generic ONNX bundle fallback.
WERK_ONNX_GENAI_PYTHON, WERK_ONNX_RUNTIME_PYTHON Explicit CPU onnxruntime_genai Python overrides, checked in that order. An invalid explicit selection fails instead of falling through. Without an override, the completed werk backend install onnx-cpu environment precedes PATH.
WERK_ONNX_GENAI_MODEL_CACHE_SIZE Independent exact-model ONNX GenAI CPU-fallback workers retained in a bounded LRU. Default: 1; values are clamped to 0..8; 0 disables this model cache. It does not affect an opaque external ONNX runner.
WERK_ONNX_EXPORTER Executable used by werk artifacts build before optimum-cli or Python module discovery.
WERK_MLX_PYTHON, WERK_MLX_MODULE, WERK_MLX_GENERATE MLX-LM interpreter, module (default mlx_lm.generate), and executable override. An explicit module takes precedence over the executable; an explicit Python alone uses its own default module. Model preflight and generation use the same resolved environment. Without an explicit launcher/interpreter, the completed werk backend install mlx environment precedes PATH.
WERK_MLX_VLM_PYTHON, WERK_MLX_VLM_MODULE, WERK_MLX_VLM_GENERATE MLX-VLM equivalents; the default module is mlx_vlm. The completed werk backend install mlx-vlm environment precedes PATH; overrides retain precedence.
WERK_OMLX_BIN Installed local oMLX Python CLI launcher on macOS Apple Silicon. Takes precedence over the Werk-managed oMLX virtual environment and omlx on PATH; an empty or invalid override fails discovery. Werk uses the launcher’s own interpreter for compatibility checks and execution.
WERK_OMLX_HEALTH_TIMEOUT_SECONDS Positive integer timeout shared by oMLX startup, health checks and model loading. Default: 900 seconds; invalid values fail discovery. It does not change the fixed 20-second metadata-probe limit or generation timeouts.
WERK_OMLX_EXPERT_CACHE_MB Experimental oMLX SSD expert offload. Unset or 0 preserves native oMLX loading. Explicit auto selects a device- and model-dependent cache ceiling for supported DeepSeek V4, Qwen qwen4_exp and GLM glm5_next affine checkpoints on oMLX 0.6.4; other architectures/runtimes keep native loading. A positive integer sets an explicit ceiling in MiB; 0 retains ordinary oMLX loading. Auto accounts for current available memory, the effective Metal cap, base weights and workspace; it has no fixed 24-GiB or 1-TiB cache cap. Before prompt admission and at prefill chunk boundaries, the worker can shrink the working set to leave room for real KV/attention costs, retaining native memory guards. Small budgets remain supported: the full model need not fit in RAM. Set on the Werk server or CLI process before starting it. Chat API and ComfyUI/n8n text options can override this default per request. Dense weights, attention, KV cache and temporary buffers require additional memory. See oMLX expert offload.
WERK_OMLX_EXPERT_EXECUTION Expert-offload execution strategy: grouped (default) batches tensor materialization and expert output evaluation while preserving the cache budget and active-weight lifetimes. serial keeps the previous execution order for comparison and rollback. Both use the same checkpoint quantization. Captured at backend selection; restart Werk after changing it.
WERK_OMLX_TEXT_DECODE Single-token expert output assembly for the verified GLM glm5_next and Qwen qwen4_exp text offload adapters: direct (default) assembles evaluated expert rows in route order; legacy uses the original gather/scatter implementation. Prefill, quantization, active-weight lifetimes and cache budgets remain the same. Restart Werk when changing the setting. DeepSeek and other backends do not use it.
WERK_OMLX_GLM_PROFILE Optional GLM glm5_next expert-layer counters: 1 enables bounded cumulative per-layer statistics in the private worker status and verbose generation diagnostics; 0 (default) disables them. Measures existing counters and wall time, with overlapping phases and logical reads that may hit the OS file cache. Profiling adds overhead; leave disabled for performance comparisons. Qwen and DeepSeek do not use it.
WERK_OMLX_NGRAM_CACHE_MB Separate N-gram cache cap in MiB for verified text offload adapters. Unset or 0 keeps tables resident. Explicit auto starts with at most 64 MiB for Qwen qwen4_exp PLE rows and grows at prefill/request boundaries only after demand eviction. The hardware ceiling uses at most one eighth of shared weight-cache room when experts are streamed; native expert weights are otherwise charged as base memory. Pressure can shrink the row cache. There is no fixed 1-GiB Auto ceiling; 0 keeps tables resident. A positive integer requires actual supported tables. Both caches share native memory admission, so their effective limits may shrink. API werk.omlx.ngram_cache_mb and ComfyUI/n8n text controls can override it.
WERK_OMLX_THINKING Optional oMLX thinking override: 0 disables thinking and 1 enables it through chat_template_kwargs.enable_thinking for model templates that support the setting. Unset preserves the runtime/model default; empty or other values fail discovery. Captured when Werk selects the backend, so set it before starting the CLI or server. Applies to streaming and nonstreaming text/chat requests. Chat API and ComfyUI/n8n text options can override this default per request without changing the process environment.
WERK_OMLX_REASONING_EFFORT Optional low, high, or max native reasoning effort for oMLX chat/run/serve; unset preserves the model default. Sent both as native reasoning_effort and template kwargs. GLM honors this separately from thinking; low does not turn reasoning off.
WERK_TRANSFORMERS_PYTHON Python interpreter containing PyTorch and Transformers for the compatibility backend. Overrides the completed werk backend install transformers environment, which otherwise precedes PATH.
WERK_TRANSFORMERS_DEVICE Device override; auto chooses CUDA, then MPS, then CPU.
WERK_TRANSFORMERS_DTYPE auto, float32/fp32/f32, bfloat16/bf16, or float16/fp16/f16/half.
WERK_TRANSFORMERS_MODEL_CACHE_SIZE Independent exact-model Transformers compatibility workers retained in a bounded LRU. Default: 1; values are clamped to 0..8; 0 disables model caching without disabling the worker.

WERK_BURN_MODEL_CACHE_SIZE controls experimental Burn resident model capacity (default 1, clamped to 1..8). For ONNX/Transformers/Burn, configure capacity above one for overlapping different-model execution. Active entries cannot be evicted; a new distinct model fails with a capacity error when all entries are in use. See inference concurrency.

The local oMLX adapter captures its launcher, Python environment and working directory for both preflight and execution. Werk excludes inherited upstream OMLX_* settings and supplies an isolated base directory, loopback address, free port and private child API key. It sets HF_HUB_OFFLINE=1, TRANSFORMERS_OFFLINE=1 and PYTHONDONTWRITEBYTECODE=1 for the probe and worker. There is no oMLX remote endpoint or extra-launch-arguments override; install with werk backend install omlx and select it with --backend omlx or compatible automatic routing.

Automatic selection, an explicit WERK_OMLX_EXPERT_CACHE_MB budget, or a positive werk.omlx.expert_cache_mb chat option enables the backend’s experimental loading path; none supplies allow_experimental to protocol requests. Expert list and control requests must still opt in explicitly. ComfyUI and n8n use their existing Allow Experimental controls; media allow_disk_offload options do not configure this text-model cache.

ComfyUI Werk Text Config and n8n WERK Text → Chat Options expose thinking and expert offload as Inherit / Enabled / Disabled. Inherit omits the option and keeps the server default. Explicit settings require the server’s api.chat.omlx_options capability; update and restart Werk if it is missing. See the chat options contract.

oMLX’s DeepSeek V4 template enables thinking by default. Werk displays the visible answer; reasoning deltas do not clear the terminal’s waiting indicator. With SSD expert offload, generating hidden reasoning can therefore look like a stalled chat. For templates honoring the switch, set WERK_OMLX_THINKING=0 for direct answers. GLM ignores this switch; use WERK_OMLX_REASONING_EFFORT=low to reduce its reasoning effort. Leave these settings unset to keep the runtime’s default. This option changes generation behavior; the expert cache budget remains controlled separately.

oMLX timing statistics include reasoning tokens in generation time. Werk uses the runtime’s phase durations when supplied, or the first streamed token (including reasoning) as a fallback. Without phase timings or streamed tokens, prompt timing is unavailable and the reported eval duration includes prompt processing.

WERK_VLLM_ARGS is a list of arguments, not a shell command. Quoting and backslash escaping follow POSIX shell-word rules, including quoted empty arguments, but Werk never starts a shell and performs no command, environment, tilde or glob expansion. Repeated flags and argument order are preserved. A malformed list, a trailing unescaped backslash or a non-UTF-8 environment value fails before a vLLM process is started.

Werk owns --model, --host, --port and --served-model-name; both --flag value and --flag=value attempts to set one of these through WERK_VLLM_ARGS are rejected. The variable applies only when Werk starts a local vLLM process. A nonempty value together with WERK_VLLM_HOST and WERK_VLLM_PORT is an error: configure launch flags on that remote server and leave WERK_VLLM_ARGS unset or empty in the Werk process.

WERK_VLLM_ARGS can configure facilities owned by vLLM itself. Werk reports runtime.state.prefix_cache as externally_managed with only the automatic_reuse operation when at least one Werk-started local process is active, no active process is remote, and every active process’s effective arguments contain the exact --enable-prefix-caching flag without --no-enable-prefix-caching. If every active process explicitly disables APC, the status is unsupported; remote, mixed or ambiguous evidence is metadata_only; no active process is unavailable. None of these values turns APC, KV offload, LMCache or expert residency into a named, persistable or Werk-controlled state operation.

When werk serve --persistence supplies the local-vLLM APC default, Werk adds --enable-prefix-caching only if WERK_VLLM_ARGS contains neither the enable nor disable form. --persistence-reuse disabled instead supplies --no-enable-prefix-caching. Werk checks the installed server’s help for the generated flag and fails before model-server spawn if that exact runtime does not advertise it. User-supplied enable/disable arguments remain authoritative.

The Transformers and ONNX GenAI cache sizes control process-local model residency only. Their generators, prompts and KV state remain request-local; restarting Werk or a worker makes the next request cold. With a usable runtime, a positive capacity permits runtime.model_residency to report supported; capacity 0 is reported as unsupported, and a missing interpreter/runtime is unavailable. The two variables do not affect the separate generic-media or managed-Qwen caches.

No cache-size environment variable turns a one-shot execution path into a resident one. The configured MLX/MLX-VLM commands and opaque external ONNX runners remain per-request processes. Remote vLLM owns its own model lifetime and receives neither these settings nor Werk’s generated local APC argument.

Installer and uninstaller

Variable Meaning
WERK_REPO GitHub owner/repository used by the release installer. Default: philipbodenbach/werk1112.
WERK_VERSION Release version (latest, vX.Y.Z, or X.Y.Z). Default: latest.
WERK_INSTALL_DIR Binary install directory. Defaults to $HOME/.local/bin on POSIX and %LOCALAPPDATA%\Programs\Werk1112\bin on Windows. The uninstall scripts use the same override.
WERK_ADD_TO_PATH Windows installer only: 1 permits adding the install directory to the user PATH.

The uninstall scripts also use WERK_HOME and WERK_API_KEYS to locate optional data. They prompt separately before deleting the model store or key file.

ComfyUI integration

These variables are read by the Python custom node, not by the Werk server:

Variable Default Meaning
WERK_BASE_URL http://127.0.0.1:11434 Werk server URL.
WERK_API_KEY empty Default client bearer key.
WERK_MAX_IMAGE_PIXELS 67,108,864 Maximum decoded input image pixels.
WERK_MAX_VIDEO_BYTES 536,870,912 Maximum video bytes accepted by the node.
WERK_MAX_AUDIO_BYTES 268,435,456 Maximum returned/downloaded audio bytes.
WERK_MAX_AUDIO_INPUT_BYTES 67,108,864 Maximum input audio bytes before Base64 encoding.
WERK_MAX_VISION_INPUT_BYTES 67,108,864 Maximum aggregate PNG bytes embedded by the ComfyUI vision node before Base64 encoding.

ComfyUI labels such as WERK_CONNECTION, WERK_ROUTING_CONFIG, WERK_IMAGE_CONFIG, WERK_VISION_CONFIG, WERK_VIDEO_CONFIG, WERK_AUDIO_CONFIG, WERK_RUNTIME_INFO, WERK_PERSISTENCE_POLICY, and WERK_STATE_HANDOFF are socket type names, not environment variables.

Recognized host and toolchain variables

Werk also observes standard host/toolchain variables when locating runtimes or building managed backends:

CUDA_COMPUTE_CAP is also set by target release aliases where required; the DGX Spark alias forces 121. Custom source builds and the checked-in target-specific CC_*/CXX_* settings are documented in the build guide.

Source of truth

This reference covers user-configurable settings. Internal child-process handoff variables, temporary installer shell variables and test-only hooks are not configuration interfaces. For example, oMLX worker lifetime/persistence paths and byte budgets are derived by Werk from the public settings above.

Optional official providers and FLUX Action

Variable Meaning
MISTRAL_API_KEY Official Mistral API key for registered mistral-large-4.
BFL_API_KEY Official BFL key for FLUX 3 Image submission and regional polling; never sent to image storage.
ELEVENLABS_API_KEY Official ElevenLabs key for eleven_v4 dialogue and streaming audio.
WERK_FLUX_ACTION_PYTHON Python executable in the official flux-action environment; local DROID checkpoints require NVIDIA CUDA and matching dependencies.

Local-only use requires no hosted keys. Keys are not saved in manifests. Kolibri requires aleph-alpha-inference>=1 in the selected WERK_VLLM_PYTHON environment. See the model support guide for exact contracts, commands and the distinction between local warmup and non-billable hosted-client preload.