-
-
Notifications
You must be signed in to change notification settings - Fork 56.2k
Description
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
- Configure OpenClaw with a Slack channel
- Send any message via Slack DM
- Observe the usage footer — session key segments between colons render as grey emoji boxes
Environment
- Channel: Slack (Bolt)
responseUsage:tokens(default) — also affectsfullmode- 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