Skip to content

[FEATURE]: Google Docs–style inline comments on conversation messages #54581

Open

Description

@Uanela

Feature hasn't been suggested before.

  • I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

Summary

When I want to respond to a precise part of a message — either something I said
earlier or something the agent wrote — I currently have to quote it manually or
describe its location ("the third paragraph of your last answer"). I'd like a
Google Docs–style annotation model: select a span of text in any message in the
transcript, attach a comment anchored to that span, and have the collected
comments bundled into my next prompt as context for the agent.

Motivation

Proposed UX

  1. In a user or assistant message, select a span (keyboard or mouse).
  2. Add a comment; a visible marker appears beside the text and the comment can be
    shown inline or as a margin thread.
  3. Continue adding comments across messages; a summary lets you navigate, edit,
    and delete them.
  4. On submit, comments are bundled into the next prompt together with the quoted
    excerpt and a reference to the message.
  5. Draft comments survive closing and reopening the session view. If a message is
    edited or regenerated, the anchored excerpt is retained and the comment is
    flagged as referring to an earlier version.

Anchoring

Anchor each comment by the quoted text plus surrounding offsets, not by absolute
character index or line number alone. Quoted text is what the agent can match
against and it survives minor edits. Include the message id and role in the
annotation so a client can render it and so "add comments to prompt" has
something canonical to serialize.

Relationship to existing requests

These could likely share a common annotation model rather than three separate
implementations.

Delivery

A TUI/desktop implementation could start as a plugin for the UI, but a durable
solution probably needs annotations in the session model / API (message id +
range) so any client can render them and so bundling into a prompt has a
canonical source.

Activity

  1. opencode-agent commented on Oct 11, 2026

    @opencode-agent
    Contributor

    Thanks for the detailed proposal, @Uanela! To restate it: you'd like to select a span in any message in the transcript, attach a comment anchored to that text (by quote and surrounding context, not by line or character position), manage those comments, and have them sent with your next prompt along with the quoted excerpts and a reference to each message.

    Maintainers will consider this. Related issues, for context:

    This can't be built as a plugin right now. The TUI plugin API doesn't let plugins draw next to individual messages, read the text selection in the transcript, or add context to the next prompt, and there's nowhere to store annotations in the session model yet. I've noted those gaps for the maintainers.

  2. GH-Mason commented on Oct 16, 2026

    @GH-Mason

    This is the feature I am after. Desktop supports inline comments on diffs, but not Google Docs-style comments on conversation messages. Selecting a passage of an assistant message and attaching a comment/reply is exactly the gap. Related: #48664 (quote selected assistant text into the composer).

  3. Uanela commented on Oct 16, 2026

    @Uanela
    Author

    4. This is the feature I am after. Desktop supports inline comments on diffs, but not Google Docs-style comments on conversation messages. Selecting a passage of an assistant message and attaching a comment/reply is exactly the gap. Related: #48664 (quote selected assistant text into the composer).

    Let's try to see if we going to get an update one this one.

  4. antonio-ivanovski commented on Oct 26, 2026

    @antonio-ivanovski

    +1 for the shared annotation model. My immediate need is the same idea at the Question prompt (#48820): keep the selected options and attach a note that reaches the agent. If a common comment/annotation model lands, the question prompt would be a contained first surface.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions