Summary
A live Discord session reached a state where ordinary text tool results were projected to the model/user as the literal placeholder:
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:
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
- Inspect transcript/tool-result projection around the degraded session for mixed content blocks.
- Look for a path that converts tool results into image/media placeholders during replay/projection.
- 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).
- 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.
Summary
A live Discord session reached a state where ordinary text tool results were projected to the model/user as the literal placeholder:
This happened while inspecting logs/session files. It affected text-producing tools, not just image tools or binary files. User reports that
/newappears 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 id85e2df33-ab36-4080-8f1c-96a91148ffc9.Visible symptom reported by the agent:
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
/newthe session to restore tools, which loses continuity and hides the underlying failure.Expected behavior
exec,read,web_search, etc. should remain text blocks./newshould not be required to restore tool result rendering.Suggested diagnostics
exec echo abcresult as text, not(see attached image).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.