Skip to content

[all platform]Discord channel repeatedly fails to reach READY (WebSocket 1006 + AggregateError) even when REST/auth succeeds #1738

@zNeill

Description

@zNeill

Description

Environment

  • NemoClaw: v0.0.11 (tested with OpenClaw 2026.4.2)
  • OpenShell: 0.0.26
  • Host: Brev Ubuntu instance
  • Runtime: Docker
  • Sandbox: test5
  • Discord channel enabled via nemoclaw onboard

Summary

Discord integration never becomes healthy.
The bot can authenticate against Discord REST endpoints, but Discord gateway session repeatedly fails before READY, causing continuous auto-restarts and no message responses in server channels.

Reproduction Steps

  1. Run nemoclaw onboard and enable Discord channel.
  2. Configure Discord guild (allowlist) and mention behavior.
  3. Create/recreate sandbox and start normally.
  4. Send mention in Discord server channel (e.g. @bot hello).
  5. Monitor sandbox logs:
    • nemoclaw test5 logs --follow
    • tail -f /tmp/gateway.log inside sandbox

Expected Behavior

  • Discord gateway reaches READY.
  • Bot receives message events and responds in channel.

Actual Behavior

  • Repeated gateway reconnect loop.
  • No bot response in Discord channel.
  • /tmp/gateway.log shows repeated errors:
    • gateway error: AggregateError
    • Gateway websocket closed: 1006
    • discord gateway did not reach READY within 15000ms after restart
    • auto-restart attempt X/10

Evidence That Configuration Is Correct

  • Discord policy preset is enabled (nemoclaw test5 policy-list shows discord applied).
  • Guild allowlist matches actual guild:
    • openclaw.json has groupPolicy: allowlist with guild ID 1490999514902036564
    • Bot guild listing includes the same guild.
  • Token/provider path appears functional:
    • Inside sandbox, DISCORD_BOT_TOKEN is provider placeholder (openshell:resolve:env:...) as expected.
    • Discord REST call resolves successfully (GET /users/@me returns 200 in test script).
  • Gateway endpoint reachability basic probe:
    • direct WS hello probe can open and receive op:10 hello, but production channel still fails to reach READY.

Relevant Log Snippets

[discord] gateway error: AggregateError [discord] gateway: Gateway websocket closed: 1006 [discord] [default] channel exited: discord gateway did not reach READY within 15000ms after restart [discord] [default] auto-restart attempt 8/10 in 300s L7_REQUEST ... dst_host=discord.com ... /api/v10/users/@me ... l7_decision=allow L7_REQUEST ... dst_host=discord.com ... /api/v10/oauth2/applications/@me ... l7_decision=allow L7_REQUEST ... dst_host=discord.com ... /api/v10/gateway/bot ... l7_decision=allow

可以,我给你一个“更详细日志版”的 Issue 内容,你直接替换原来的 Relevant Log Snippets 部分即可。


Detailed Logs

1) Discord gateway restart loop from /tmp/gateway.log

2026-04-10T10:41:39.099+00:00 [discord] [default] starting provider (@testnemoclaw) 2026-04-10T10:41:39.302+00:00 [discord] channels resolved: guild:1490999514902036564→1490999514902036564 (guild:mercl's server) 2026-04-10T10:41:40.228+00:00 [discord] client initialized as 1490999921338482708 (testnemoclaw); awaiting gateway readiness 2026-04-10T10:41:40.230+00:00 [discord] gateway error: AggregateError 2026-04-10T10:41:40.898+00:00 [discord] gateway: Gateway websocket closed: 1006 2026-04-10T10:41:40.899+00:00 [discord] gateway: Gateway reconnect scheduled in 2055ms (close, resume=false) 2026-04-10T10:41:42.961+00:00 [discord] gateway: Gateway websocket closed: 1006 2026-04-10T10:41:42.963+00:00 [discord] gateway: Gateway reconnect scheduled in 3604ms (close, resume=false) 2026-04-10T10:41:46.585+00:00 [discord] gateway: Gateway websocket closed: 1006 2026-04-10T10:41:46.586+00:00 [discord] gateway: Gateway reconnect scheduled in 9160ms (close, resume=false) 2026-04-10T10:41:55.262+00:00 [discord] gateway was not ready after 15000ms; restarting gateway 2026-04-10T10:42:00.266+00:00 [discord] startup restart waiting on a stale gateway socket for 5000ms; forcing terminate before reconnect 2026-04-10T10:42:01.269+00:00 [discord] [default] channel exited: discord gateway socket did not close within 5000ms before restart 2026-04-10T10:42:01.270+00:00 [discord] [default] auto-restart attempt 1/10 in 5s

2) L7 logs show Discord REST is allowed

L7_REQUEST ... dst_host=discord.com ... l7_action=GET ... l7_target=/api/v10/users/@me ... l7_decision=allow L7_REQUEST ... dst_host=discord.com ... l7_action=GET ... l7_target=/api/v10/oauth2/applications/@me ... l7_decision=allow L7_REQUEST ... dst_host=discord.com ... l7_action=GET ... l7_target=/api/v10/users/@me/guilds ... l7_decision=allow L7_REQUEST ... dst_host=discord.com ... l7_action=GET ... l7_target=/api/v10/gateway/bot ... l7_decision=allow L7_REQUEST ... dst_host=discord.com ... l7_action=PUT ... l7_target=/api/applications/1490999921338482708/commands ... l7_decision=allow

3) Proxy behavior inside sandbox (for gateway endpoint)

$ curl -sv https://gateway.discord.gg/ ... < HTTP/1.1 403 Forbidden curl: (56) CONNECT tunnel failed, response 403

4) WS probe behavior inside sandbox

Handshake/hello succeeds repeatedly:open
msg {"t":null,"s":null,"op":10,"d":{"heartbeat_interval":...}}
close 1005

But production Discord channel process still fails to reach READY and loops with 1006 + AggregateError.

5) Config evidence (openclaw.json)

{ "accounts": { "default": { "token": "openshell:resolve:env:DISCORD_BOT_TOKEN", "enabled": true } }, "groupPolicy": "allowlist", "guilds": { "1490999514902036564": { "requireMention": true } }, "enabled": true }

6) Guild allowlist match check

  • Allowed guild in config: 1490999514902036564
  • Bot joined guild list includes: 1490999514902036564 (mercl's server)
L7_REQUEST ... dst_host=discord.com ... PUT /api/applications/.../commands ... l7_decision=allow

Notes

  • This appears to be a Discord gateway session stability issue rather than a user configuration/permission issue.
  • Please advise if additional debug logs should be captured from gateway internals.

Bug Details

Field Value
Priority Unprioritized
Action Dev - Open - To fix
Disposition Open issue
Module Machine Learning - NemoClaw
Keyword NemoClaw, NEMOCLAW_GH_SYNC_APPROVAL

[NVB# 6066621]

[NVB#6066621]

Metadata

Metadata

Assignees

Labels

E2EEnd-to-end testing — Brev infrastructure, test cases, nightly failures, and coverage gapsIntegration: DiscordUse this label to identify Discord bot integration issues with NemoClaw.NV QABugs found by the NVIDIA QA TeamPlatform: BrevSupport for Brev deploymentUATIssues flagged for User Acceptance Testing.bugSomething isn't workingenhancement: integrationPRs or issues proposing integration of a third-party product or service into NemoClaw.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions