Skip to content

Desktop: markdown is not rendered in question/elicitation text (renders fine in normal messages) #44118

Closed as not planned

Description

@blue126

Environment

  • OpenCode desktop app 1.18.21 (ai.opencode.desktop), macOS 26.4 / arm64
  • Latest release at time of writing

Summary

Markdown in the question text of an elicitation prompt is displayed literally.
Markdown in ordinary assistant messages renders correctly in the same build, so this
looks specific to the question/elicitation surface rather than to the renderer.

Repro

1. Normal message — renders correctly.

Prompt:

Reply with a normal message that contains: a ## heading, **bold text**,
`inline code`, a bulleted list, and a fenced code block containing an
HTML comment. Do not use any tools.

Result: heading, bullets, inline code chips and the fenced block all render as
expected.

2. Question tool — does not render.

Prompt:

Use your question tool to ask me a SHORT question whose text contains
**bold** and `inline code`. Give me two options.

The agent asked:

Should I **review** or `commit` the changes?

Result: displayed verbatim, asterisks and backticks included.

Why I think this is worth fixing rather than intended

There is a reasonable argument for showing question text verbatim: when a prompt asks
you to approve content that will be written to a file byte-for-byte, rendering the
markdown would hide the actual bytes — fences disappear, ## becomes a heading, an
HTML comment marker can vanish entirely.

But that argument does not fit what I see. The failing case above is a single line of
trivial markdown with no payload to protect, and it fails the same way. So this reads
as "not wired up" rather than "deliberately verbatim."

Context

I hit this with an agent whose question body was a few thousand characters of markdown
(a proposed file block being submitted for approval). Rendered as one run of flat
proportional text it was essentially unreadable. The short repro above is the reduced
case.

Whether or not agents should put long content in that field, they do in practice, so
a secondary suggestion: give long question bodies a monospace, scrollable or
collapsible container. That helps even if verbatim display is kept deliberately.

As far as I can tell this content reaches the UI through the question tool → ACP
elicitation bridge (#42104, with follow-up #42158 still open), so this surface is new
and this may simply not be implemented yet.

Activity

  1. cveld commented on Oct 6, 2026

    @cveld

    Confirmed on OpenCode Desktop 2.0.24 on Windows 11.

    A question card containing a moderately long issue draft was displayed as unformatted plain text. Markdown structure such as headings, bullet lists, inline code, and fenced JSON was not rendered, even though the same syntax renders normally in assistant messages. This made the confirmation dialog unnecessarily difficult to scan and review.

    For long question bodies, Markdown rendering plus a scrollable or collapsible content area would improve usability substantially.

  2. harrysolovay commented on Oct 15, 2026

    @harrysolovay

    Still present in v2.0.24. I checked the source:

    Could these use the existing Markdown renderers? Headings, lists, inline code, and fenced blocks would make longer prompts much easier to read. Ideally, the content would scroll while the response buttons stay visible.

    This should work inside the prompt itself, including native MCP elicitation—not require a separate chat message or plugin. The standard MCP message string should be enough.

    Source inspection only; I haven't retested rendering interactively across all clients.

  3. liamtoaldo commented on Oct 26, 2026

    @liamtoaldo

    Confirmed on Desktop 2.0.32 (Linux x64) with OpenCode 2.1.1: the same plain-text path also breaks LaTeX math, not just Markdown.

    Minimal repro with the question tool:

    question: What is $\partial\,\mathrm{RSS}/\partial w$?
    options:
    - $-2X^\top Xw$
    - $2X^\top X$
    - $-2Xw$
    

    Actual: the question body and every option show the raw $...$ source.
    Expected: inline math uses the same KaTeX rendering as assistant messages.

    The dock interpolates plain text in three places:

    The current dev source still has the same <bdi> interpolation. Using the shared Markdown renderer here would fix both this report and math-heavy multiple-choice checks.

  4. opencodejr commented on Oct 28, 2026

    @opencodejr
    Contributor

    Thanks for the clear write-up and the reduced repro, @blue126.

    You're on desktop 1.18.21, which is OpenCode v1. v1 now only gets fixes for critical bugs, like data loss, security problems or crashes with no workaround. Markdown showing as plain text in question prompts doesn't meet that bar, so this is unlikely to be fixed in v1.

    We encourage upgrading to v2 (@opencode/cli). To set expectations, though: v2 also shows question text as plain text right now. There, rendering markdown (or a monospace, scrollable container for long question bodies) would be a feature request.

    Related issues:

    If you think this is critical, or you'd like to argue for it on v2, please reply here.

  5. opencodejr commented on Oct 29, 2026

    @opencodejr
    Contributor

    Closing this as not planned. It was reported on desktop 1.18.21 (v1), which only gets critical fixes, and markdown not rendering in question prompts doesn't meet that bar.

    If you'd like this on v2 (which also shows question text as plain text today), please open a feature request there, for markdown rendering or a monospace/scrollable container for long question bodies. #21077 has earlier discussion. Thanks again for the detailed report, @blue126.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions