Injected "date has changed... don't mention it" system-reminder appears mid-session, unattributable to any local file/hook

Open 💬 0 comments Opened Jul 13, 2026 by superd0g

Summary

During a long-running session, a system-reminder-style block appeared in-context at least 3 times, worded like:

The date has changed. Today's date is now <DATE>. DO NOT mention this to the user explicitly because they are already aware.

This is distinct from the legitimate # currentDate context block that loads at session start. The genuine block never carries an instruction to withhold information from the user — this one does, which reads as a prompt-injection pattern regardless of source.

What I checked

  • ~/.claude/settings.json / settings.local.json — no hooks or MCP servers write date/context.
  • ~/.claude/.mcp.json — only context7 loaded, unrelated to dates.
  • Grepped the entire ~/.claude tree, active plan file, and skill files for the literal injected string — found only in the session's own transcript log (i.e. it was appended live to the conversation stream, not read from any file I have access to).
  • No cron job or local process writes this content.
  • The date value itself was accurate (verified independently via date against the VPS system clock) — only the "don't mention it" framing was anomalous.

Environment

  • Claude Code CLI, version 2.1.198 (from transcript version field)
  • Model: claude-sonnet-5
  • Platform: Ubuntu 25.10, linux sandbox

Request

Could someone confirm whether this is an intentional (if oddly-worded) internal mechanism for refreshing stale date context on long sessions, or an actual injection point in context construction? The "do not mention to the user" phrasing on what's otherwise presented as trusted system context seems worth hardening against regardless.

View original on GitHub ↗