verify — is this true?
npx verify-anything "The Eiffel Tower is located in Berlin. It is 330 metres tall and was completed in 1889. Apollo 13 landed on the Moon in 1969."
✗ The Eiffel Tower is located in Berlin.
█░░░░░░░░░ 10% Evidence contradicts the claim (en.wikipedia.org +1)
↳ https://en.wikipedia.org/wiki/Eiffel_Tower
“The Eiffel Tower is a lattice tower on the Champ de Mars in Paris, France.”
✓ The Eiffel Tower is 330 meters tall.
████████░░ 77% Directly supported by 1 source (single source)
↳ https://en.wikipedia.org/wiki/Eiffel_Tower
“Eiffel Tower. Height Architectural 300 m (984 ft) Tip 330 m (1,083 ft)”
✓ The Eiffel Tower was completed in 1889.
████████░░ 80% Directly supported by 1 source (single source)
↳ https://en.wikipedia.org/wiki/Eiffel_Tower
“Eiffel Tower. Construction started 28 January 1887 … Completed 31 March 1889”
✗ Apollo 13 landed on the Moon in 1969.
█░░░░░░░░░ 10% Date mismatch — the claim's date does not match the source
↳ https://en.wikipedia.org/wiki/Apollo_13
Verdict: 2 ✓ 2 ✗ 0 ? 2 contradicted
(Real output, 2026-10-17, --thorough. The quoted line under each verdict is the exact span the
verifier judged — so you can check the check. --verbose prints every source it weighed.)
Every AI answer, every page an agent reads, every claim in a doc — nobody can tell what's true.
verify takes any input, extracts every factual claim, and judges each one against live web
evidence: verified / contradicted / unverified, with confidence, the source, and the reason.
- Any input — a sentence, a paragraph, a URL, a file, or
stdin (paste a ChatGPT answer)
- Every agent —
verify mcp exposes a verify tool; verify setup adds it to Claude Desktop,
Claude Code, Cursor, Windsurf, Codex and Gemini CLI in one command. Your agent gets a conscience:
verify before you answer.
- Real verification, not vibes — claim-level NLI entailment against fetched sources, cross-source
consensus, contradiction detection, live citation checks. Powered by the open
LastSearch engine.
- Honest — confidence is an evidence-based estimate, not a guarantee; sources are shown so you can check.
Use
npx verify-anything "<text>"
npx verify-anything https://example.com
npx verify-anything report.md
pbpaste | npx verify-anything
npx verify-anything ... --verbose
npx verify-anything ... --json
Keyless use is rate-limited. Get a free key at lastsearch.ai and
export LASTSEARCH_API_KEY=ls_...
Give your agent a conscience
npx verify-anything setup
Then: "Draft the answer, then run verify on it before you show me."
Library
import { verifyText } from "verify-anything";
const r = await verifyText("...", { depth: "thorough" });
r.claims.forEach(c => console.log(c.status, c.confidence, c.text));
Limits (read this)
Verification is only as good as the evidence found and the verifier reading it. It will miss things
and occasionally be wrong; thorough (the default) uses the stronger verifier. Treat the output as a
fast, sourced second opinion — not an oracle.
Apache-2.0 · built on LastSearch · report issues