[FEATURE] Display inline timestamps on messages and tool calls in the VS Code extension (with design proposal)
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
There's currently no way to see when messages or tool calls happened in a Claude Code session. This makes long debugging sessions hard to navigate — you can't tell if a Bash command ran 30 seconds ago or 30 minutes ago, can't correlate with git logs or external events, and can't easily pick up a thread after stepping away from the IDE.
This has been requested across several issues that have been closed or marked stale (#46275, #37929, #44763, #24349). Re-opening with a consolidated design proposal in case it helps move things forward.
Proposed solution
Show a small HH:MM pill at the start of each entry in the conversation timeline, with a full-width date separator at day boundaries.
Mockup of what this could look like in the VS Code extension:
<img width="729" height="364" alt="Image" src="https://github.com/user-attachments/assets/9c78a81f-7f9b-4393-b435-4a101c973e05" />
Proposed Solution
- Time pill on the left, next to the bullet — not right-aligned at the end of the line. The eye scans "when + what" together when they're adjacent.
- Full-width date separators rather than per-message dates. The pill stays
HH:MMeverywhere; the date only surfaces at day boundaries. Standard pattern in Slack, Discord, Linear, iMessage.
- Tool-call level too, not just user/assistant messages. The Bash/Edit/Read headers in the timeline are where "when did this run" matters most — that's the main debugging use case. (See #55125 for a related active request scoped specifically to tool-call timestamps; this issue proposes the broader treatment that covers both.)
Additional Context
Implementation notes
showMessageTimestampsandshowTurnDurationalready exist in the bundledclaude-code-settings.schema.jsonbut appear to be inert in the VS Code UI — the plumbing looks half-done.- Timestamps are already stored on each entry in the session
.jsonlfiles, so this is purely a render-time concern, not a data-model change.
Related
- #55125 — active, tool-call-level granularity
- #46275 — closed by stale bot
- #37929, #44763, #24349 — earlier message-level requests
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗