Skip to content

Tool results can degrade into literal '(see attached image)' placeholder for text output #97321

Description

@scribe-dandelion-cult

Summary

A live Discord session reached a state where ordinary text tool results were projected to the model/user as the literal placeholder:

(see attached image)

This happened while inspecting logs/session files. It affected text-producing tools, not just image tools or binary files. User reports that /new appears to restore the tools, which suggests session/projection state corruption rather than a healthy steady-state behavior.

Evidence observed

Session: agent:main:discord:channel:1466192485440164011 / session id 85e2df33-ab36-4080-8f1c-96a91148ffc9.

Visible symptom reported by the agent:

(see attached image)

The agent saw that placeholder in place of normal output from attempts to inspect logs/session state. It also appeared around simple commands/reads during the degraded period. The model could not reliably inspect local logs because tool results were no longer rendered as readable text.

Searches in source show that (see attached image) is a known provider/transport placeholder used when an image block is present without usable text, for example in provider transforms. That placeholder should not replace ordinary text tool output.

Why this matters

When this happens, the agent cannot debug itself: log reads and shell output become unreadable. The user then has to /new the session to restore tools, which loses continuity and hides the underlying failure.

Expected behavior

  • Text tool results from exec, read, web_search, etc. should remain text blocks.
  • If a tool result is too large, it should be truncated as text with a clear truncation marker, not replaced with an image placeholder.
  • If a result contains binary/image blocks, the text parts should still be preserved separately.
  • /new should not be required to restore tool result rendering.

Suggested diagnostics

  1. Inspect transcript/tool-result projection around the degraded session for mixed content blocks.
  2. Look for a path that converts tool results into image/media placeholders during replay/projection.
  3. Add a regression test: a session with prior image/tool media still renders a later exec echo abc result as text, not (see attached image).
  4. Add logging when a text tool result is replaced by media placeholder.

Related context

This occurred during a broader session-health incident with stale inbound event delivery, incomplete turn warnings, and context/session mismatch. It may share a root cause with replay/projection state corruption, but the symptom is distinct and deserves its own test.

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:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions