Because the model remembers APIs from other libraries, older versions, or nowhere at all. It writes a function, method or option that sounds right for the library, and the code looks fine until it's compiled or run.
Cursor's own documentation gives an example: import { debounce } from "react", a function React doesn't export. It's worse with less popular libraries and after version changes, when the model's memory of an API is out of date.
Check stops a TypeScript write that uses a function, method, export or option a library doesn't have. Your project's own TypeScript (version 5 or 6) decides, against the library's own type definitions, so the answer comes from the library itself, not from a model.
100 free blocks, then A$0.10 for each action Check stops, from a prepaid balance. Allowed actions are always free. No subscription. Windows and Linux; macOS isn't supported yet. Get your key at the console, then run this in your own terminal:
npx @golproductions/check@latest --install
Or add Check as a plugin for Claude Code, Gemini CLI, Copilot CLI or Codex: the guide. Everything Check checks, and what it lets through: What Check does.
100 free blocks. Get your GOL API Key at the console.