You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I searched existing issues and did not find a duplicate.
I am describing a concrete problem or use case, not just a vague idea.
Area
apps/web
Problem or use case
In a long thread, or after a single large response, there is no way to see what my most recent instruction was without scrolling back up through the whole reply to find it. I keep several threads open across different projects and flick between them, and every time I return to one I have to reconstruct where I was — which means scrolling up, reading my own prompt, then scrolling back down to the current position.
This is worst when the message was a slash command. If I sent something like /done, the entire response is a long report, and the one line that tells me what this thread is currently doing is buried above all of it.
The existing navigation work makes that scroll cheaper but does not remove it. #1915 delivered the timeline minimap with hover previews and click-to-scroll, and #4023 proposes arrows and keybindings to jump to the previous or next user prompt. Both are retrieval: I have to realise I have lost my bearings, then take a deliberate action to recover them, and #4023's own author notes the minimap "can be hard to select a specific message". What I want is orientation without an action — the answer already on screen when I arrive in the thread.
Proposed solution
Pin the most recent user message to the top of the chat viewport:
Always on while viewing a thread, not conditional on whether a turn is currently running.
Show a maximum of two to three lines, with the overflow fading out rather than being hard-truncated or ellipsised.
Show the text as it was actually submitted. If I submitted /done, the pin shows /done, not the expanded skill or command prompt behind it. The literal submitted line is the thing that tells me where I am.
Clicking the pin scrolls the conversation to that message.
A setting to turn it off, for people who would rather not give up the vertical space.
Why this matters
The pinned line answers "what did I ask this thread to do?" passively, which is the question I have every single time I switch back into a thread. For slash commands it is the difference between one glance and a scroll through an entire generated report. It also compounds with multi-thread work: the more threads I keep open, the more often I pay the reorientation cost, and that cost is exactly what makes flicking between threads feel expensive.
I had this behaviour in the Claude Code VS Code extension, where the latest user message stayed stuck at the top, and it was the thing I missed most when moving to T3 Code. Reporting that as my own experience of a prior tool rather than as a claim about how that extension is implemented.
Smallest useful scope
A single non-configurable pinned line showing the latest submitted user message, with fade on overflow. Click-to-scroll and the disable setting can both follow.
Alternatives considered
Use the timeline minimap from [Feature]: Add chat outline navigation strip #1915. It works, but it is a deliberate hover-and-read action to answer a question I have constantly, and small targets make it fiddly.
Rely on the thread title. Titles are generated and summarise the thread as a whole, not the instruction currently in flight, so they do not answer the question after the first turn.
Scroll up manually. This is the current behaviour and the reason for the request.
Risks or tradeoffs
It costs permanent vertical space at the top of the chat, which is why the disable setting matters, and why the line cap should be tight rather than generous.
There is a design question about whether the pin should hide while the latest user message is already visible on screen. Hiding avoids showing the same text twice, but it also makes the header appear and disappear as you scroll, which is more visually noisy than simply leaving it in place. I would lean toward always visible and would rather that be a deliberate choice than an accident.
Very long single-line prompts, pasted content, and images need a sensible rule for what the two-line preview actually shows.
It should behave consistently across desktop, web and mobile rather than being desktop-only, and mobile has the least vertical space to give.
Before submitting
Area
apps/web
Problem or use case
In a long thread, or after a single large response, there is no way to see what my most recent instruction was without scrolling back up through the whole reply to find it. I keep several threads open across different projects and flick between them, and every time I return to one I have to reconstruct where I was — which means scrolling up, reading my own prompt, then scrolling back down to the current position.
This is worst when the message was a slash command. If I sent something like
/done, the entire response is a long report, and the one line that tells me what this thread is currently doing is buried above all of it.The existing navigation work makes that scroll cheaper but does not remove it. #1915 delivered the timeline minimap with hover previews and click-to-scroll, and #4023 proposes arrows and keybindings to jump to the previous or next user prompt. Both are retrieval: I have to realise I have lost my bearings, then take a deliberate action to recover them, and #4023's own author notes the minimap "can be hard to select a specific message". What I want is orientation without an action — the answer already on screen when I arrive in the thread.
Proposed solution
Pin the most recent user message to the top of the chat viewport:
/done, the pin shows/done, not the expanded skill or command prompt behind it. The literal submitted line is the thing that tells me where I am.Why this matters
The pinned line answers "what did I ask this thread to do?" passively, which is the question I have every single time I switch back into a thread. For slash commands it is the difference between one glance and a scroll through an entire generated report. It also compounds with multi-thread work: the more threads I keep open, the more often I pay the reorientation cost, and that cost is exactly what makes flicking between threads feel expensive.
I had this behaviour in the Claude Code VS Code extension, where the latest user message stayed stuck at the top, and it was the thing I missed most when moving to T3 Code. Reporting that as my own experience of a prior tool rather than as a claim about how that extension is implemented.
Smallest useful scope
A single non-configurable pinned line showing the latest submitted user message, with fade on overflow. Click-to-scroll and the disable setting can both follow.
Alternatives considered
Risks or tradeoffs
Examples or references
nextandpreviousnavigation #4382 — related navigation history and next/previous shortcutsContribution