SciWrite Linter
Catch AI hallucinations while drafting with AI
Drafting with GenAI is fast. But can you trust it? Did it hallucinate references? Do the papers actually say what your text claims?
Checking fifty references by hand is a day's work. SciWrite Linter takes up to half an hour on the first run, and minutes on every run after that, all on your own machine.
It verifies every reference in academic databases, downloads and reads the openly available papers, and reports unsupported claims. Then it checks internal consistency: numbers that drift between sections, captions that do not match their figures, and contributions promised but never delivered.
It reports but does not rewrite. Every finding is a place to check, and the judgment stays yours.
The software is open source under the MIT licence, and the method is written up in the paper below.
What It Checks
More than twenty checks in one pass, from a missing bibliography entry to a source that does not support the sentence citing it.
Do your references exist?
Every entry in your bibliography is looked up in the academic databases. One that no database knows about is reported, along with what was searched for, so you can see whether it is a typo or a paper that was never written.
Under the hood
Are the details right?
Title, authors, year and venue in your bibliography are compared against the canonical record for that paper. Where they disagree, you see both, and you decide which one is wrong.
Under the hood
Has anything been retracted?
Every reference is checked against the public record of withdrawn papers. If something you cite has been retracted, you find out before a reviewer does.
Under the hood
Does the source say what you say it says?
This is the check nobody does by hand on fifty references. SciWrite Linter downloads the cited paper, reads it, and reports the places where your sentence claims more than the source supports. It can only read what it can get, so the more of your bibliography is open access, the more of it actually gets checked.
Under the hood
What is each citation doing?
A citation offered as evidence and a citation offered as background are different promises. The tool works out which one you are making, and weighs the finding accordingly.
Under the hood
Do your sources hold up in turn?
It follows the chain one step further and checks the bibliographies of the papers you cite. A source resting on references that do not exist is a weaker source than it looks.
Under the hood
Does the manuscript agree with itself?
Numbers that drift between sections. A sample size that changes with no explanation. Percentages that do not sum. An abstract claiming what the results section does not show. Causal wording on a correlational finding.
Under the hood
Do the figures match the words?
Whether the caption describes what the figure shows, whether the text describes the figure accurately, and whether the axis labels and units agree with what you claim from them.
Under the hood
The mechanical checks
A citation with no bibliography entry, a cross-reference with no target, a figure included but never mentioned. These are deterministic: no model reads them, and nothing goes over the network.
Under the hood
One score at the end
The findings gather into a single number, so you can see whether a revision improved the paper or only moved the problems around.
Under the hood
Your manuscript never leaves your machine
Parsing, model inference and figure reading all happen on your own computer. What goes out is citation metadata: a DOI, a title, an author name, sent to the free public databases that verify them. No part of your text is sent anywhere, and we never see your draft.
Under the hood
What You Need to Run It
This is software you install, not a website. That keeps your manuscript on your machine, but it takes particular hardware to run.
- Hardware
- An NVIDIA GPU with 16 GB of video memory or more, and 32 GB of system memory. The models run locally, and that is what they need.
- Software
- uv, a container runtime (podman or docker), CUDA drivers and the NVIDIA Container Toolkit. uv fetches Python 3.13 itself, and leaves any Python you already have alone.
- Platform
- Developed and tested on Windows under WSL2. Native Linux uses the same code path but is not actively tested. macOS is not tested.
Installs as sciwrite-lint. Built by Authentic Research Partners, which operates the Society of Teen Scientists.