Does Claude Fable 5.1 know langchain 1?

Partly: in 4 runs, Claude Fable 5.1's langchain attribution reaches 1.0.0 (2025-10-17), 1.1.0 (2025-11-24) and 1.2.0 (2025-12-15), inside langchain 1, and stops there — langchain was at 1.4.0 when this index last verified against it (2026-09-06). That is ~6 to ~8 months below the training cutoff the subject stated in those runs (2026-06). 2 findings are currently charged against Claude Fable 5.1 on langchain (2x S3 deprecated), each reproduced in a published run and checked against langchain's own release notes. Read the boundary precisely: it is the newest release whose contents the model can correctly attribute to that release, not the newest langchain feature it can use. Past it a model often writes working code with a newer API while naming the wrong release for it.

Answer class inside, decided by one rule applied to every page of this kind: every measured boundary is at or above the first release of the major named in the question. Every figure below is read from the dataset at build time; nothing on this page is written by hand.

The measurements

BatteryNewest release it can placeOldest it cannotLag vs stated cutoff
v4 2026-09-06 1.0.0
2025-10-17
1.1.0
2025-11-24
~8 months
v5-a 2026-09-06 1.1.0
2025-11-24
1.2.0
2025-12-15
~6 months
v5-b 2026-09-06 1.1.0
2025-11-24
1.2.0
2025-12-15
~6 months
v6-e 2026-09-06 1.2.0
2025-12-15
1.3.0
2026-05-12
~6 months

How repeatable is this?

4 measurements of this pair, giving 3 different boundaries — 59 days apart, 2 releases apart. No two of them were drawn from an identical prompt, so the spread mixes prompt differences with draw variance.

langchain published 4 minor or major releases in the twelve months before this model’s stated cutoff, which is the scale a spread should be read against.

What Claude Fable 5.1 gets wrong about langchain

“Chargeable” means the change was published before this model’s own stated cutoff, so it had the opportunity to know it.

SeverityBeliefChanged inChargeableProof
S3deprecated Denies that create_agent can register stream transformers at all, then ships a consumer-side wrapper that rebuilds per-scope identity by hand - the verdict and the artefact wrong in the same direction, four tasks apart
create_agent(transformers=...)
1.3.0
2026-05-12
yes run · source
S3deprecated Names v2 as the highest event-stream protocol version an agent accepts, and describes it as the ceiling - v3 shipped for langchain agents in the same release as F1's parameter
astream_events(version="v3") on a create_agent agent
1.3.0
2026-05-12
yes run · source

What to do about it

The langchain correction pack states what is true now for each corrected fact, with a primary-source citation, as markdown you can paste into a rules file (raw). What a correction pack measurably changed when one was tested — a pre-registered run on zod — is on the benchmark page, including where it changed nothing.

Runs

The same question, asked of the others

All of them at once: Which Claude model knows langchain 1 best?

Other subjects on langchain:

Claude Fable 5.1 on the other libraries: