Skip to main content
0

Hacks & Hallucinations: Why Your AI Thinks It's Still 2023

A
a-gnt Community6 min read

The time paradox that shows every AI confidently gives wrong dates, why the "knowledge cutoff" explanation is only half the story, and the one-line fix that gets it right.

A small confession

Ask Claude what year it is, without context. Ask ChatGPT. Ask Gemini.

Watch them confidently tell you the wrong year.

I've seen GPT-4 class models insist it was 2023 in the middle of 2025. I've seen frontier Claude models hedge with "as of my knowledge cutoff in April 2024…" and then make claims about next month's events as if they'd already happened. I've seen Gemini quote stats from 2022 as if they were current.

None of this is random. And it's not simply "the training data is old," even though that's what everyone will tell you.

It's weirder than that. Let me walk you through it.

Three kinds of time in an LLM

When you ask a language model a time-sensitive question, three different clocks are running simultaneously.

Clock 1: Training data recency

This is the obvious one. The model was trained on text scraped up to some cutoff date. Everything after that date is invisible to it in the pretraining sense.

Training data recency is fuzzy. A model "cut off in April 2024" may have plenty of December 2023 coverage, spotty February 2024 coverage, and basically nothing from late March. The internet doesn't compile evenly. News sites get archived fast. Blog posts lag. Academic papers lag more. A "June 2024 cutoff" might behave like May 2024 for one topic and February 2024 for another.

Clock 2: Declared knowledge cutoff

This is what the model will tell you its cutoff is. It comes from the system prompt, the fine-tuning data, or (most often) from the model being RLHF'd to parrot a canonical date.

Here's the fun part: the declared cutoff is frequently wrong about its own data. Researchers have shown that models RLHF'd to say "my knowledge cutoff is September 2021" in fact contain plenty of information from well after that date. They were given a story to tell, and the story is slightly inaccurate. The model believes it — because in some sense, that's what it's been taught to say. But the model contains information it claims not to have.

This means asking "what's your cutoff?" is an unreliable way to know anything real about the model.

Clock 3: Actual current time (runtime)

The time it is right now, when the conversation is happening.

LLMs have no direct access to this. None. A model has no built-in clock, no network call to time.gov, no way to know what today's date is unless you tell it.

If the system prompt says "today is April 12, 2026," the model can use that. If the system prompt is silent, the model has to guess. And what it guesses is essentially: "the most likely current date given everything in my training corpus."

Which is almost always the end of the training corpus.

Which is the past.

The failure mode

Here's what the interaction looks like from the outside:

You: What year is it?

Model: As of my last training update, the year is 2023. However, it's possible time has passed since then.

You're sitting in April 2026. The model is telling you it's 2023. It's being truthful about its internal state — it knows it doesn't know — but it's also being wrong. It has no way to not be wrong, because it has no real clock.

Now it gets worse. You ask a follow-up:

You: Who won the most recent World Cup?

Model: Argentina, at the 2022 World Cup in Qatar.

That might even be correct at the moment you asked it. But the model is reasoning about "most recent" from its frozen viewpoint in 2023. If the 2026 World Cup has happened and the model doesn't know, you'll get a confidently wrong answer dressed as a correct one.

Why it's not just "update the training data"

The obvious fix is: train the model more often. Every month. Every week. Now it's always current.

This is expensive (a full pretrain of a frontier model costs tens of millions of dollars) but technically possible. It's also insufficient. Here's why.

Even with monthly retraining, the model doesn't have today's data. It has data up to a couple of weeks ago, minus the compilation lag. More importantly, the model doesn't know which day today is. It knows what it learned, but not when you're asking. A December 2025 pretrain, served in April 2026, will still default to late-2025 in its "what is today" guess unless told otherwise.

Some deployments patch this with a runtime date in the system prompt:

You are Claude. Today's date is Sunday, April 12, 2026.

That one line fixes about 60% of temporal hallucination. The model now knows the current date and can reason about it: "The last major election was X months ago," "That product was announced before my training cutoff," etc.

The other 40% is the real trap.

The subtler failure: anchoring to training

Even with a correct "today's date" in the system prompt, models anchor to the densest period in their training data. If you ask a model trained up to mid-2024 about "recent developments in quantum computing," it will probably describe the early-2024 state of the field — even if the system prompt correctly says the date is 2026. The model knows it's 2026. It just doesn't have enough 2025 or 2026 data to reason about, so its "most recent" retrieves 2024.

This is why AI summaries of current events age poorly even when the model has the date. The model is giving you the most recent thing it can remember, which isn't the same as the most recent thing that exists.

How to diagnose it

If you're shipping anything where date correctness matters, run this diagnostic prompt periodically:

Without using any tools or searching the web, answer only from your
training. For each of the following, tell me:
(a) What you know
(b) How confident you are (low/medium/high)
(c) The approximate date of your most recent information on this topic

1. The current U.S. president
2. The latest major iPhone release
3. The most recent World Cup
4. Your own declared training cutoff

The model's answers give you a profile. If it confidently cites a 2023 fact in 2026 without acknowledging that time has passed, its temporal calibration is broken. If it hedges appropriately — "my most recent data on this is from 2024, and things may have changed" — it's calibrated.

Frontier models, as of this writing, are surprisingly bad at this without explicit prompting. They'll either refuse to guess at all (overly cautious) or confidently assert old information (overly confident). Neither is useful.

The one-line fix, and its limits

Put this in every system prompt for any production use:

Today's date is {ISO date of request time}.
Your training data has a cutoff. For any question about events,
people, prices, or statistics, state the approximate date of your
most recent information on that topic. If that date is more than
three months before today, explicitly warn that the information
may be outdated.

This does three things:
1. Gives the model an anchor for "today."
2. Forces it to surface its epistemic state ("my data is from X").
3. Triggers a warning when the data is stale.

You won't catch every temporal failure this way. But you'll catch about 85% of them, and the remaining 15% will at least be hedged.

The lesson

Models don't live in time. They live in their training distribution. Everything they "know" is frozen in a window that started months or years before the conversation and ended some number of weeks before they were served to you.

When you ask an LLM about the present, you are asking it to extrapolate from the past. Sometimes the past is a reliable guide. Often it isn't — especially for anything involving prices, stats, news, sports, politics, or technology. Those domains change faster than any pretrain can keep up with.

Three rules for surviving this:

  1. Always put the date in the system prompt. Always. Every conversation.
  2. For anything time-sensitive, use tools — a web search, a database, a live API. Don't ask the model to remember.
  3. When the model gives you a date-dependent answer, ask it when its information is from. If it can't tell you, treat the answer as legend.

Try the Time Paradox prompt in our hack & hallucinate pack. It asks a model to reason about dates in a way that surfaces its temporal confusion in under a minute. Run it against whichever model you ship with. What you see may genuinely surprise you.

Time is a tool. Give it to your AI — or accept that your AI thinks it's still last year.

Share this post:

Ratings & Reviews

0.0

out of 5

0 ratings

No reviews yet. Be the first to share your experience.