Codex Desktop: add inline User/Assistant turn labels and previous/next message controls
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
What variant of Codex are you using?
Codex Desktop / unified ChatGPT desktop app.
What feature would you like to see?
Add compact inline anchors at the start of user and assistant-authored messages, with previous/next controls for navigating between messages of the same role.
Conceptually:
User 17:04 ↑ ↓
Could you audit the rendering pipeline...
Assistant 17:06 · High · 1m 42s ↑ ↓
The main issue is...
The exact styling is not prescribed. The goal is to make authored-message boundaries immediately identifiable and directly navigable without adding another sidebar, prompt index, or search surface.
Problem
In longer Codex conversations, user instructions and assistant responses are weak visual landmarks. Revisiting the previous/next instruction or response usually requires manual scrolling and visually locating the relevant boundary.
Codex Desktop also has a separate conversation-navigation-marker/rail concept. That is a different surface and is not required for this proposal. Inline controls should remain useful independently of whether the separate rail is visible or functioning.
Proposed behavior
- Show a small User or Assistant label (or equivalent visual anchor) at each top-level authored-message start.
- Controls beside a User message navigate between user messages.
- Controls beside an Assistant message navigate between assistant-authored messages.
- Tool output, logs, diffs, and status/activity rows are not navigation stops.
- If separate role-specific controls are undesirable, one previous/next pair with an All / User / Assistant mode would satisfy the same need.
- A jump should place the selected message near the top of the readable viewport so its following content is immediately readable.
A timestamp would also be useful. Where authoritative metadata is already available to the client, the Assistant anchor could optionally show model/reasoning effort and elapsed response time. These are secondary and should not require new backend/protocol work or block the core feature.
Acceptance criteria
- User and assistant-authored message starts are identifiable at a glance.
- Previous/next navigation traverses eligible messages in chronological order without stopping on tool/activity blocks.
- Jumps align the selected message near the top of the readable viewport.
- Boundary behavior at the first/last eligible message is predictable.
- Inline navigation works independently of the separate navigation rail.
- Controls are keyboard-focusable and have useful accessible labels.
- Existing scrolling/navigation behavior is unchanged when these controls are unused.
Non-goals
This is intentionally a small transcript-navigation papercut. It does not request a new navigation rail/index, transcript search, bookmarks, folding, reply threading, export changes, generated summaries, configurable role themes, or a new conversation data model.
Related issues
- #20651, #35975 and #37243 request broader conversation navigation/index surfaces. This request is narrower: inline role anchors and adjacent-message traversal at the messages themselves.
- #32015 and #37413 cover reliability/positioning problems in the separate navigation rail. Those issues are not part of the requested fix and are one reason this inline affordance should not depend on that surface.
- #9760 requests per-turn elapsed time in the VS Code extension; elapsed time is only optional metadata here.
- #35369 concerns visual distinction of user messages; this request adds explicit role anchors plus navigation and covers both sides of the conversation.
Additional information
A conceptual mockup informed this proposal, but it is illustrative rather than a literal design specification. The production treatment could be substantially more compact, with secondary metadata/actions shown on hover if preferred.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source files or tests are named. Start by locating the Codex Desktop transcript message-rendering and navigation entry points, then trace how authored messages are distinguished from tool and activity rows. Done means role anchors and keyboard-accessible, role-specific previous/next navigation work in chronological order, align jumps near the viewport top, and do not depend on the separate navigation rail.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100