Skip to content

Bug: Internal tool-call trace leaked into user-visible chat message (Olvid group) #30704

@siludose

Description

@siludose

Summary

In Olvid group chat, internal tool-call trace text was accidentally sent as a user-visible message.

Example leaked fragment:

NO_REPLY +#+#+#+#+#+assistant to=functions.olvid_list_groups recipient_name... json {"olvidChannelAccountId":""}

Expected

Only user-facing natural language should be delivered.
Internal tool-call metadata/traces must never appear in outbound messages.

Actual

A malformed/debug-like internal string appeared in the Olvid group chat, visible to all members.

Environment

  • OpenClaw CLI: 2026.2.26
  • Channel: Olvid group
  • Runtime model: openai-codex/gpt-5.3-codex
  • Observed during mixed interactions with NO_REPLY behavior and concurrent tool calls

Suspected area

  • Final response assembly / renderer
  • NO_REPLY branch handling when combined with tool-call results
  • Tool result / assistant-content merge path
  • Concurrent queued message handling (multiple messages queued while agent is busy)

Steps to Reproduce

  1. In group chat, enforce "reply only when mentioned" (agent uses NO_REPLY for non-mentions).
  2. Trigger several queued messages from multiple users.
  3. Around the same time, invoke a tool call (e.g. olvid_list_discussions or olvid_list_groups).
  4. Observe occasional leakage of internal tool-call text in outbound message.

Impact

  • Confusing UX for end users
  • Internal implementation details exposed in a production group chat

Suggested Fix

  • Hard strip patterns in the outbound message path:
    • assistant to=functions.
    • recipient_name
    • tool_uses
    • Raw JSON tool envelopes
  • Treat NO_REPLY as a terminal output (no concatenation with any debug/tool text)
  • Add integration test for queue + tool + NO_REPLY concurrency scenario

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleMarked as stale due to inactivity

    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