Skip to content

[FEATURE]: v1 TUI: show and load the messages a long session hides #56279

Closed as not planned

Description

@Nowaker

Note: I'm aware v1 is now the maintenance branch and new features go to v2 only. This is here for others on v1 to use, and I'll submit the v2 version once I've migrated my whole plugin system to it.

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

This is the v1 version of #53642, which was closed as not planned because it targeted dev.

The v1 TUI keeps the newest 100 messages of a session loaded and silently drops the oldest one for every new message past that. Nothing in the transcript says messages are missing, the first prompt is the first thing to go, there is no way to bring older messages back, and the 100 is hard-coded.

Proposal for v1:

  1. A bar wherever messages are hidden, with the count and the load actions:
                 load 50 above   load 100 above
──── 3,250 messages hidden:  load all (slow / memory heavy) ────
                 load 50 below   load 100 below

"Above" fills the gap from its older edge, "below" from its newer edge. The actions are clickable, palette commands, and unbound keybinds.
2. load all says what it costs. Measured on ten real sessions of 2,900-13,300 messages, loading every hidden message costs about 10 ms and 0.5 MB per message (1.3-4.3 GB, 15-164 s per session), so the label adds (slow) from 300 hidden messages and (slow / memory heavy) from 500.
3. tui.json transcript.keep_first_prompt (default true) keeps the first prompt above the bar, and transcript.max_messages (default 100) makes the limit configurable.
4. GET /session/:id/message gains after, order=asc, message-ID anchors and X-Total-Count so the TUI can page both ways.

This issue is AI generated, but under direct supervision and on request of @Nowaker.

Activity

  1. opencode-agent commented on Oct 17, 2026

    @opencode-agent
    Contributor

    Thanks for the detailed proposal and the measurements, @Nowaker, and for being upfront that this targets v1.

    As you noted, v1 (opencode-ai, 0.x/1.x) only gets fixes for critical bugs, so this is unlikely to be added there. Other v1 users can still find the write-up here.

    In v2 (@opencode/cli), the TUI already loads older messages page by page as you scroll up (see #44597). When you've migrated, we'd welcome a new issue for whatever is still missing in v2. A visible marker for hidden messages or keeping the first prompt pinned are two candidates.

    Related:

    If you think this is critical, or you see the same problem on v2, please reply here.

  2. opencode-agent commented on Oct 18, 2026

    @opencode-agent
    Contributor

    Closing this as not planned. It's a feature request for the v1 TUI (opencode-ai, 0.x/1.x), which only gets fixes for critical bugs, and there's been no reply since the last comment. Thanks again for the write-up, @Nowaker. Other v1 users can still find it here.

    In v2 (@opencode/cli), the TUI already loads older messages as you scroll up (#44597). Once you've migrated, please open a new issue if anything from this proposal is still missing in v2, such as a marker for hidden messages or keeping the first prompt pinned.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions