openclaw - 💡(How to fix) Fix [Bug]: channels.discord.commands.native=false still fetches slash commands on startup (GET /applications/.../commands times out) [1 comments, 2 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#76202Fetched 2026-05-03 04:40:53
View on GitHub
Comments
1
Participants
2
Timeline
6
Reactions
2
Author
Timeline (top)
mentioned ×2subscribed ×2commented ×1cross-referenced ×1

Setting channels.discord.commands.native: false is supposed to disable native slash command deployment, but on startup the gateway still issues a GET /applications/{appId}/commands request. On a slow or congested network this request takes 30–40 seconds and blocks the Node.js event loop before it finally aborts with a fetch-timeout.

Root Cause

Setting channels.discord.commands.native: false is supposed to disable native slash command deployment, but on startup the gateway still issues a GET /applications/{appId}/commands request. On a slow or congested network this request takes 30–40 seconds and blocks the Node.js event loop before it finally aborts with a fetch-timeout.

Fix Action

Fix / Workaround

Related to #76188 (chain of CPU saturation issues on low-power hosts). This GET-then-DELETE is one of the remaining startup-time event-loop blockers after the slash command PATCH rate-limit issue was addressed.

Code Example

[discord] [default] starting provider
[fetch-timeout] fetch timeout reached; aborting operation   ← ~38s later
[discord] channels resolved:[discord] cleared native commands (commands.native=false)
[discord] logged in to discord as  (Lobster)

---

eventLoopDelayMaxMs=25534.9 eventLoopUtilization=1 cpuCoreRatio=1.01
RAW_BUFFERClick to expand / collapse

Summary

Setting channels.discord.commands.native: false is supposed to disable native slash command deployment, but on startup the gateway still issues a GET /applications/{appId}/commands request. On a slow or congested network this request takes 30–40 seconds and blocks the Node.js event loop before it finally aborts with a fetch-timeout.

Observed behaviour

Gateway log on a clean startup with channels.discord.commands.native: false and channels.discord.applicationId pre-configured:

[discord] [default] starting provider
[fetch-timeout] fetch timeout reached; aborting operation   ← ~38s later
[discord] channels resolved: …
[discord] cleared native commands (commands.native=false)
[discord] logged in to discord as … (Lobster)

The [fetch-timeout] at startup is the GET /applications/{appId}/commands call. It blocks for ~38 seconds before being aborted, and then cleared native commands runs a DELETE call immediately after.

The liveness warning fired at startup shows:

eventLoopDelayMaxMs=25534.9 eventLoopUtilization=1 cpuCoreRatio=1.01

This 25-second delay is caused directly by the blocked GET call.

Expected behaviour

When commands.native: false is set, no Discord slash-command API calls should be made at all (neither GET /applications/.../commands nor DELETE). The gateway should skip the entire slash-command lifecycle and proceed to logged in immediately.

Steps to reproduce

  1. Set channels.discord.commands.native: false in openclaw config
  2. Set channels.discord.applicationId: "<your app id>" (to skip the startup REST lookup)
  3. Restart the gateway
  4. Observe [fetch-timeout] appearing ~38 seconds after [discord] starting provider, followed by cleared native commands

Environment

  • openclaw version: 2026.4.29
  • Host: Intel Celeron N4000, 2 cores, Ubuntu 24.04 (low-power embedded board)
  • Discord provider with a single guild

Related

Related to #76188 (chain of CPU saturation issues on low-power hosts). This GET-then-DELETE is one of the remaining startup-time event-loop blockers after the slash command PATCH rate-limit issue was addressed.

extent analysis

TL;DR

Setting channels.discord.commands.native: false does not prevent the Discord gateway from making a GET /applications/{appId}/commands request, causing a 30-40 second delay on startup.

Guidance

  • Verify that the channels.discord.commands.native configuration is being read correctly by checking the OpenClaw configuration file or logs.
  • Investigate the Discord provider code to determine why the GET /applications/{appId}/commands request is still being made despite commands.native: false being set.
  • Consider adding a temporary workaround to increase the fetch timeout or implement a retry mechanism to mitigate the delay.
  • Check the related issue #76188 for potential solutions or workarounds for CPU saturation issues on low-power hosts.

Example

No code snippet is provided as the issue is related to configuration and Discord API interactions.

Notes

The issue may be specific to the OpenClaw version (2026.4.29) or the low-power embedded board environment.

Recommendation

Apply a workaround, such as increasing the fetch timeout or implementing a retry mechanism, as the root cause of the issue is not immediately clear and may require further investigation.

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

openclaw - 💡(How to fix) Fix [Bug]: channels.discord.commands.native=false still fetches slash commands on startup (GET /applications/.../commands times out) [1 comments, 2 participants]