OpenClaw

OpenClaw "Config validation failed: channels.whatsapp: Unrecognized key: \"enabled\""

Last checked

The error

Invalid config at ~/.openclaw/openclaw.json:
- channels.whatsapp: Unrecognized key: "enabled"

Error: Config validation failed: channels.whatsapp: Unrecognized key: "enabled"

Printed by openclaw setup, openclaw configure, openclaw channels add, or any command that loads the config. The gateway variant reads "gateway: failed to persist plugin auto-enable changes: Config validation failed: ...".

Your OpenClaw build rejects a key that its own setup wrote. Around 2026.2.22, enabling WhatsApp wrote enabled: true into channels.whatsapp, but the strict WhatsApp schema had no enabled field, so every command that loaded the config failed. The 2026.2.23 changelog accepts the key, and current docs list channels.whatsapp.enabled as valid. Back up openclaw.json, update OpenClaw, then rerun openclaw config validate.

Why it happens

The WhatsApp config schema is strict, so any key it does not declare fails validation. Other channel schemas had a top-level enabled field. WhatsApp only had it per account, and the plugin auto-enable step wrote it at the top level anyway (issues #24263, #25037).

  1. You are on an affected early 2026 release. Reports started on 2026.2.22-2 on Windows, macOS and Linux (issues #24263, #25037, #24931).
  2. Auto-enable keeps rewriting the key. Removing the line by hand does not stick if the gateway writes it back on the next boot, which one user still reported on 2026.3.2 (issue #39445).
  3. A different WhatsApp key is unknown to your version. The same strict schema rejects keys from older docs, such as exposeErrorText (issue #74667). Read the key name in the error, not just the word unrecognized.

The fix

  1. 1 Back up your config first: cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak. On 2026.2.22-2, a failed openclaw plugins enable whatsapp could delete the config file (issue #25037).
  2. 2 Check your version: openclaw --version.
  3. 3 Update OpenClaw to a current release, then run openclaw config validate.
  4. 4 If a different key is named, remove it with openclaw config unset channels.whatsapp.<key> and check the WhatsApp docs for its replacement.
  5. 5 On current releases WhatsApp ships as a separate plugin. If it is missing, install it with openclaw plugins install @openclaw/whatsapp.
  6. 6 Link the account with openclaw channels login --channel whatsapp, then restart the gateway.
openclaw config validate

A WhatsApp block that validates on current OpenClaw

Current releases run WhatsApp through the @openclaw/whatsapp plugin over WhatsApp Web (Baileys), configured under channels.whatsapp. enabled is an accepted key again. A minimal block from the docs:

{
  channels: {
    whatsapp: {
      enabled: true,
      dmPolicy: "pairing",
      allowFrom: ["+15551234567"],
      groupPolicy: "allowlist",
      groupAllowFrom: ["+15551234567"],
    },
  },
}

allowFrom takes E.164 phone numbers. With dmPolicy pairing, new senders get a pairing code you approve with openclaw pairing approve whatsapp <code>. That is separate from the QR scan that links the account.

Still failing?

  • If the key comes back after you delete it, the auto-enable step on an old build is rewriting it, so update rather than keep editing.
  • If validation now fails on a different channels.whatsapp key, compare it with the WhatsApp config reference for your version, because the schema rejects anything it does not declare.
  • If validation passes but WhatsApp never connects, run openclaw channels status --probe and check whether the plugin is installed and the account is linked.

Related errors

Full guideHow to Connect OpenClaw to WhatsApp (Without the API Headache)

Hit a different error?

Paste any agent error and get the cause and fix in seconds.

Open the decoder

Frequently asked questions

Is enabled a valid key under channels.whatsapp?

Yes on current releases. The docs list channels.whatsapp.enabled under operations keys. It was only rejected by the schema in a short window of early 2026 builds.

Is WhatsApp still built into OpenClaw?

It is a separate plugin, @openclaw/whatsapp. openclaw onboard and openclaw channels add prompt to install it the first time you pick WhatsApp. The config still lives under channels.whatsapp.

Can I just delete the enabled line?

On an old build that may not stick, because auto-enable writes it back. Updating fixes the schema. Back up openclaw.json first.

Stop firefighting agent errors

Decoding errors one at a time is the manual version of what BetterClaw automates. Run your agents on a no-code AI agent platform with managed models, retries and config validation built in.

Free plan available · Pro $49/mo · BYOK · 7-day money-back guarantee