Skip to content

[Bug]: command-dispatch skill routing strips arguments from slash commands #59228

@leobrigassi

Description

@leobrigassi

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

Slash commands with arguments (e.g., /command 115) do not pass arguments to the skill dispatch script. Only the base command name is received — arguments are stripped.

Steps to reproduce

  1. Configure a skill with command-dispatch: tool and command-exec pointing to a dispatch script
  2. Send a slash command with arguments via Telegram (e.g., /command 115)
  3. The dispatch script receives NO arguments — only the base command

Expected behavior

The dispatch script should receive the full command including arguments (e.g., command 115 or just 115)

Actual behavior

The dispatch script receives only command with no arguments

OpenClaw version

2026.3.28

Operating system

Linux 6.12.75+rpt-rpi-v8 (arm64) — Raspberry Pi

Install method

npm install -g openclaw

Model

minimax-m2.7-cloud:latest (via Ollama)

Provider / routing chain

Ollama → MiniMax cloud

Additional provider/model setup details

  • OpenClaw version: 2026.3.28 (current, broken)
  • Last working version: 2026.3.23
  • Regression: YES — broke somewhere between 3.23 and 3.28
  • Channel: Telegram
  • Skill config:
metadata:
  openclaw:
    command-dispatch: tool
    command-tool: exec
    command-exec: "~/.openclaw/skills/taskboard/scripts/dispatch.sh"
    user-invocable: true

Logs, screenshots, and evidence

• Debug log from dispatch.sh shows only Args: command received, no argument
• Telegram API getUpdates approach failed due to race condition (gateway consumes update first)
• Hooks system does not have subagent.completion or command.args event
• Similar issues #56471 and #54767 closed Mar 31 — possibly related

Impact and Severity
• Impact: Slash commands with arguments are non-functional. Users cannot pass parameters to skills via Telegram slash commands.
• This is a regression. Core slash command functionality is broken.

Additional Information

Workaround:
Assistant handles /command 115 as natural language and calls the commands.py script directly, bypassing command-dispatch.

Files:

• ~/.openclaw/skills/<command>/SKILL.md
• ~/.openclaw/skills/<command>/scripts/dispatch.sh
• ~/.openclaw/skills/<command>/scripts/commands.py

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingregressionBehavior that previously worked and now fails

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions