openclaw - 💡(How to fix) Fix [Bug]: Discord native /status reports discord/undefined and no activity for active channel session [1 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#62172Fetched 2026-04-08 03:08:06
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0

Root Cause

Impact and severity Affected: Discord guild-channel users using native /status Severity: Annoying to workflow-blocking for debugging, because native /status cannot be trusted in affected channels Frequency: Observed repeatedly in the same guild channel Consequence: Operators get incorrect status/debug information and must use a message-path workaround instead of the native command

Fix Action

Fix / Workaround

Impact and severity Affected: Discord guild-channel users using native /status Severity: Annoying to workflow-blocking for debugging, because native /status cannot be trusted in affected channels Frequency: Observed repeatedly in the same guild channel Consequence: Operators get incorrect status/debug information and must use a message-path workaround instead of the native command

Additional information Observed workaround: appending /status inside a normal channel message can hit a healthier path and show the expected channel-session metadata.

Code Example

Wrong native /status output observed in Discord:
🦞 OpenClaw 2026.4.5 (3e72c03)
🧠 Model: discord/undefined · 🔑 unknown
📚 Context: 0/200k (0%) · 🧹 Compactions: 0
🧵 Session: agent:main:discord:slash:332887877048598528 • no activity
📌 Tasks: 0 active · 5 total · agent-local
⚙️ Runtime: direct · Think: off · elevated
🪢 Queue: collect (depth 0)

Later observed wrong output with corrected target session key but still bad metadata:
Session: agent:main:discord:channel:1490775030236450876 • no activity

Observed healthy status from the normal channel-session path:
🧠 Model: openai-codex/gpt-5.4 · 🔑 oauth (...)
📚 Context: 50k/272k (18%)
🧵 Session: agent:main:discord:channel:1490775030236450876 • updated just now

Source analysis from installed 2026.4.5 bundle:
- Live native Discord /status path:
  provider-DR2mO1YM.js -> commands.runtime-CVX5D6kT.js -> pi-embedded-DWASRjxE.js -> status-yaHSTeGo.js
- In provider-DR2mO1YM.js native /status branch, code references routeState.sessionEntry
- resolveDiscordNativeInteractionRouteState returns route/effectiveRoute/binding metadata but not sessionEntry
- When sessionEntry is missing, status falls back to slash payload values
- buildDiscordNativeCommandContext hardcodes Provider: "discord" and does not provide a real model
- This matches the observed user-visible output: discord/undefined and empty/no-activity session state
RAW_BUFFERClick to expand / collapse

[Bug]: Discord native /status reports discord/undefined and no activity for active channel session

Bug type Behavior bug (incorrect output/state without crash)

Beta release blocker No

Summary Discord native /status in a guild channel reports discord/undefined, zero context, and no activity for the target channel session even when the channel session is active and normal in-message status paths show real session usage.

Steps to reproduce

  1. Run OpenClaw 2026.4.5 with Discord native commands enabled in a guild channel workspace.
  2. Use native Discord /status by itself inside a guild channel that already has an active session.
  3. Observe that the returned status card shows the channel session key but reports discord/undefined, 0 context, and no activity.
  4. In the same channel, trigger status through a normal message path, for example appending /status inside a regular message.
  5. Observe that the message-path status can show the expected live session usage/model information for the same channel.

Expected behavior Native Discord /status should report the same active channel-session model, context, and activity state as the normal in-message status path for that same guild channel session.

Actual behavior Native Discord /status returns a status card with incorrect metadata, including:

  • Model: discord/undefined
  • Context: 0/...
  • Session: agent:main:discord:channel:<channelId> • no activity

Observed example session key: agent:main:discord:channel:1490775030236450876

OpenClaw version 2026.4.5 (build 3e72c03 observed in /status output)

Operating system Linux 5.15.0-171-generic (x64)

Install method npm global

Model openai-codex/gpt-5.4

Provider / routing chain openclaw -> discord native command session -> openai-codex

Additional provider/model setup details Default agent model is openai-codex/gpt-5.4 with openai-codex/gpt-5.4-mini fallback configured in ~/.openclaw/openclaw.json. Discord runs in guild-channel mode with native commands enabled. The issue is specific to native Discord /status; normal channel-message execution paths can show the expected session metadata.

Logs, screenshots, and evidence

Wrong native /status output observed in Discord:
🦞 OpenClaw 2026.4.5 (3e72c03)
🧠 Model: discord/undefined · 🔑 unknown
📚 Context: 0/200k (0%) · 🧹 Compactions: 0
🧵 Session: agent:main:discord:slash:332887877048598528 • no activity
📌 Tasks: 0 active · 5 total · agent-local
⚙️ Runtime: direct · Think: off · elevated
🪢 Queue: collect (depth 0)

Later observed wrong output with corrected target session key but still bad metadata:
Session: agent:main:discord:channel:1490775030236450876 • no activity

Observed healthy status from the normal channel-session path:
🧠 Model: openai-codex/gpt-5.4 · 🔑 oauth (...)
📚 Context: 50k/272k (18%)
🧵 Session: agent:main:discord:channel:1490775030236450876 • updated just now

Source analysis from installed 2026.4.5 bundle:
- Live native Discord /status path:
  provider-DR2mO1YM.js -> commands.runtime-CVX5D6kT.js -> pi-embedded-DWASRjxE.js -> status-yaHSTeGo.js
- In provider-DR2mO1YM.js native /status branch, code references routeState.sessionEntry
- resolveDiscordNativeInteractionRouteState returns route/effectiveRoute/binding metadata but not sessionEntry
- When sessionEntry is missing, status falls back to slash payload values
- buildDiscordNativeCommandContext hardcodes Provider: "discord" and does not provide a real model
- This matches the observed user-visible output: discord/undefined and empty/no-activity session state

Impact and severity Affected: Discord guild-channel users using native /status Severity: Annoying to workflow-blocking for debugging, because native /status cannot be trusted in affected channels Frequency: Observed repeatedly in the same guild channel Consequence: Operators get incorrect status/debug information and must use a message-path workaround instead of the native command

Additional information Observed workaround: appending /status inside a normal channel message can hit a healthier path and show the expected channel-session metadata.

Grounded implementation clue from bundle inspection:

  • The native Discord /status branch appears to use target session key routing inconsistently and/or attempts to read a nonexistent routeState.sessionEntry
  • The remaining bad output is consistent with falling back to slash-session payload metadata instead of loading the real target channel session entry from store

extent analysis

TL;DR

The native Discord /status command reports incorrect metadata, including discord/undefined and no activity, due to inconsistent session key routing and fallback to slash payload metadata.

Guidance

  • The issue seems to stem from the buildDiscordNativeCommandContext function hardcoding the Provider as "discord" and not providing a real model, leading to the discord/undefined output.
  • The resolveDiscordNativeInteractionRouteState function returns route metadata but not sessionEntry, causing the status to fall back to slash payload values.
  • To verify the issue, compare the output of the native /status command with the output of appending /status inside a normal channel message, which should show the expected channel-session metadata.
  • A potential workaround is to use the message-path /status command instead of the native /status command to get the correct session metadata.

Example

No code snippet is provided as the issue is related to the internal implementation of the OpenClaw bundle and Discord native commands.

Notes

The issue is specific to the native Discord /status command and does not affect normal channel-message execution paths. The workaround of using the message-path /status command can provide the correct session metadata, but it may not be a permanent solution.

Recommendation

Apply workaround: use the message-path /status command instead of the native /status command to get the correct session metadata, as it is a reliable alternative until the native command is fixed.

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