This page documents the current V1 configuration model.Legacy
config.toml / “runtime” configuration docs have been moved
to the Web (V0) tab.Where configuration lives in V1
Most user-facing configuration is done via the Settings UI in the Web app (LLM provider/model, integrations, MCP, secrets, etc.). For self-hosted deployments and advanced workflows, OpenHands also supports environment-variable configuration.Common V1 environment variables
These are some commonly used variables in V1 deployments:-
LLM credentials
-
LLM_API_KEY -
LLM_MODEL
-
-
Persistence
OH_PERSISTENCE_DIR: where OpenHands stores local state (defaults to~/.openhands).
-
Public URL (optional)
OH_WEB_URL: the externally reachable URL of your OpenHands instance (used for callbacks in some deployments).
-
Sandbox workspace mounting
SANDBOX_VOLUMES: mount host directories into the sandbox (see Docker Sandbox).
-
Sandbox image selection
-
AGENT_SERVER_IMAGE_REPOSITORY -
AGENT_SERVER_IMAGE_TAG
-
Sandbox provider selection
Some deployments still use the legacyRUNTIME environment variable to
choose which sandbox provider to use:
RUNTIME=docker(default)RUNTIME=process(aka legacyRUNTIME=local)-
RUNTIME=remote
Need legacy options?
If you are looking for the oldconfig.toml reference or V0 “runtime”
providers, see:
- Web (V0) → V0 Configuration Options
- Web (V0) → V0 Runtime Configuration

