Skip to content

[Bug]: Compact gh search native trace leaks into Telegram as (agent) failed #89415

Description

@brokemac79

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

A compact Codex-native gh search ... (agent) failed trace surfaced as a standalone Telegram bot message on a live OpenClaw 2026.5.31-beta.1 VPS even though Telegram progress/streaming was disabled.

Steps to reproduce

Observed live path:

  1. Run OpenClaw 2026.5.31-beta.1 with Telegram forum topics and the Codex runtime.
  2. Have the agent run an internal GitHub search/comparison workflow that includes a failing intermediate gh search issues ... / JSON-processing step.
  3. Observe Telegram receive a standalone bot message shaped like:
⚠️ 🛠️ gh search issues --repo openclaw/openclaw --state open --no…search_pages.jsonl /tmp/openclaw_open_unlabeled_current.json (agent) failed

This was observed once on a live Telegram forum topic. The underlying agent continued and explained that the first comparison command was wrong/noisy; the user-facing data summary was fine.

Expected behavior

Internal compact native-command failure traces should not be delivered to Telegram as standalone user-visible messages.

If the agent needs to explain a failed intermediate check, that should appear in the assistant's normal response. Internal trace lines like gh search ... (agent) failed should remain internal or be stripped before external channel delivery, especially when Telegram progress is disabled.

Actual behavior

Telegram received this standalone bot-originated warning:

⚠️ 🛠️ gh search issues --repo openclaw/openclaw --state open --no…search_pages.jsonl /tmp/openclaw_open_unlabeled_current.json (agent) failed

Live message-cache evidence from the affected VPS:

2026-06-02 10:21:43 UTC | telegram.message-cache | message_id=10530 | topic=23 | text=⚠️ 🛠️ gh search issues --repo openclaw/openclaw --state open --no…search_pages.jsonl /tmp/openclaw_open_unlabeled_current.json (agent) failed

The relevant Telegram config on that VPS was:

{
  "mode": "off",
  "preview": { "toolProgress": false }
}

OpenClaw version

2026.5.31-beta.1 (ebba638)

Operating system

Ubuntu VPS

Install method

npm global, system gateway service

Model

codex/gpt-5.5 with OpenAI Codex runtime

Provider / routing chain

OpenClaw gateway -> Codex runtime -> Telegram channel delivery

Additional provider/model setup details

This is related to the broader native-tool status leakage tracked in #88332 and the sanitizer PR #89125.

The reason for filing this separately is that #89125 appears to cover compact traces beginning with commands such as run python3 ..., but the current compact-command pattern may not cover a trace beginning directly with gh search ....

Local regex check against the #89125 compact trace pattern:

matches:    ⚠️ 🛠️ run python3 projects/xero-integration/scripts/xero-query.py (agent) failed
misses:     ⚠️ 🛠️ gh search issues --repo openclaw/openclaw --state open --no-search-pages.jsonl /tmp/openclaw_open_unlabeled_current.json (agent) failed

If maintainers consider this covered by the wider #88332/#89125 policy work, this can be closed/merged into that issue. If not, I intend to pick up a narrow PR for the gh search compact trace case.

Logs, screenshots, and evidence

Live VPS state:

OpenClaw 2026.5.31-beta.1 (ebba638)
openclaw-gateway active
Telegram streaming mode: off
Telegram preview.toolProgress: false

Live SQLite message-cache row, redacted to topic/message ids and text:

2026-06-02 10:21:43 UTC | message_id=10530 | topic=23 | ⚠️ 🛠️ gh search issues --repo openclaw/openclaw --state open --no…search_pages.jsonl /tmp/openclaw_open_unlabeled_current.json (agent) failed

Adjacent same-class live evidence from another topic on the same VPS:

2026-06-01 21:20:48 UTC | topic=8271 | ⚠️ 🛠️ run python3 projects/xero-integration/scripts/xero-query.py (agent) failed
2026-06-01 21:22:16 UTC | topic=8271 | ⚠️ 🛠️ run python3 projects/xero-integration/scripts/xero-query.py (agent) failed

The run python3 shape is likely covered by #89125; the gh search shape is the focused gap in this issue.

Impact and severity

Affected: Telegram users running Codex-backed OpenClaw sessions where internal GitHub/search probes fail during agent work.

Severity: Medium UX regression with information-exposure risk. It leaks internal command details and temporary file paths into a shared chat.

Frequency: Observed once for gh search on a live VPS; same warning format observed twice for a run python3 command in another topic.

Consequence: Users see noisy false-failure messages for intermediate agent work even when the agent continues and the final answer/data is fine.

Additional information

Related:

Proposed narrow fix direction, if this is not fully covered by #89125: ensure shared assistant-visible text sanitization also strips compact native traces beginning with gh, for example ⚠️ 🛠️ gh search ... (agent) failed, without stripping user-authored fenced code examples.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.impact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions