[Feature Request] Add message timestamps to interactive conversation view

Status Open
Reported on v2.1.63
Maintainer reply None cached
Activity 13 comments · opened Mar 4, 2026

Bug Description
Feature request: Display timestamps on conversation messages

It would be very helpful to show the time (HH:MM:SS) next to each user and assistant message in the interactive
conversation view. This is especially useful during long monitoring/debugging sessions where the user needs to
correlate actions with specific timeframes (e.g., analyzing server logs from a particular hour). A simple toggle
setting like "showTimestamps": true in settings.json or a /timestamps command would be ideal.

Environment Info

  • Platform: darwin
  • Terminal: cursor
  • Version: 2.1.63
  • Feedback ID: a7de0dcb-0501-48e9-907c-9a1a0d8dee10

Errors

[{"error":"Error: 1P event logging: 28 events failed to export (status=429, code=ERR_BAD_REQUEST, Request failed with status code 429)\n    at queueFailedEvents (/$bunfs/root/claude:6264:2403)\n    at async doExport (/$bunfs/root/claude:6264:1310)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-04T12:03:56.832Z"},{"error":"Error: {\"message\":\"Failed to export 28 events (status=429, code=ERR_BAD_REQUEST, Request failed with status code 429)\",\"originalLine\":\"6264\",\"originalColumn\":\"1462\",\"line\":\"6264\",\"column\":\"1462\",\"sourceURL\":\"/$bunfs/root/claude\",\"stack\":\"Error: Failed to export 28 events (status=429, code=ERR_BAD_REQUEST, Request failed with status code 429)\\n    at doExport (/$bunfs/root/claude:6264:1462)\\n    at processTicksAndRejections (native:7:39)\",\"name\":\"Error\"}\n    at error (/$bunfs/root/claude:2402:25029)\n    at <anonymous> (/$bunfs/root/claude:119:92465)\n    at A4D (/$bunfs/root/claude:119:93009)\n    at <anonymous> (/$bunfs/root/claude:120:17366)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-04T12:03:56.833Z"},{"error":"Error: 1P event logging: 4 events failed to export (status=429, code=ERR_BAD_REQUEST, Request failed with status code 429)\n    at queueFailedEvents (/$bunfs/root/claude:6264:2403)\n    at async doExport (/$bunfs/root/claude:6264:1310)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-04T12:04:21.086Z"},{"error":"Error: {\"message\":\"Failed to export 4 events (status=429, code=ERR_BAD_REQUEST, Request failed with status code 429)\",\"originalLine\":\"6264\",\"originalColumn\":\"1462\",\"line\":\"6264\",\"column\":\"1462\",\"sourceURL\":\"/$bunfs/root/claude\",\"stack\":\"Error: Failed to export 4 events (status=429, code=ERR_BAD_REQUEST, Request failed with status code 429)\\n    at doExport (/$bunfs/root/claude:6264:1462)\\n    at processTicksAndRejections (native:7:39)\",\"name\":\"Error\"}\n    at error (/$bunfs/root/claude:2402:25029)\n    at <anonymous> (/$bunfs/root/claude:119:92465)\n    at A4D (/$bunfs/root/claude:119:93009)\n    at <anonymous> (/$bunfs/root/claude:120:17366)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-04T12:04:21.086Z"},{"error":"Error: 1P event logging: 1 events failed to export (status=429, code=ERR_BAD_REQUEST, Request failed with status code 429)\n    at queueFailedEvents (/$bunfs/root/claude:6264:2403)\n    at async doExport (/$bunfs/root/claude:6264:1310)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-04T12:05:21.106Z"},{"error":"Error: {\"message\":\"Failed to export 1 events (status=429, code=ERR_BAD_REQUEST, Request failed with status code 429)\",\"originalLine\":\"6264\",\"originalColumn\":\"1462\",\"line\":\"6264\",\"column\":\"1462\",\"sourceURL\":\"/$bunfs/root/claude\",\"stack\":\"Error: Failed to export 1 events (status=429, code=ERR_BAD_REQUEST, Request failed with status code 429)\\n    at doExport (/$bunfs/root/claude:6264:1462)\\n    at processTicksAndRejections (native:7:39)\",\"name\":\"Error\"}\n    at error (/$bunfs/root/claude:2402:25029)\n    at <anonymous> (/$bunfs/root/claude:119:92465)\n    at A4D (/$bunfs/root/claude:119:93009)\n    at <anonymous> (/$bunfs/root/claude:120:17366)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-04T12:05:21.107Z"},{"error":"Error: 1P event logging: 13 events failed to export (status=429, code=ERR_BAD_REQUEST, Request failed with status code 429)\n    at queueFailedEvents (/$bunfs/root/claude:6264:2403)\n    at async doExport (/$bunfs/root/claude:6264:1310)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-04T12:06:27.879Z"},{"error":"Error: {\"message\":\"Failed to export 13 events (status=429, code=ERR_BAD_REQUEST, Request failed with status code 429)\",\"originalLine\":\"6264\",\"originalColumn\":\"1462\",\"line\":\"6264\",\"column\":\"1462\",\"sourceURL\"…

Note: Content was truncated.

View original on GitHub ↗

12 Comments

imbafisk4tw · 5 months ago

Yes I need this! Multiple Tabs open in VS Code extension but no way to have temporal context!

paralaxsd · 5 months ago

It would not only be useful to the user: Claude seems not aware about temporal context at all, leading to at times suboptimal output because of that.

chapelsoftware · 5 months ago

Yes, would love this.

nacansino · 5 months ago

Please put this feature

paralaxsd · 5 months ago
It would not only be useful to the user: Claude seems not aware about temporal context at all, leading to at times suboptimal output because of that.

I since learned that for Claude Code, a UserPromptSubmit-hook in the settings json can inject a timestamp into each prompt which is really powerful.
I'd love to be able to do this in the Desktop version as well.

wmartin1986 · 5 months ago

this is really needed

ProducerGuy · 4 months ago

Hey @paradoxlabdev — I needed second-precision timestamps for correlating with server logs too. Built claude-timecodes — timestamps every message and tool call down to the second. Has a short format (2:44:51 PM) that's easy to match against logs.

s-a-s-k-i-a · 4 months ago

I built a plugin for claude cli that addresses this as a workaround until native support lands:

claude-code-timestamps — adds a /timestamps command that displays a timestamped message timeline from your current session's transcript data.

--- Message Timeline ---

14:02  You     Can you refactor the auth module?
14:02  Claude  I'll start by reading the current auth implementation...
14:05  Claude  I've refactored the auth module. Here's what changed...
14:32  You     Looks good. Now add tests for the new token refresh logic.
  • Uses HH:MM for same-day, YYYY-MM-DD HH:MM for older messages
  • Reads existing transcript JSONL — no data collected, everything local
  • Install: clone, add to settings.json, restart

A native UI integration would obviously be better, but this can help in the meantime.

thejunglewalrus · 4 months ago

Please add this

ghost · 3 months ago

Such a simple feature, please add support for Claude Code/VSCode timestamps.

zoharbabin · 2 months ago

For the interactive conversation view, this hooks-based plugin prepends local-time [HH:MM:SS] to each assistant message as it renders: https://github.com/zoharbabin/claude-code-message-timestamps

/plugin marketplace add zoharbabin/claude-code-message-timestamps then /plugin install message-timestamps@zoharbabin-claude-tools — Claude Code 2.1.152+, cross-OS, MIT. (see #2441)

s-a-s-k-i-a · 2 months ago

Following up: the plugin I posted earlier is now at v2 — the retrospective /timestamps timeline gained day dividers and idle-gap markers, plus an optional (experimental) live inline [HH:MM:SS] on each message via the MessageDisplay hook, which is display-only and therefore costs 0 tokens. Toggle with /timestamps inline on|off.

Install: /plugin marketplace add s-a-s-k-i-a/claude-code-timestamps/plugin install chat-timestamps@chat-timestamps.

Showing cached comments. Read the full discussion on GitHub ↗