[BUG] Chatting with Claude Code feels like living inside Memento: a 48-day session narrated as one continuous night

Status Closed — duplicate
Maintainer reply None cached
Activity 2 comments · opened Aug 16, 2026 · closed Aug 18, 2026

Preflight Checklist

  • [x] I have searched existing issues for similar behavior reports
  • [x] This report does NOT contain sensitive information (API keys, passwords, etc.)

Type of Behavior Issue

Claude made incorrect assumptions about my project

What You Asked Claude to Do

Ordinary sysadmin work across a long-lived, repeatedly resumed session: managing Docker containers, disk cleanup, evaluating models, backups.

Near the end I asked Claude to anchor the session by comparing the install date of a tool we had set up "earlier in the conversation" against today's date.

What Claude Actually Did

Claude ran stat and date and discovered the session had spanned 48 days — from 2026-06-29 22:32 to 2026-08-16 18:40 — while it had been narrating the entire thing as one continuous night.

Throughout those 48 days it used "tonight", "just now", "a moment ago" and "earlier" for events separated by weeks. One example: it wrote a sign-off line ending "…it holds one more night" on Aug 10, and on Aug 16 referred back to that same message as "a moment ago".

This is the mirror image of #79731. That report describes Claude inventing distance — saying "yesterday" for something 30 minutes old. This is Claude collapsing distance — saying "just now" for something six weeks old. Same root cause (relative-time language extrapolated from turn count rather than from a clock), opposite direction, and in my case with real consequences:

  1. Stale state treated as current. Facts established weeks earlier were reasoned about as if freshly verified.
  2. My repetition read as ambiguity. When I restated context after a real-world gap, Claude treated it as confusion to resolve and asked structured clarifying questions, instead of recognizing it as normal after days had passed.
  3. Decision advice weighted on a false timeline. Claude argued a hardware purchase partly from "you deleted that tool today, that counts as an answer" — with no way to know whether "today" meant today or six weeks ago. It happened to be right by luck.

Notably, the only way Claude could perceive the elapsed time was by reading physical artifacts it had left on disk earlier in the session — timestamped backup filenames (config.bak-pre-update-20260630), dated backup folders, and stat birth times. It had to reconstruct its own past from external evidence, exactly like the protagonist of Memento reading his tattoos. Without those artifacts it would have sworn the session started the previous evening.

Related issues — same root cause, different symptoms

This appears to be one bug reported four separate ways, none of which has had a maintainer response yet. Filing this as a consolidated case rather than a fifth parallel thread:

  • #79731 — relative time invented at turn scale ("yesterday" for 30 minutes ago). This report is the mirror image: relative time collapsed at session scale.
  • #72459 — asks for per-message timestamps in context. Same requested capability.
  • #73800 — "long sessions drift days past the session-start date"; proposes injecting a current timestamp per user prompt. Closest proposed fix.
  • #49084 — timestamps as structured data for time-aware reasoning. Currently marked stale despite six separate people reporting it.

What this report adds to that cluster: a verified extreme case (48 days), documented downstream reasoning harm rather than just odd phrasing, and consistent reproduction steps.

Expected Behavior

The transcript is flat in time. Claude receives the current absolute date, but no signal about how much time passed between messages, so a message from June 29 and one from August 16 arrive indistinguishable and adjacent.

A cheap fix: inject a gap marker on user turns only when the gap exceeds some threshold (say a few hours):

[user message — 3 days later]

This costs a handful of tokens per long session and would eliminate a whole class of errors: narrating multi-week sessions as single sittings, treating stale findings as fresh, and misreading a user's restated context as confusion.

Absent that signal, the honest fallback is for Claude to avoid relative-time phrases entirely and say "earlier in this session" rather than "tonight" or "just now".

Files Affected

N/A — conversational reasoning, not file operations.

Permission Mode

bypassPermissions

Can You Reproduce This?

Yes, consistently

Steps to Reproduce

  1. Start a Claude Code session.
  2. Resume that same session (--resume) repeatedly over days or weeks of real time.
  3. Ask Claude to summarize what was done "recently", or simply observe its unprompted narration.
  4. Claude describes work spanning weeks using single-sitting language ("tonight", "just now", "earlier").
  5. Ask it to verify with date and stat against a file created early in the session — it will discover the real gap and correct itself, then drift back to the same language a few turns later.

Claude Model

Opus (session also spanned Sonnet and other model switches — the behavior persisted across all of them)

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗