anthropics / anthropics/claude-code

[MODEL] Fable 5 / 2.1.240: documented "high" effort resolves to 25/100 at runtime (low=10, medium=15, xhigh=50); numeric mapping unpublished, no changelog; reported server-side effort-scale experiment on 2.1.236+

Aperta
#88,887 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
area:model bug platform:windows
Lingua principale
Python
Stelle
145k
Fork
23.1k
Metriche di merge delle PR
Metriche PR in attesa

Descrizione

## Summary

On Claude Code **2.1.240** with **Fable 5**, the documented effort levels resolve at runtime to numeric values that occupy only the bottom quarter of a 0–100 scale — the documented default **`high` resolves to `25`** — and the numeric mapping is published nowhere (not in the [model-config docs](https://code.claude.com/docs/en/model-config.md), not in the [changelog](https://code.claude.com/docs/en/changelog)). A widely-shared report ([@kimmonismus](https://x.com/kimmonismus/status/2091178321669198014), 136K views, and [@argofowl](https://x.com/argofowl/status/2091150597374537729)) claims that since 2.1.236/2.1.237 Fable 5 sessions are enrolled server-side in an experiment that shrinks the effort scale, with `high` arriving as `10` for some users. Whether this machine is in that experiment or `25` is the original mapping, I cannot tell, because Anthropic has never stated what the levels map to. **That is the bug**: a user who deliberately configures `high` — the level the docs describe as "balances token usage and intelligence" and the default — has no way to know they are getting a quarter of the scale, and no way to know if that changed last week. At best this is misleading; it repeats the March 4 incident where the default was silently lowered from `high` to `medium` and only rolled back after public complaint ([HN thread, with Boris's acknowledgement](https://news.ycombinator.com/item?id=47879849)).

## Environment

- Claude Code: `2.1.240` (`claude --version`)
- Model: Fable 5 (`claude-fable-5`), Claude Max plan
- OS: Windows 11 Pro 10.0.26200
- `CLAUDE_CODE_EFFORT_LEVEL`: unset
- `~/.claude/settings.json` `effortLevel`: initially `high`; then changed via `/effort` for each measurement below
- Date: 2026-08-22

## Measurements

Each row: set the level with `/effort `, send one prompt, and have the model report the numeric `reasoning_effort` value present in its context for that turn. Every reading was reproducible — switching back to `high` returned `25` again.

| `/effort` setting | Runtime `reasoning_effort` value |
|---|---|
| `low` | `10` |
| `medium` | `15` |
| `high` (documented default) | `25` |
| `xhigh` | `50` |
| `max` | `max` (passed by name, top of scale) |

Observations:

- `low` → `10` matches the public report's claim that "10 is the exact number `low` used to be."
- `high` → `25` differs from the `10` shown in the report's screenshot, which is consistent with the report's claim that this is an A/B experiment and not every session is in the same arm.
- The entire named ladder below `max` sits at or below the midpoint; `high` is 25% of the scale. Users reading "high" reasonably expect something near the top, not the bottom quarter.

## Why this matters

1. **Configured intent is not honored transparently.** A user sets `high` to get more reasoning. If the number behind that label can move server-side with no client change and no changelog entry, the setting is not meaningful to the person setting it.
2. **No baseline is possible.** Because the mapping is unpublished, nobody outside Anthropic can determine whether their `high` today is the same `high` as two weeks ago. Reports of "the model feels dumber this week" cannot be confirmed or refuted by the people experiencing them — which is exactly the situation on X right now.
3. **Precedent.** The March 4 default change (high → medium) was made without announcement, kept for a month over user objection, and then acknowledged as "not the right decision." A server-side scale change on 2.1.236+ with no disclosure is the same pattern.
4. **Paid product.** Max-plan users pay for the model's capability; a silent reduction in default reasoning effort is a silent reduction in what they are paying for.

## Asks

1. **Publish the numeric mapping** for each named level per model (`low` / `medium` / `high` / `xhigh` / `max` → value), in the model-config docs, and commit to changelog entries whenever it changes.
2. **Confirm or deny** the reported server-side effort-scale experiment on Fable 5 / 2.1.236+. If it exists: state which arms exist, how a user can tell which arm they are in, and provide an opt-out.
3. **Surface the live value in the client** — in `/effort`, in the statusline, and in `/status` — so users can see the actual number their session is running at rather than only the label.
4. If `high` = `25` is in fact a reduction from the prior mapping, **restore the prior mapping** for users who have explicitly configured `high`, as was done for the March default rollback.

## Repro

1. `claude --version` → confirm ≥ 2.1.236, model Fable 5.
2. `/effort high`.
3. Ask the model: "What numeric `reasoning_effort` value is in your context for this turn?" → `25`.
4. Repeat for `low`, `medium`, `xhigh`, `max` → `10`, `15`, `50`, `max`.

Happy to provide any further session telemetry that would help.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Start with model-config.md and changelog, then reproduce the reported values using claude --version and /effort for each level on Fable 5. Done means the supported numeric mapping and any experiment are confirmed or denied, documented with changes tracked, and the live value is surfaced in the requested client entry points.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
cli, documentation
Tipo di issue
Bug
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.