openclaw - 💡(How to fix) Fix [Bug] Slack contract-api.js TypeError: Cannot read properties of undefined (reading 't') [3 comments, 4 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#63114Fetched 2026-04-09 07:58:24
View on GitHub
Comments
3
Participants
4
Timeline
6
Reactions
2
Timeline (top)
commented ×3closed ×1mentioned ×1subscribed ×1

Error Message

TypeError: Cannot read properties of undefined (reading 't') at Object.get [as legacyConfigRules] (/home/hotplex/.npm-global/lib/node_modules/openclaw/dist/extensions/slack/contract-api.js:1:647) at resolvePluginDoctorContracts (file:///home/hotplex/.npm-global/lib/node_modules/openclaw/dist/config-DMMR1XE_.js:220:52) at listPluginDoctorLegacyConfigRules (file:///home/hotplex/.npm-global/lib/node_modules/openclaw/dist/config-DMMR1XE_.js:233:9) at resolveLegacyConfigForRead (file:///home/hotplex/.npm-global/lib/node_modules/openclaw/dist/config-DMMR1XE_.js:19138:82)

Code Example

TypeError: Cannot read properties of undefined (reading 't')
    at Object.get [as legacyConfigRules] (/home/hotplex/.npm-global/lib/node_modules/openclaw/dist/extensions/slack/contract-api.js:1:647)
    at resolvePluginDoctorContracts (file:///home/hotplex/.npm-global/lib/node_modules/openclaw/dist/config-DMMR1XE_.js:220:52)
    at listPluginDoctorLegacyConfigRules (file:///home/hotplex/.npm-global/lib/node_modules/openclaw/dist/config-DMMR1XE_.js:233:9)
    at resolveLegacyConfigForRead (file:///home/hotplex/.npm-global/lib/node_modules/openclaw/dist/config-DMMR1XE_.js:19138:82)

---

import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "../../doctor-contract-Byp5_Sbd.js";
RAW_BUFFERClick to expand / collapse

Bug Description

openclaw tui fails with TypeError when loading Slack plugin contract:

TypeError: Cannot read properties of undefined (reading 't')
    at Object.get [as legacyConfigRules] (/home/hotplex/.npm-global/lib/node_modules/openclaw/dist/extensions/slack/contract-api.js:1:647)
    at resolvePluginDoctorContracts (file:///home/hotplex/.npm-global/lib/node_modules/openclaw/dist/config-DMMR1XE_.js:220:52)
    at listPluginDoctorLegacyConfigRules (file:///home/hotplex/.npm-global/lib/node_modules/openclaw/dist/config-DMMR1XE_.js:233:9)
    at resolveLegacyConfigForRead (file:///home/hotplex/.npm-global/lib/node_modules/openclaw/dist/config-DMMR1XE_.js:19138:82)

Environment

  • OpenClaw: 2026.4.8 (9ece252)
  • Node.js: 24.14.1
  • Platform: linux 5.15.0-117-generic
  • Config: /home/hotplex/.openclaw/openclaw.json

Steps to Reproduce

  1. Run openclaw tui

Expected Behavior

TUI should launch without errors (or at least not throw TypeError)

Actual Behavior

Error is thrown but TUI still connects and appears to function. Error is non-fatal but appears on every startup.

Additional Context

The error originates from contract-api.js which imports legacyConfigRules from doctor-contract-Byp5_Sbd.js:

import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "../../doctor-contract-Byp5_Sbd.js";

When config-DMMR1XE_.js line 220 accesses mod.default?.legacyConfigRules ?? mod.legacyConfigRules, something in the getter chain tries to access .t on undefined.

extent analysis

TL;DR

The issue can be resolved by ensuring that the legacyConfigRules import is correctly handled in the contract-api.js file.

Guidance

  • Verify that the doctor-contract-Byp5_Sbd.js file exports the legacyConfigRules property correctly.
  • Check the contract-api.js file to ensure that the legacyConfigRules import is properly handled, considering the possibility of a default export or a named export.
  • Investigate the config-DMMR1XE_.js file to understand why mod.default?.legacyConfigRules or mod.legacyConfigRules is undefined, causing the error when trying to access the t property.
  • Consider adding a null check or a default value for legacyConfigRules to prevent the TypeError.

Example

// In contract-api.js, add a null check for legacyConfigRules
import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "../../doctor-contract-Byp5_Sbd.js";

// ...

if (legacyConfigRules) {
  // Use legacyConfigRules
} else {
  // Handle the case where legacyConfigRules is undefined
}

Notes

The issue seems to be related to the way the legacyConfigRules import is handled in the contract-api.js file. Without more information about the doctor-contract-Byp5_Sbd.js file and its exports, it's difficult to provide a more specific solution.

Recommendation

Apply a workaround by adding null checks or default values for legacyConfigRules to prevent the TypeError, as the root cause of the issue is not entirely clear from the provided information.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING