openclaw - 💡(How to fix) Fix [Bug]: Slack message-send action drops resolved config, causing SecretRef-backed botToken to appear missing [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

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#73966Fetched 2026-04-30 06:30:14
View on GitHub
Comments
1
Participants
2
Timeline
4
Reactions
0
Author
Participants
Timeline (top)
commented ×1cross-referenced ×1mentioned ×1subscribed ×1

openclaw message send --channel slack ... fails with:

Error: Slack bot token missing for account "default" (set channels.slack.accounts.default.botToken or SLACK_BOT_TOKEN for default).

This happens even when Slack is otherwise configured correctly and openclaw status reports tokens OK.

The failure appears specific to the Slack action-runtime path used by openclaw message send. In that path, resolved config is not forwarded into Slack send, so SecretRef-backed Slack tokens fall back to a fresh raw loadConfig() read and appear missing/unresolved.

Error Message

Error: Slack bot token missing for account "default" (set channels.slack.accounts.default.botToken or SLACK_BOT_TOKEN for default).

  • Error: Slack bot token missing for account "default" ...
  • user gets a misleading Slack bot token missing for account "default" error

Root Cause

Suspected Root Cause

Fix Action

Fix / Workaround

Local Workaround

A local patch that passes resolved cfg through the Slack action runtime fixed the bug and allowed the exact failing openclaw message send --channel slack ... command to succeed.

RAW_BUFFERClick to expand / collapse

Bug type

Regression / behavior bug

Summary

openclaw message send --channel slack ... fails with:

Error: Slack bot token missing for account "default" (set channels.slack.accounts.default.botToken or SLACK_BOT_TOKEN for default).

This happens even when Slack is otherwise configured correctly and openclaw status reports tokens OK.

The failure appears specific to the Slack action-runtime path used by openclaw message send. In that path, resolved config is not forwarded into Slack send, so SecretRef-backed Slack tokens fall back to a fresh raw loadConfig() read and appear missing/unresolved.

Environment

  • OpenClaw: 2026.4.21
  • Platform: macOS
  • Install method: global npm install
  • Slack config: default account with SecretRef-backed botToken, appToken, and userToken

Reproduction Steps

  1. Configure Slack under channels.slack.accounts.default using SecretRef-backed tokens instead of plaintext values.
  2. Verify runtime health:
    • openclaw status
    • Status reports Slack tokens OK.
  3. Run:
    • openclaw message send --channel slack --target <channelId> --message "test"
  4. Observe failure:
    • Error: Slack bot token missing for account "default" ...

Expected Behavior

openclaw message send --channel slack ... should use the already-resolved runtime config and send successfully when openclaw status shows valid Slack tokens.

Actual Behavior

The Slack message-send path behaves as if channels.slack.accounts.default.botToken is absent, even though the resolved runtime config contains valid tokens.

What I verified

  • openclaw status reported Slack tokens ok (bot config, app config).
  • Host-side dry-run and direct send worked when the resolved config object was preserved.
  • The failure reproduced specifically through the Slack plugin action path used by openclaw message send.

Suspected Root Cause

The Slack action runtime calls into Slack send without forwarding the resolved cfg.

Observed behavior was consistent with:

  • action runtime invokes Slack send without cfg
  • Slack send then does opts.cfg ?? loadConfig()
  • that path reloads raw config instead of using the already-resolved runtime snapshot
  • SecretRef-backed Slack tokens therefore appear missing/unresolved
  • user gets a misleading Slack bot token missing for account "default" error

In my local install, forwarding the resolved config through the action-runtime path fixed the issue immediately.

Local Workaround

A local patch that passes resolved cfg through the Slack action runtime fixed the bug and allowed the exact failing openclaw message send --channel slack ... command to succeed.

Notes

This does not appear to be a simple keychain denial problem. The same environment had valid Slack credentials, and the failure was path-specific to the Slack action runtime used by the CLI send command.

extent analysis

TL;DR

Passing the resolved configuration through the Slack action runtime should fix the issue with openclaw message send --channel slack failing due to a missing Slack bot token.

Guidance

  • Verify that the channels.slack.accounts.default.botToken is correctly set and resolved in the runtime configuration.
  • Check if the issue is specific to the Slack action runtime path used by openclaw message send by comparing its behavior with other Slack-related commands.
  • Consider applying a local patch to forward the resolved configuration through the Slack action runtime, as described in the local workaround.
  • Test the fix by running openclaw message send --channel slack after applying the patch and verify that the message is sent successfully.

Example

No code snippet is provided as the issue does not require a specific code change, but rather a configuration or patch fix.

Notes

The issue appears to be specific to the Slack action runtime path and does not seem to be related to a simple keychain denial problem. The fix should be applied carefully to avoid introducing other issues.

Recommendation

Apply the local workaround by passing the resolved configuration through the Slack action runtime, as it has been reported to fix the issue immediately. This approach allows the openclaw message send --channel slack command to succeed without requiring further changes.

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