[FEATURE] Expose per-message timestamps to the model for temporal reasoning in conversations
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
Claude knows today's date at the start of a conversation, but has no awareness of when each individual message was sent. In multi-day conversations, this causes incorrect temporal reasoning.
For example: on Monday I tell Claude "I'll submit the report on Wednesday." On Wednesday I come back to the same conversation and ask a follow-up. Claude may still refer to Wednesday as a future event, or remind me to "prepare for Wednesday," because it has no way to know that two days have passed between messages. It treats the entire conversation as if it happened in a single moment.
This isn't a UI issue. The timestamps may or may not be displayed to the user. The core problem is that the model itself doesn't receive timestamp metadata in its context, so it cannot reason about the passage of time across turns.
Proposed Solution
Inject a timestamp (ISO 8601 or similar) into the context for each user and assistant message, as metadata the model can read. For example, each turn could carry something like:
[2026-03-31T09:14:00+02:00] User: I'll submit the report on Wednesday.
[2026-03-31T09:14:05+02:00] Assistant: Sounds good...
[2026-04-02T18:30:00+02:00] User: Any updates on what I should prioritize?
The model would then see that the second user message is on Wednesday evening and reason accordingly — e.g., "You mentioned submitting the report today. Have you sent it yet?" instead of "Don't forget to submit it on Wednesday."
This should apply across all Claude interfaces (claude.ai web/mobile, Claude Code, API) wherever multi-turn conversations persist across time.
Alternative Solutions
_No response_
Priority
Medium - Would be very helpful
Feature Category
API and model interactions
Use Case Example
- Monday morning: I open a new Claude conversation and say, "I have a demo with a client on Thursday. Help me prepare a checklist."
- Claude generates a checklist with items like "finalize slide deck by Wednesday" and "do a dry run Wednesday evening."
- Wednesday evening: I return to the same conversation and say, "OK, what's left to do?"
- Current behavior: Claude may say "You still have until Wednesday evening for the dry run" not realizing Wednesday evening is right now.
- Expected behavior: Claude sees the timestamp on my new message, recognizes it's Wednesday evening, and says "The dry run was scheduled for tonight, have you done it yet? Tomorrow's the demo, so here's what to focus on."
Additional Context
The closest prior request is #18582 ("Expose message timestamps from Claude Code CLI to Claude for elapsed time calculations"), which asked for the same core idea: making timestamps available to the model in the conversation context. It was closed as not planned after going stale with no team engagement. This request differs in scope; it targets claude.ai and all Claude interfaces (not just Claude Code CLI), and frames the problem around temporal reasoning in multi-day conversations rather than elapsed-time tracking for productivity metrics.
Other related issues, all scoped to Claude Code CLI:
#34530 — Requests full timestamp (date + time + timezone) in the system context, refreshed each turn. Still open. Closest active issue but focuses on "current time" awareness, not historical per-message metadata.
#30062 — Describes Claude making wrong time assumptions when a session spans overnight. Closed as duplicate.
#18582 — Described above. Closed as not planned / stale.
#31271, #26088, #28717, #28531, #30144, #24349, #4173, #5328, #2441 — All request displaying timestamps to the user in the Claude Code terminal UI. These are purely cosmetic and don't address model-facing context.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗