Your stack includes a list you didn’t write
Every shop building on AI agents has a dependency it rarely names: the model catalog. Which models exist, what they are called, which variant is the default, what the reasoning dial offers — all of it is set by the platform, and all of it can change overnight. If your routing doctrine names a model, the catalog is part of your infrastructure. We diff ours every morning.
The baseline: 46 models, October 16, 2026
The watch started with a full pull of Cursor’s model list through the API on October 16, 2026: 46 models. Each model is normalized the same way every day — its id, its display name, the values its reasoning parameter offers, and which variant is marked default. The GLM family that day, the family our first pass rides on:
- GLM 5.2 — reasoning: high, max — default: high
- GLM 5.3 — reasoning: low, high, max — default: max
- GLM 5.3 Flash — reasoning: low, high, max — default: max
That last line is load-bearing. Our first-pass doctrine is GLM 5.3 Flash at reasoning set explicitly to max on every launch. The explicit set is not ceremony: the day a platform quietly changes a default is the day your output changes and nobody knows why. A daily diff turns that silent event into a dated line in a changes log.
What a catalog change actually does to a shop
- A model arrives: it earns nothing until it runs the identical brief against the incumbents. New seats are tested, never adopted on a changelog’s say-so.
- A model leaves: every doctrine that names it has a hole. The diff tells you the morning it happens, not the week a job starts failing.
- A default changes: the most dangerous entry in the catalog, because nothing in your own setup moved. This is the change the watch exists to catch.
- A dial gains a setting: a reasoning value appearing or vanishing changes what your pinned configuration even means.
The trap in the easy route
One tooling lesson from building this watch, offered free: the convenient command-line listing of the catalog truncates at roughly 6 KB — a partial catalog that looks complete. The full list only comes through the raw API call. A shop reading the truncated output believes it is watching 46 models while seeing a fraction of them. Whatever you monitor, monitor the untruncated source.
The watch reports changes only. Silence means the catalog is what it was yesterday — and if the API itself fails, the failure is reported once, out loud. A blind watch is worse than a noisy one.
Method & settings — this piece
Baseline: Full model-list pull via api.cursor.com/v1, October 16, 2026: 46 models total, 3 GLM
Normalization: id, displayName, reasoning parameter values, default variant — compared field by field against the stored snapshot
Cadence: Daily, change-only reporting; failures reported once
Full method: The same watch pattern guards our GLM doctrine — see the GLM desk
Filed under the Cursor desk.

Leave a Reply