openclaw - 💡(How to fix) Fix Discord native slash commands can time out when duplicate accounts share a bot token and one has native commands disabled [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#78118Fetched 2026-05-06 06:16:47
View on GitHub
Comments
1
Participants
2
Timeline
2
Reactions
2
Timeline (top)
closed ×1commented ×1

In a live OpenClaw install, native Discord /side and /steer routed to the correct Jarvis application after command registry cleanup, but Discord showed The application did not respond for both commands.

This looked like a missing/deferred ACK problem at first, but local diagnosis found a duplicate-account runtime hazard:

  • channels.discord.accounts.main and channels.discord.accounts.default used the same Jarvis bot token / application id.
  • main had native commands enabled and owned /side + /steer.
  • default was also enabled, but had commands.native=false and commands.nativeSkills=false.
  • The Discord API registry was correct: Jarvis app had /side and /steer; specialist apps had 0 commands.
  • Yet native interactions timed out under Jarvis APP because the live gateway had a second runtime client for the same Jarvis app whose command table did not include the native commands.

Local mitigation was to disable the duplicate default Discord account and restart the gateway so only main runs the Jarvis bot token.

Error Message

OpenClaw should not allow a duplicate enabled Discord account with the same bot token/application id to create a second live client with a different native command table. At minimum it should warn loudly and avoid starting the duplicate runtime client. Native interactions should always ACK/defer or produce an explicit error. A no-op command miss in the runtime dispatcher should not leave Discord to render The application did not respond.

  • In the interaction dispatcher, if an application command is received but no runtime command handler is registered, log the command/app/account context and respond with a clear ephemeral error if possible.

Root Cause

  • channels.discord.accounts.main and channels.discord.accounts.default used the same Jarvis bot token / application id.
  • main had native commands enabled and owned /side + /steer.
  • default was also enabled, but had commands.native=false and commands.nativeSkills=false.
  • The Discord API registry was correct: Jarvis app had /side and /steer; specialist apps had 0 commands.
  • Yet native interactions timed out under Jarvis APP because the live gateway had a second runtime client for the same Jarvis app whose command table did not include the native commands.

Fix Action

Fix / Workaround

Local mitigation was to disable the duplicate default Discord account and restart the gateway so only main runs the Jarvis bot token.

Before mitigation:

After mitigation:

RAW_BUFFERClick to expand / collapse

Summary

In a live OpenClaw install, native Discord /side and /steer routed to the correct Jarvis application after command registry cleanup, but Discord showed The application did not respond for both commands.

This looked like a missing/deferred ACK problem at first, but local diagnosis found a duplicate-account runtime hazard:

  • channels.discord.accounts.main and channels.discord.accounts.default used the same Jarvis bot token / application id.
  • main had native commands enabled and owned /side + /steer.
  • default was also enabled, but had commands.native=false and commands.nativeSkills=false.
  • The Discord API registry was correct: Jarvis app had /side and /steer; specialist apps had 0 commands.
  • Yet native interactions timed out under Jarvis APP because the live gateway had a second runtime client for the same Jarvis app whose command table did not include the native commands.

Local mitigation was to disable the duplicate default Discord account and restart the gateway so only main runs the Jarvis bot token.

Evidence

Before mitigation:

  • Native /steer: Discord UI showed Ramit used /steer, response from Jarvis APP, then The application did not respond.
  • Native /side: Discord UI showed Ramit used /side, response from Jarvis APP, then The application did not respond.
  • main and default had the same application id (1497344959878139914) from /oauth2/applications/@me.
  • default was enabled while commands.native=false.

After mitigation:

  • Config change: channels.discord.accounts.default.enabled=false.
  • Gateway restarted.
  • openclaw channels status --deep --json reports:
    • main: enabled=true, running=true, connected=true, application id 1497344959878139914, bot Jarvis.
    • default: enabled=false, running=false, lastError=disabled.
    • specialist accounts remain enabled under separate app ids.
  • Discord registry check still shows specialists have globalCount=0, guildCount=0, no /side, no /steer; Jarvis/main has /side and /steer.

Expected Behavior

OpenClaw should not allow a duplicate enabled Discord account with the same bot token/application id to create a second live client with a different native command table. At minimum it should warn loudly and avoid starting the duplicate runtime client.

Native interactions should always ACK/defer or produce an explicit error. A no-op command miss in the runtime dispatcher should not leave Discord to render The application did not respond.

Suggested Fixes

  • Detect duplicate enabled Discord accounts that resolve to the same application id/token and fail configuration validation or doctor with an actionable warning.
  • During provider startup, skip duplicate live clients for the same Discord application id unless explicitly supported.
  • In the interaction dispatcher, if an application command is received but no runtime command handler is registered, log the command/app/account context and respond with a clear ephemeral error if possible.
  • Keep per-account native command disable support, but prevent it from producing an enabled duplicate client for an app that still has registered commands through another account.

extent analysis

TL;DR

Disable duplicate Discord accounts with the same bot token/application id to prevent runtime hazards and ensure proper command handling.

Guidance

  • Identify and disable any duplicate enabled Discord accounts that share the same application id/token to prevent conflicts.
  • Verify the Discord API registry to ensure the correct commands are registered for each application.
  • Check the OpenClaw configuration for any accounts with commands.native=false and consider removing or disabling them if they have duplicate application ids.
  • Monitor the interaction dispatcher for any commands without registered handlers and respond with a clear ephemeral error if possible.

Example

No code snippet is provided as the issue is related to configuration and account setup rather than code.

Notes

The suggested fixes imply that OpenClaw should be modified to detect and handle duplicate accounts, skip duplicate live clients, and respond with errors for unknown commands. However, the exact implementation details are not provided.

Recommendation

Apply the workaround by disabling duplicate Discord accounts and configuring OpenClaw to handle commands correctly, as this is a more immediate solution to the problem described.

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 Discord native slash commands can time out when duplicate accounts share a bot token and one has native commands disabled [1 comments, 2 participants]