openclaw - 💡(How to fix) Fix [Bug] Feishu slash commands not working in multi-account setup [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#57893Fetched 2026-04-08 01:56:25
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Author
Participants

Feishu slash commands (/status, /new, /help, etc.) are not working in multi-account setup. The commands are detected but not delivered to the agent (delivered=false).

Root Cause

Feishu slash commands (/status, /new, /help, etc.) are not working in multi-account setup. The commands are detected but not delivered to the agent (delivered=false).

Fix Action

Fix / Workaround

  1. Slash commands are detected by the system
  2. Gateway logs show: system command detected, using plain-text dispatch
  3. But result is delivered=false - the command is never executed
  4. Execution time is only ~80ms (vs ~18-40 seconds for normal messages)
  5. Agent is never actually invoked for the command
feishu[main]: detected system command, using plain-text dispatch
feishu[main]: system command dispatched (delivered=false, elapsed=80ms)

Code Example

feishu[main]: detected system command, using plain-text dispatch
feishu[main]: system command dispatched (delivered=false, elapsed=80ms)
RAW_BUFFERClick to expand / collapse

Description

Feishu slash commands (/status, /new, /help, etc.) are not working in multi-account setup. The commands are detected but not delivered to the agent (delivered=false).

Environment

  • OpenClaw version: latest (2026.3.x)
  • Channel: Feishu (websocket mode)
  • Configuration: Multi-account setup with accounts.{accountId}

Symptoms

  1. Slash commands are detected by the system
  2. Gateway logs show: system command detected, using plain-text dispatch
  3. But result is delivered=false - the command is never executed
  4. Execution time is only ~80ms (vs ~18-40 seconds for normal messages)
  5. Agent is never actually invoked for the command

Steps to reproduce

  1. Configure OpenClaw with multiple Feishu bot accounts (multi-agent setup)
  2. Set up bindings to route messages to different agents based on accountId
  3. Send a slash command (e.g., /status) in a DM to the bot
  4. Command is detected but no response is sent

Expected behavior

  • /status should return session status info
  • /new should reset the session
  • /help should return help text

Relevant logs

feishu[main]: detected system command, using plain-text dispatch
feishu[main]: system command dispatched (delivered=false, elapsed=80ms)

Additional context

  • This appears to be the same issue as #54915 (Discord slash commands broken in multi-account setup)
  • Single-account configuration works fine
  • The issue is specific to multi-account (accounts.*) configuration
  • Normal messages work correctly - only slash commands are affected

extent analysis

Fix Plan

To resolve the issue with Feishu slash commands not working in a multi-account setup, we need to modify the dispatch logic to correctly handle multi-account configurations.

Step-by-Step Solution:

  1. Update the dispatch function: Modify the dispatch function in the Feishu handler to check for multi-account configurations and use the correct account ID when dispatching system commands.
  2. Use the accountId from the message context: Pass the accountId from the message context to the dispatch function to ensure the correct account is used for dispatching the command.
  3. Update the plain-text dispatch logic: Modify the plain-text dispatch logic to handle system commands correctly in multi-account setups.

Example Code:

def dispatch(message, account_id):
    # Check if the message is a system command
    if message.startswith('/'):
        # Use the account_id from the message context
        account = get_account(account_id)
        # Dispatch the command using the correct account
        return dispatch_command(message, account)
    # ... (rest of the dispatch function remains the same)

def dispatch_command(command, account):
    # Handle the system command (e.g., /status, /new, /help)
    if command == '/status':
        return get_session_status(account)
    elif command == '/new':
        return reset_session(account)
    elif command == '/help':
        return get_help_text(account)
    # ... (handle other system commands)

# Update the Feishu handler to use the new dispatch function
feishu_handler = FeishuHandler(dispatch)

Verification

To verify that the fix worked, send a slash command (e.g., /status) in a DM to the bot and check that the correct response is received. Also, check the logs to ensure that the delivered flag is set to true and the execution time is within the expected range.

Extra Tips

  • Make sure to update the accounts.* configuration to include the correct accountId for each account.
  • Test the fix with different system commands (e.g., /new, /help) to ensure they are working correctly.
  • If issues persist, check the logs for any errors or warnings related to the dispatch function or account configuration.

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…

FAQ

Expected behavior

  • /status should return session status info
  • /new should reset the session
  • /help should return help text

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING