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