Skip to content

OpenClaw Detailed Configuration Guide

This page focuses on field-level configuration for ~/.openclaw/openclaw.json. If you have not finished baseline setup yet, read OpenClaw Installation and Configuration first.

1. openclaw.json Top-Level Field Table (Complete)

The table below covers the complete top-level fields from the official schema. If you only need quick startup troubleshooting, prioritize gateway, agents, models, channels, and tools.

Top-level fieldWhat it controlsTypical use
$schemaSchema identity for configEditor hints/autocomplete
metaAuto-written metadataUsually not edited manually
envEnv import/overrideCentralized secret/variable management
wizardWizard run stateOnboarding troubleshooting
diagnosticsDiagnostics/tracingDeeper troubleshooting
loggingLog level and log outputDebugging and incident checks
updateUpdate channel/startup checksstable / beta / dev
browserBrowser tool capabilityWeb automation settings
uiControl UI behavior/displayMinor UI adjustments
authAuth profiles and fallback behaviorMulti-provider auth management
modelsModel providers/catalogModel/provider setup
nodeHostNode proxy capabilityBrowser node forwarding
agentsAgent defaults and agent listMost frequently edited
toolsTool toggles/allow/denySecurity boundaries
bindingsSession binding routesMulti-agent routing
broadcastBroadcast routing strategyFan-out/distribution behavior
audioAudio settingsVoice features
mediaMedia handlingUpload naming and related rules
messagesMessage-layer behaviorPrefixes, queueing, TTS
commandsSlash command behavior/config, /restart, etc.
approvalsApproval policyHigh-risk action approvals
sessionSession scope/reset behaviorIsolation and lifecycle
cronScheduled task systemAutomation
hooksWebhook inbound settingsExternal system push
webWeb channel heartbeat/reconnectControl UI connection stability
channelsChat channel configsTelegram/Discord/etc.
discoveryGateway discovery (mDNS/DNS-SD)LAN discovery
canvasHostCanvas service settingsVisual canvas capability
talkSpeech synthesis settingsTalk mode
gatewayGateway port/bind/auth/remoteMost critical
memoryMemory backend/retrievalLong-term memory behavior
skillsSkills loading/installExtend abilities
pluginsPlugin system and install statePlugin-based extension

2. gateway Field Dictionary (Complete)

gateway is the module most likely to break startup when misconfigured. Read this first.

Field pathDescriptionCommon values
gateway.portGateway listening port18789
gateway.modeLocal or remote gateway modelocal / remote
gateway.bindListen address scopeloopback / lan / tailnet / custom
gateway.customBindHostCustom listen host192.168.1.10
gateway.controlUi.enabledControl UI toggletrue
gateway.controlUi.basePathControl UI base path/openclaw
gateway.controlUi.rootControl UI static rootdist/control-ui
gateway.controlUi.allowedOriginsAllowed frontend origins["https://xxx.com"]
gateway.controlUi.allowInsecureAuthInsecure-auth warning behaviorfalse (recommended)
gateway.controlUi.dangerouslyDisableDeviceAuthDisable device auth validation (dangerous)false (strongly recommended)
gateway.auth.modeGateway auth modetoken / password / trusted-proxy / none
gateway.auth.tokenToken auth secretLong custom string
gateway.auth.passwordPassword auth secretLong custom string
gateway.auth.allowTailscaleAllow Tailscale-related auth pathstrue / false
gateway.auth.rateLimit.maxAttemptsMax failed attemptsNumber
gateway.auth.rateLimit.windowMsRate-limit window (ms)Number
gateway.auth.rateLimit.lockoutMsLockout duration (ms)Number
gateway.auth.rateLimit.exemptLoopbackExempt loopback from rate-limittrue / false
gateway.auth.trustedProxy.userHeaderTrusted-proxy user headere.g. x-auth-user
gateway.auth.trustedProxy.requiredHeadersRequired trusted-proxy headersString array
gateway.auth.trustedProxy.allowUsersAllowed users via trusted proxyString array
gateway.trustedProxiesTrusted proxy IP list["127.0.0.1"]
gateway.allowRealIpFallbackFallback to X-Real-IP if no X-Forwarded-Forfalse (safer default)
gateway.tools.denyExtra denied tools over HTTPTool name array
gateway.tools.allowRe-allow tools from default deny setTool name array
gateway.channelHealthCheckMinutesChannel health check intervalNumber
gateway.tailscale.modeTailscale modeoff / serve / funnel
gateway.tailscale.resetOnExitReset Tailscale state on exittrue / false
gateway.remote.urlRemote gateway URLws:// or wss://
gateway.remote.transportRemote transportssh / direct
gateway.remote.tokenRemote mode tokenString
gateway.remote.passwordRemote mode passwordString
gateway.remote.tlsFingerprintTLS pinning fingerprintsha256:...
gateway.remote.sshTargetSSH targetuser@host
gateway.remote.sshIdentitySSH private key pathFile path
gateway.reload.modeHot-reload strategyoff / restart / hot / hybrid
gateway.reload.debounceMsReload debounce timeNumber
gateway.tls.enabledTLS enabledtrue / false
gateway.tls.autoGenerateAuto-generate certificatestrue / false
gateway.tls.certPathCertificate pathFile path
gateway.tls.keyPathPrivate key pathFile path
gateway.tls.caPathCA pathFile path
gateway.http.endpoints.chatCompletions.enabledOpenAI-compatible Chat Completions endpointtrue / false
gateway.http.endpoints.responses.enabledOpenAI-compatible Responses endpointtrue / false
gateway.http.endpoints.responses.maxBodyBytesResponses request-body size limitNumber
gateway.http.endpoints.responses.maxUrlPartsURL parts limitNumber
gateway.http.endpoints.responses.files.allowUrlAllow file URL inputtrue / false
gateway.http.endpoints.responses.files.urlAllowlistFile URL allowlistString array
gateway.http.endpoints.responses.files.allowedMimesFile MIME allowlistString array
gateway.http.endpoints.responses.files.maxBytesPer-file byte limitNumber
gateway.http.endpoints.responses.files.maxCharsText extraction char limitNumber
gateway.http.endpoints.responses.files.maxRedirectsMax redirects for file URLNumber
gateway.http.endpoints.responses.files.timeoutMsFile fetch timeoutNumber
gateway.http.endpoints.responses.files.pdf.maxPagesPDF page limitNumber
gateway.http.endpoints.responses.files.pdf.maxPixelsPDF render pixel capNumber
gateway.http.endpoints.responses.files.pdf.minTextCharsMinimum extracted text chars in PDFNumber
gateway.http.endpoints.responses.images.allowUrlAllow image URL inputtrue / false
gateway.http.endpoints.responses.images.urlAllowlistImage URL allowlistString array
gateway.http.endpoints.responses.images.allowedMimesImage MIME allowlistString array
gateway.http.endpoints.responses.images.maxBytesPer-image size limitNumber
gateway.http.endpoints.responses.images.maxRedirectsMax redirects for image URLNumber
gateway.http.endpoints.responses.images.timeoutMsImage fetch timeoutNumber
gateway.nodes.browser.modeBrowser node routing modeauto / manual / off
gateway.nodes.browser.nodeFixed browser node IDNode ID
gateway.nodes.allowCommandsExtra allowed node commandsCommand array
gateway.nodes.denyCommandsExplicitly denied node commandsCommand array

3. Six High-Frequency Field Groups for Beginners

ModuleFrequently edited fieldsWhat this affects
agents.defaultsmodel.primary, workspace, heartbeat, sandboxDefault model, workspace, heartbeat, isolation policy
channelschannels.<channel>.enabled, dmPolicy, allowFrom, groupPolicyWho can message your agent and which groups trigger it
toolstools.allow, tools.deny, tools.web.*Tool safety boundary and scope
sessionscope, dmScope, reset.*Session isolation and auto-reset behavior
skillsskills.load.extraDirs, skills.entries.*Additional skills directories and per-skill keys
logginglevel, file, consoleLevelDay-to-day troubleshooting visibility

References (Official Sources)

Checked on: 2026-02-23

Last updated:

ClawPilot