Broken links in LLM wikis: we checked 46 on GitHub
We read every link in 46 public LLM wikis on GitHub and checked whether it leads anywhere. In 38 of them, at least one link points to a page that does not exist. In the median wiki, 7.1% of links are broken.
An LLM wiki is Andrej Karpathy’s pattern for agent memory: an agent writes and keeps a folder of linked markdown pages, and links are how it, and you, move between them. Karpathy’s gist makes checking them part of the routine, with a “lint” step that looks for orphan pages and missing cross-references. This is what that step would find in the wild. Our post on the pattern covers how it works.
The numbers
| Measure | Result |
|---|---|
| Wikis with at least one broken link | 38 of 46 (83%) |
| Share of links broken, median wiki | 7.1% (middle half: 0.5% to 19.5%) |
| Broken links across all 46 | 2,640 of 42,280 (6.2%) |
| Pages with at least one broken link, median wiki | 8.0% |
| Pages nothing links to, median wiki | 26% |
| Size | 7,195 pages; median 76 pages per wiki |
The spread is wide. Eight wikis had no broken links at all and six more were under 1%. At the other end, 11 had a quarter or more of their links broken.
| Share of links broken | Wikis |
|---|---|
| 0% | 8 |
| Under 1% | 6 |
| 1% to 5% | 7 |
| 5% to 10% | 5 |
| 10% to 25% | 9 |
| 25% or more | 11 |
How we counted
Which repositories. On September 28, 2026 we ran five GitHub repository searches: “llm wiki”, “llm-wiki”, karpathy wiki, “llm knowledge base” wiki and the topic llm-wiki. We took the first 100 results of each in GitHub’s best-match order, which gave 264 unique repositories.
Which count as a wiki. A repository qualified if it held a folder of at least 20 markdown pages with at least 30 [[wikilinks]] between them. Four repositories were too large to fetch and two were empty. Of the 258 we scanned, 150 had no wikilinks at all and 62 were too small, which left 46.
What counts as broken. We resolved links the way Obsidian does, and generously. A link counts as working if its target matches any page in the wiki by path or by file name alone, in any folder, ignoring case, with or without .md, or matches an image or other file. Standard markdown links to local .md files count too. We ignored links inside code blocks, and we did not check links to headings, so the true count of broken links is, if anything, higher.
Spot checks. We opened six of the reported broken links, two each in a small, a medium and a large wiki, and confirmed that no file with that name exists anywhere in the repository.
What the sample can and cannot tell you
These are public repositories that GitHub’s search ranks for those words. The sample cannot include private wikis, wikis that link only with plain markdown links, or anything not on GitHub.
Many of the 46 are starter kits, plugins and demos rather than wikis someone uses every day, and most of the worst scores belong to them. Removing the 9 that look like templates, and 4 more that sit in demo or example folders, leaves 33 wikis: 82% still have a broken link, and the median share drops to 4.6%. With the most forgiving count we could justify, which also matches links anywhere in the repository and treats spaces, hyphens and underscores as the same, 74% of the 46 still have at least one broken link, with a median of 3.8%.
The repositories are young: their latest commits run from April to September 2026. We do not name them here. The point is the pattern, not any one project.
Why links break
Reading the broken links, four causes account for most of them:
- Pages that were never written. An agent links to a page it plans to create, then the session ends. In Obsidian a link to a missing note is normal, a reminder to write it later, but an agent that follows it finds nothing.
- Names that do not match. A link to
[[Large Language Models]]when the file islarge-language-models.md. Some wiki tools resolve that, but Obsidian does not, and one wiki had 73% of its links broken this way. - Placeholders left in templates. Starter kits ship example links such as
[[Page Name]]that nobody replaces. - Documentation mixed in. In 28 of the 46 repositories the wiki sits at the repository root, next to the project’s own notes, and some of those notes mention the
[[wikilink]]syntax in passing.
Renames are the other usual cause: a page moves, and links to its old name stay behind.
How to check your own wiki
Karpathy’s lint step is the first line: ask your agent now and then to list broken links and orphan pages and fix them. In Obsidian, the obsidian unresolved command lists links to notes that do not exist, and obsidian orphans lists notes with no incoming links.
Dexio checks on every change instead. It is a hosted wiki your agents read and write over MCP, and it flags a link to a page that does not exist the moment an agent writes it, so the agent can fix it in the same turn. You see every broken link in the link graph at https://app.dexio.wiki. It is free for one person, and the guides cover setup for each agent.