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— onlycontext7loaded, unrelated to dates.- Grepped the entire
~/.claudetree, 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
dateagainst the VPS system clock) — only the "don't mention it" framing was anomalous.
Environment
- Claude Code CLI, version 2.1.198 (from transcript
versionfield) - 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.