Bug: Slack Extension contract-api.js Regression Causes Config Load Failure
Steps to Reproduce
- Install OpenClaw
.4.8
- Configure Slack channel in
openclaw.json with standard socket mode config
- Run any CLI command that loads config (e.g.,
openclaw wiki init)
- Observe crash with TypeError
Error Stack Trace
Failed to read config at /home/clawdbot/.openclaw/openclaw.json TypeError: Cannot read properties of undefined (reading 't')
at Object.get [as legacyConfigRules] (/home/clawdbot/.npm-global/lib/node_modules/openclaw/dist/extensions/slack/contract-api.js:1:647)
at resolvePluginDoctorContracts (file:///home/clawdbot/.npm-global/lib/node_modules/openclaw/dist/config-DMMR1XE_.js:220:52)
at listPluginDoctorLegacyConfigRules (file:///home/clawdbot/.npm-global/lib/node_modules/openclaw/dist/config-DMMR1XE_.js:233:9)
at resolveLegacyConfigForRead (file:///home/clawdbot/.npm-global/lib/node_modules/openclaw/dist/config-DMMR1XE_.js:19138:82)
at Object.loadConfig (file:///home/clawdbot/.npm-global/lib/node_modules/openclaw/dist/config-DMMR1XE_.js:19203:29)
at file:///home/clawdbot/.npm-global/lib/node_modules/openclaw/dist/config-DMMR1XE_.js:19669:56
at loadPinnedRuntimeConfig (/home/clawdbot/.npm-global/lib/node_modules/openclaw/dist/runtime-snapshot-BVfF9E0s.js:42:17)
at loadConfig (file:///home/clawdbot/.npm-global/lib/node_modules/openclaw/dist/config-DMMR1XE_.js:19669:9)
at primeConfiguredContextWindows (/home/clawdbot/.npm-global/lib/node_modules/openclaw/dist/context-CIaFOK75.js:119:39)
at ensureContextWindowCacheLoaded (/home/clawdbot/.npm-global/lib/node_modules/openclaw/dist/context-CIaFOK75.js:137:15)
Environment
- OpenClaw version: 2026.4.8
- Node: v25.9.0
- OS: Linux 6.17.0-20-generic (x64)
Slack Config (openclaw.json)
"slack": {
"mode": "socket",
"signingSecret": "${SLACK_SIGNING_SECRET}",
"webhookPath": "/slack/events",
"enabled": true,
"botToken": "${SLACK_BOT_TOKEN}",
"appToken": "${SLACK_APP_TOKEN}",
"userTokenReadOnly": true,
"groupPolicy": "allowlist",
"streaming": {
"mode": "partial",
"block": { "enabled": false },
"nativeTransport": true
},
"dmPolicy": "pairing",
"allowFrom": ["U0AFE0K3X0B"]
}
Workaround Attempted
- Adding
"allow": true results in schema validation error: channels.slack: invalid config: must NOT have additional properties
Impact
- CLI commands that load config crash before executing
- Gateway runs fine (loaded config before this regression)
- Blocking use of new features like
openclaw wiki init
Expected Behavior
- Config should load without TypeError
- Slack extension should handle legacy config rules gracefully
Bug: Slack Extension
contract-api.jsRegression Causes Config Load FailureSteps to Reproduce
.4.8openclaw.jsonwith standard socket mode configopenclaw wiki init)Error Stack Trace
Environment
Slack Config (openclaw.json)
Workaround Attempted
"allow": trueresults in schema validation error:channels.slack: invalid config: must NOT have additional propertiesImpact
openclaw wiki initExpected Behavior