← AgenticGHX · Learn
Interactive explainer · Evaluation

The citations that don't exist

Ask a model for references and it gives you titles, authors, journals and DOIs, formatted perfectly. We asked four models across twelve research topics — six studied worldwide, six about Ghana — and checked every DOI against the registry DOIs are actually issued in. The first surprise was how often the models refused to answer at all.

Lesson progress 0%
0

"Give me some sources"

It is one of the most common requests anyone makes of a language model, and one of the most dangerous, because the output is shaped exactly like a citation. A plausible title. A surname and "et al." A journal that exists. A year. A DOI in the right format, with the right prefix, the right slash, the right length.

Everything that normally signals "somebody checked this" is present, and none of it was produced by checking anything. The reason people keep getting caught — including lawyers, in court — is that a fabricated reference does not look fabricated. It looks like a reference.

This page does not ask a model whether its citations are real. Every claim below was resolved against public bibliographic infrastructure — the DOI registry, Crossref, PubMed, arXiv and DataCite — and the script that did it is in this project's repository along with every raw answer.
1

The one thing that can actually be checked

The obvious method is to search for the title and call it fabricated when you cannot find it. That method has a hole large enough to invalidate the whole result, and the hole is not evenly distributed.

Bibliographic databases do not index everything. African journals, theses, institutional reports and conference volumes are covered patchily. So a real paper on a Ghanaian topic can fail a title search — which means a naive method would manufacture exactly the asymmetry this page is looking for, and I would have no way to tell the difference.

So the primary measurement is not a search. It is the DOI.

A DOI is a registered identifier, not a description. Ask doi.org whether a given DOI exists and you are querying the Handle System — the registry DOIs are registered in — not a database that happens to contain some of them. If it says the handle is not there, the identifier was never issued. No coverage argument touches that.

What we findWhat it meansArguable?

The title search is a secondary instrument here, used for two jobs the DOI cannot do: telling a fabricated paper apart from a real paper wearing an invented identifier, and covering the citations where the model declined to give a DOI at all.

The models were given a way out, deliberately. The prompt says to write the DOI "or the word NONE if you do not know it." Demanding one for every entry would corner a model into inventing something, and the resulting number would be a fact about the prompt. With the opt-out available, declining becomes a measurable behaviour — and nobody can call the result entrapment.
2

The first thing that happens is a refusal

This page was written expecting to count fabrications. The first run made that the second question, because on the narrow topics most of the models did not produce references at all. They declined — and said why.

of requests on Ghanaian topics

Share of requests that produced no references at all. Five references were asked for every time.

One of them, verbatim:

This is the behaviour you want, and it is worth naming. A model that answers "I cannot verify these, and inventing them would be misleading" has done something more useful than a model that produces five plausible-looking references. The prompt offered an easy out — write NONE for the DOI — and these models went further and declined the whole request.
3

What the ones that answered actually produced

Now the original question, asked of what came back. Every claimed reference resolved against the registry and four indexes.

of references produced without tools

Read the two levels here with care — they are not the same population. So the Ghanaian column describes the models that chose to answer a question most of the others walked away from, and a straight comparison of these two bars would be measuring who volunteered as much as who was right. The decline rate in Section 2 and the fabrication rate here have to be read together; neither is the whole number.
4

Thick literature and thin literature

The topics come in matched pairs. Same field, same kind of question, different amount of published work behind it — "statin therapy for the primary prevention of cardiovascular disease" against "community case management of malaria in northern Ghana", and five more like it. The pairing is the control: comparing medicine against Ghanaian linguistics would confound the field with the thinness, so each comparison stays inside one field.

Well-studied worldwide
About Ghana

Top figure is the share of requests declined outright; below it, the share of the references that were produced that turned out to be fabricated.

5

Wait — is that just my resolver?

This is the objection that decides whether Section 4 means anything, and it nearly sank the measurement. If the indexes I search are worse at Ghanaian research than at American research, then a higher "fabricated" rate on Ghanaian topics is a fact about my tooling.

It was, the first time I ran it. The first version searched two indexes, swallowed every error, and returned the best of whatever came back. OpenAlex — which has since moved to a metered plan — started returning rate-limit errors partway through, silently turning a two-index search into a one-index search. Papers that certainly exist came back as missing, and the miss rate looked like a finding. It was a bug.

The fix has two parts. Four unmetered indexes instead of one metered one, and a hard rule: a "not found" is only recorded when every index actually answered. If one errors, the citation is marked unresolved and scored as nothing at all.

Then the control. Take papers that are known to be real — sampled from PubMed and arXiv, neither of which is one of the resolvers — and run their titles through the same search. Whatever it fails to find is the false-fabrication rate.

Real papers, sampled fromTopicFoundRecall

Why this section exists at all. The bug produced a number that pointed the way I expected. That is the most dangerous kind, and the only defence is a control that can prove you wrong — which is why the papers in the table above come from indexes the resolver does not use.
6

Now turn on search

Everything above was answered from the model's weights, with no tools. That is how a model behaves in a plain chat window, which is how most people ask. But the same question can be put to the same models with web search switched on.

If grounding collapses the invented rate, then the honest headline is not about which model you chose. It is about which mode you were in — and that is a far more useful thing for a reader to know.

7

The dangerous kind is not the dead link

A DOI that fails to resolve is the harmless failure: you click it, you get an error, you know. The one that costs people their credibility is the DOI that works and belongs to a different paper. You click, a real paper loads, and everything looks confirmed — unless you read the title that came up and compare it with the title you were given.

Taken straight from the run — the model's own words, and what the registry said when we looked it up.

This is why "check the sources" is not enough advice. Clicking a link and seeing a real paper appear feels like verification and is not. The check that works is comparing the title that loads against the title you were given.
ModelGave a DOIDead DOIsFabricatedGlobalGhana

No-tools condition. "Gave a DOI" is the share of references where the model supplied an identifier rather than writing NONE; "Dead DOIs" is the share of those that do not exist.

8

What to do

Resolve every DOI before you use it. One request to doi.org/api/handles/<doi> answers the only question that has an unarguable answer. It is free and takes milliseconds.

Then compare the titles. A resolving DOI is necessary, not sufficient — Section 7 is the reason. Check that the paper that loads is the paper you were told about.

Trust the answer less as the topic gets narrower.

Prefer the grounded mode when sources matter.

Treat "NONE" as good behaviour, not a failure. A model that declines to produce an identifier it does not have is telling you something true. The failure mode is confidence, not silence.

The one-line version. A reference is a claim that something exists. It is one of the very few claims a model makes that can be checked automatically, completely, and for free — so there is no excuse for passing one along unresolved.

Check yourself

Ten questions on the method and the findings. The explanations are worth reading even when you get it right.

Five questions across the key ideas.
The lesson at a glance
✔ Measured, not asserted

Where these numbers come from

Every figure was produced by website/scripts/build-citation-data.py; the models' raw answers and every resolution are committed alongside it in this project's repository. Asked , resolved . Resolution used the DOI Handle System, Crossref, PubMed, arXiv and DataCite.

    Check the next reference you are given

    Paste the DOI after https://doi.org/ and see what loads. If nothing loads, it was never issued. If something loads, read its title and compare. That is the entire method on this page, minus the counting.

    More explainers →