Skip to content

[Bug]: Usage footer session key breaks in Slack — colons parsed as emoji shortcodes #30258

@bill-tanner

Description

@bill-tanner

Describe the bug

When the usage footer is rendered in Slack (via the Slack channel), the session key (e.g. agent:main:slack:direct:u045c0gtsmb) contains colon-delimited segments that Slack auto-parses as emoji shortcodes. Segments like :main:, :slack:, :direct: are rendered as grey placeholder boxes when no matching emoji exists.

Expected behavior

The session key should render as plain text in Slack. The footer should also surface the model name prominently (not just in full mode) — users should be able to see at a glance which model is handling their request.

Actual behavior

Usage footer renders as: Usage: 3 in / 1.8k out · session agent [grey box] slack [grey box] u045c0gtsmb

The colon-wrapped segments (:main:, :slack:, :direct:) are swallowed/replaced by missing emoji placeholder icons.

Steps to reproduce

  1. Configure OpenClaw with a Slack channel
  2. Send any message via Slack DM
  3. Observe the usage footer — session key segments between colons render as grey emoji boxes

Environment

  • Channel: Slack (Bolt)
  • responseUsage: tokens (default) — also affects full mode
  • Session key format: agent:main:slack:direct:<userId>

Suggested fix

Escape or replace colons in the session key before sending to Slack. Options:

  • Use · (middle dot) or / as separators instead of :
  • Wrap the session key in backticks (inline code) — Slack does not parse emoji shortcodes inside code spans

cc @thetwopct

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions