DISPATCH · 26 AUG 2026

llms.txt v2: what changed and how to update your file

The August 2026 revision, change by change, with a short upgrade routine.


Agent Readiness Compare editors · Spec status checked September 2026

Agent Readiness Compare editors · · 5 min read

Answer

The llms.txt proposal on llmstxt.org was revised to v2 in August 2026. v2 adds link relations so pages can point to their markdown version and to the llms.txt that covers them, accepts both page.html.md and page.md URLs, defines what an llms.txt in a subpath covers, and drops the llms_txt2ctx tool and the special handling of the Optional section. The core file format is unchanged, so the main new work is adding link relations.

On this page
  1. 1. What is llms.txt, in one paragraph?
  2. 2. What changed in v2?
  3. 3. Does a v1 file still work?
  4. 4. How do you update your site for v2?
  5. 5. What does llms.txt still not do?
  6. 6. Sources

1.What is llms.txt, in one paragraph?

llms.txt is a markdown file at the root of a site, proposed by Jeremy Howard in September 2024. It starts with an H1 name, an optional blockquote summary, and H2 sections of links to the pages a language model or agent is most likely to need, each with an optional note. It is a curated index, not a sitemap, and it does not control crawling; robots.txt does that. Our llms.txt standard page covers the format.

2.What changed in v2?

The llmstxt.org page shows "Modified August 10, 2026", and its changes page lists what moved since v1. Five changes matter to site owners.

  1. Link relations. A page can point to its markdown version with rel="alternate" type="text/markdown" and to the llms.txt that covers it with rel="describedby", as an HTML <link> element or an HTTP Link: header.
  2. Markdown URLs. v1 specified appending .md to the full URL (page.html.md). v2 allows that form and also replacing the extension (page.md).
  3. Subpaths. v1 permitted llms.txt files in subpaths without saying what they meant. v2 defines it: a file covers the pages under its path, and the most specific file applies.
  4. Tooling removed. The llms_txt2ctx context-expansion tool is no longer part of the proposal, and the Optional section no longer has special mechanical meaning.
  5. Framing. The document now describes how agents use websites: agents view or search the llms.txt to find what they need.

3.Does a v1 file still work?

The core format, an H1, a summary and lists of links, did not change, so a v1 file remains a valid starting point. What v2 adds is a way for individual pages to announce their markdown twin and their covering llms.txt. That matters for an agent that lands on a deep page from a search result or a link, rather than starting at the root.

Two practical points follow. If you publish a single root file and no markdown versions, nothing forces a change. If you already publish markdown versions under the v1 page.html.md convention, those URLs stay valid under v2, so there is no need to rename them.

4.How do you update your site for v2?

  1. Audit the file. Open /llms.txt, confirm every link resolves, and remove pages that no longer exist or have moved.
  2. Choose one markdown URL form. If you publish markdown versions, pick page.html.md or page.md and use it everywhere. If your CDN serves markdown through Accept: text/markdown, as Cloudflare's Markdown for Agents does, decide whether you also want static .md URLs.
  3. Add link relations. In the head of each page that has a markdown version, add an alternate link to it and a describedby link to the covering llms.txt. Where you cannot edit HTML, send the same relations as Link: headers.
  4. Split large sites by path if it helps. A docs area at /docs can carry its own /docs/llms.txt; under v2 it covers the pages under /docs and takes precedence there.
  5. Review the Optional section. It is still a sensible heading for secondary links, but do not rely on tools treating it specially.
  6. Re-test. Fetch a deep page, follow its describedby link, and check that an agent can get from there to the facts it needs.
HTML head of /pricing (example)
<link rel="alternate" type="text/markdown" href="/pricing.md">
<link rel="describedby" href="/llms.txt">
The same relations as HTTP headers (example)
Link: </pricing.md>; rel="alternate"; type="text/markdown"
Link: </llms.txt>; rel="describedby"

5.What does llms.txt still not do?

It does not grant or block access; robots.txt and CDN bot rules do that. It does not expose actions; MCP, WebMCP and agents.json do. And it does not guarantee that an agent will read it. Treat it as a cheap, low-risk index that makes the read layer more predictable. For how it differs from agents.json, see llms.txt and agents.json; for the read layer as a whole, see lesson 2.

6.Sources

Reviewed Sep 2026