Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
710fbeaaeThis file is pinned to the selected release. Download the original to open it in your design tool.
# Backend the CLI dials (`/api/adapter-ws`). Local dev: ws://localhost:8090
# BACKEND_WS_URL=wss://harness-api.autonomous.ai
# Web app base URL — used to print the agent's chat link on `adapter start`. Local: http://localhost:3000
# WEB_URL=https://harness.autonomous.ai
# Pair token (the agent apiKey). Usually passed as `adapter start <token>` and
# persisted to ${ADAPTER_DATA_DIR}/token; this env var overrides both.
# ADAPTER_TOKEN=
# Localhost port for the SessionStart/SessionEnd hook callbacks (hook/notify.mjs).
# Fixed — if it's already in use the adapter reports it (another adapter is likely running).
PORT=18473
# Directory Claude Code writes its per-session JSONL transcripts to.
# CLAUDE_PROJECTS_DIR=/Users/you/.claude/projects
# Where the process-agent registry + pair token are persisted.
# ADAPTER_DATA_DIR=~/.harness/cli/data
# Set to 'true' to skip auto-installing the claude hooks on startup.
# DISABLE_HOOK_INSTALL=false
# tmux is the only supported terminal backend. Unset means auto, which resolves to tmux alone.
# TERMINAL_BACKENDS=tmux # pin the set; `herdr` is retired and is dropped with a warning
# HERDR_SESSIONS / HERDR_BIN # retired with the Herdr backend: they still parse, select nothing
# TERMINAL_RECONCILE_INTERVAL_MS=5000 # minimum 5000; neutral replacement for the legacy name below
# One-release compatibility fallback when TERMINAL_RECONCILE_INTERVAL_MS is unset.
# TMUX_REAP_INTERVAL_MS=5000
# Device turn-recap (commander summary card). Only runs while a device is connected.
# CLAUDE_PATH=/usr/local/bin/claude # else resolved from PATH
# CURSOR_PATH=/usr/local/bin/agent # else resolved from PATH
# SUMMARY_MODEL=sonnet # Claude model for the recap one-shot
# CODEX_SUMMARY_MODEL=gpt-5.5 # Codex model for recap
# CURSOR_SUMMARY_MODEL=auto # Cursor model for recap
# SUMMARY_EFFORT=low # shared Claude/Codex recap effort; Cursor effort is in model id
# RECAP_FORCE=false # test: summarize even with no device connected
# Self-update: the daemon polls this GCS manifest and swaps its own bundle in place.
# ADAPTER_UPDATE_URL=https://storage.googleapis.com/s3-autonomous-upgrade-3/harness/cli/metadata.json
# ADAPTER_UPDATE_KEY=cli
# ADAPTER_UPDATE_CHECK_MS=60000 # poll interval (ms); a check also runs on start
# ADAPTER_UPDATE_DISABLE=false # set 'true' to turn self-update off
# ADAPTER_CLI_DIR=~/.harness/cli # install dir the updater swaps cli.js/notify.mjs in
# A custom installed bundle must use a fork-owned signed ADAPTER_UPDATE_URL or set
# ADAPTER_UPDATE_DISABLE=true, so upstream self-update cannot replace it with the stock build.