Skip to content

Slack channel never starts despite config enabled: true, env vars present, and plugin installed #4189

@albertogg99

Description

@albertogg99

Description

What happened

After onboarding with slack as a messaging channel, the Slack channel never starts inside the sandbox. The gateway logs show "starting channels and sidecars..." but the Slack channel is silently skipped — no errors, no startup messages, no connection attempts to wss-primary.slack.com.

openclaw channels list --all reports:

Slack: installed, not configured, disabled

Despite all of the following being correct:

  • @openclaw/slack v2026.5.22 is installed in $OPENCLAW_HOME/.openclaw/npm/
  • openclaw.json has channels.slack.enabled: true with accounts, tokens (xoxb-OPENSHELL-RESOLVE-ENV-SLACK_BOT_TOKEN / xapp-OPENSHELL-RESOLVE-ENV-SLACK_APP_TOKEN), and allowFrom
  • The gateway process (/proc/<PID>/environ) contains SLACK_BOT_TOKEN=openshell:resolve:env:v<VERSION>_SLACK_BOT_TOKEN and SLACK_APP_TOKEN=openshell:resolve:env:v<VERSION>_SLACK_APP_TOKEN
  • Network policy includes the slack preset (slack.com, api.slack.com, wss-primary.slack.com, etc.)
  • OpenShell providers for SLACK_BOT_TOKEN and SLACK_APP_TOKEN are registered and nemoclaw sentinel exec -- env shows them

What I expected

The gateway should start the Slack channel in Socket Mode, connecting to wss-primary.slack.com via the OpenShell proxy (which rewrites openshell:resolve:env:* credentials at the egress boundary).

Additional context

Gateway startup log sequence (no Slack-related entries after auto-enable):
[gateway] "Slack configured, enabled automatically." ← only appears on restarts, NOT on fresh start
[gateway] "starting HTTP server..."
[gateway] "http server listening (7 plugins: browser, canvas, device-pair, file-transfer, memory-core, phone-control, talk-voice; 6.8s)"
[gateway] "starting channels and sidecars..."
[browser/server] "Browser control listening on [http://127.0.0.1:18791/]"
[gateway] "gateway ready"

Reproduction Steps

  1. Run nemoclaw onboard
  2. Select "Other OpenAI-compatible endpoint" for inference (any local endpoint works)
  3. When prompted for messaging channels, select slack
  4. Provide Slack bot token, app token, and allowed user ID
  5. Wait for onboarding to complete
  6. Run nemoclaw sentinel exec -- openclaw channels list --all
  7. Observe: Slack: installed, not configured, disabled
  8. Run nemoclaw sentinel exec -- openclaw channels status --probe
  9. Observe: Slack channel is not running, no accounts listed
  10. Check gateway log: grep -i slack /tmp/openclaw-*/openclaw-*.log — no Slack startup entries

Expected at step 7: Slack: installed, configured, running

Environment

  • OS: Rocky Linux 9.7 (Blue Onyx) — kernel 5.14.0-611.30.1.el9_7.x86_64
  • Node.js: v22.22.3
  • Docker: Docker Engine 29.2.1
  • NemoClaw: v0.0.50
  • OpenClaw: v2026.5.18
  • OpenShell: v0.0.44

Debug Output

[debug] Collecting diagnostics for sandbox 'sentinel'...
[debug] Quick mode: true

═══ System ═══
Linux cyberrag 5.14.0-611.30.1.el9_7.x86_64
Mem: 31835 total, 7544 used, 1547 free

═══ Docker ═══
CONTAINER ID   IMAGE                               STATUS
d8fdfbe5fe53   openshell/sandbox-from:1779726780   Up 5 minutes (unhealthy)
3ae2817ba799   ubuntu:24.04                        Up 7 minutes

═══ OpenShell ═══
Gateway: nemoclaw | Status: Connected | Version: 0.0.44
Sandbox: sentinel | Phase: Ready

Policy includes slack preset:
  - slack.com:443 (rest, request_body_credential_rewrite: true)
  - api.slack.com:443 (rest, request_body_credential_rewrite: true)
  - wss-primary.slack.com:443 (websocket, websocket_credential_rewrite: true)
  - wss-backup.slack.com:443 (websocket, websocket_credential_rewrite: true)

═══ Onboard Session ═══
status: complete
provider: compatible-endpoint
model: Qwen/Qwen3.6-35B-A3B-FP8
policyPresets: ["slack"]

═══ Sandbox Internals ═══
PID 350: openclaw (gateway process)
  - Has SLACK_BOT_TOKEN=openshell:resolve:env:v1635414803031354650_SLACK_BOT_TOKEN
  - Has SLACK_APP_TOKEN=openshell:resolve:env:v1635414803031354650_SLACK_APP_TOKEN

openclaw.json channels config:
{
  "slack": {
    "enabled": true,
    "accounts": {
      "default": {
        "botToken": "xoxb-OPENSHELL-RESOLVE-ENV-SLACK_BOT_TOKEN",
        "appToken": "xapp-OPENSHELL-RESOLVE-ENV-SLACK_APP_TOKEN",
        "enabled": true,
        "dmPolicy": "allowlist",
        "allowFrom": ["U0B6TRJPAL8"]
      }
    }
  }
}

Gateway log shows NO slack channel startup — only "7 plugins: browser, canvas, 
device-pair, file-transfer, memory-core, phone-control, talk-voice" then 
"gateway ready". Slack is silently absent from startChannels() iteration.

Logs

Checklist

  • I confirmed this bug is reproducible
  • I searched existing issues and this is not a duplicate

Metadata

Metadata

Assignees

Labels

integration: slackSlack integration or channel behavior

Type

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions