---
title: Scholar Sidekick for VS Code
description: Lint your BibTeX bibliography inside VS Code, Cursor, Windsurf, or Positron - catch claimed-vs-resolved mismatches (the AI-fabrication pattern), retractions, and missing open-access copies, as inline diagnostics. Free, no API key.
doc_version: "1.0"
last_updated: "2026-06-04"
---

# Scholar Sidekick for VS Code

> A linter for your .bib file. Catch fabricated citations, retractions, and missing open-access copies before you submit.
> Last updated: 2026-06-04
> HTML version: https://scholar-sidekick.com/integrations/vscode
> Marketplace: https://marketplace.visualstudio.com/items?itemName=scholar-sidekick.scholar-sidekick-vscode
> Open VSX: https://open-vsx.org/extension/scholar-sidekick/scholar-sidekick-vscode
> Source: https://github.com/mlava/scholar-sidekick-vscode

Most tools in your writing stack already insert and format citations well. The risky moment is the **bibliography you're about to submit**: a `.bib` assembled from a collaborator's references, an old project, or an AI-generated reading list, where a *claimed* title may not match what its identifier actually resolves to. This extension lints that file in place - so a fabricated or retracted reference is caught in the editor, not by a reviewer.

> This is not a citation inserter. Quarto's editor already looks up a DOI and inserts the citation; Zotero + Better BibTeX manages your library and exports `.bib`. The extension adds the one thing neither does: a *claimed-vs-resolved* fabrication check, plus retraction and open-access status, on the references you already have.

## How it works

1. Open a `.bib` file and save it - or run **Scholar Sidekick: Verify Bibliography** from the Command Palette.
2. Each entry's identifier and claimed title are sent to the Scholar Sidekick API - verification, retraction, and open-access.
3. Problems appear as native diagnostics anchored to the offending entry, with a status-bar tally and full detail on hover.
4. You fix or remove the flagged references before the bibliography reaches your manuscript. Nothing in your workspace is changed automatically.

## What it flags

| Result | Meaning |
|---|---|
| Verified | The claimed title matches the metadata resolved from the entry's identifier. No squiggle. |
| Possible fabrication | The claimed title disagrees with what the identifier resolves to - the dominant AI-fabrication pattern (real DOI, invented title). Red error diagnostic. |
| Retracted / correction | The work has a retraction, correction, or expression of concern on record (Crossref / Retraction Watch). |
| Not found / ambiguous | The identifier did not resolve, or the work may exist under a different identifier - review manually. |
| Unverifiable | The entry carries no resolvable identifier - reported as unverifiable, never silently counted as clean. |

Open-access status and the best legal URL appear in the hover card (enable `scholarSidekick.checkOpenAccess`) rather than as a squiggle - flagging every open-access paper would be noise in a verifier.

## How it catches fabricated citations

When an entry has a claimed title and an identifier, the extension cross-checks the claim against the metadata the identifier actually resolves to (via Crossref, PubMed, and OpenAlex). The failure mode documented by Topaz et al. (Lancet, 2026) - a real DOI paired with an invented title and authors - shows up as a red diagnostic with the resolved title, so you can see exactly what the identifier really points to.

## Supported editors

VS Code (Visual Studio Marketplace), plus Cursor, Windsurf, Positron, and VSCodium (Open VSX, the registry those editors use). Positron is where many Quarto and R Markdown authors write.

## Supported identifiers

DOI, PMID, PMCID, ISBN, ISSN, arXiv ID, and ADS bibcode, read from the standard BibTeX fields (`doi`, `pmid`, `isbn`, `eprint` + `archivePrefix`, etc.). Entries with no resolvable identifier are reported as unverifiable rather than guessed at.

## Privacy

- The extension sends only the bibliographic entries it checks - it does not read the rest of your workspace.
- Requests go directly to `https://scholar-sidekick.com` (`/api/verify`, `/api/retraction-check`, `/api/oa-check`).
- No API key required; the anonymous tier is used by default. Set a Scholar Sidekick key (`ssk_…`) in settings for higher rate limits.
- Inputs are not retained or used for training. See the [privacy policy](https://scholar-sidekick.com/legal/privacy) for full disclosure.

## Install

Search "Scholar Sidekick" in the Extensions panel of your editor, or install from a registry:

- VS Code Marketplace: https://marketplace.visualstudio.com/items?itemName=scholar-sidekick.scholar-sidekick-vscode
- Open VSX (Cursor / Windsurf / Positron / VSCodium): https://open-vsx.org/extension/scholar-sidekick/scholar-sidekick-vscode

Verification runs automatically on save (toggle with `scholarSidekick.verifyOnSave`). Source on GitHub (MIT licensed): https://github.com/mlava/scholar-sidekick-vscode

## Related

- [Integrations index](https://scholar-sidekick.com/integrations) - all first-party integrations
- [Zotero plugin](https://scholar-sidekick.com/integrations/zotero) - verify a bibliography before importing it into your library
- [Citation verifier](https://scholar-sidekick.com/tools/citation-verifier) - the same fabrication check as a free web tool
- [MCP server](https://scholar-sidekick.com/mcp) - citation tools for Claude, Cursor, and other agents
- [API docs](https://scholar-sidekick.com/docs) - REST + OpenAPI spec for programmatic access from any client

## Sitemap

See the full [sitemap](https://scholar-sidekick.com/sitemap.md) for all pages.
