Skip to content

Set Sonnet 5 reasoning effort to low - #705

Open
jurgenwerk wants to merge 1 commit into
mainfrom
cs-12732-sonnet-5-low-reasoning-effort
Open

Set Sonnet 5 reasoning effort to low#705
jurgenwerk wants to merge 1 commit into
mainfrom
cs-12732-sonnet-5-low-reasoning-effort

Conversation

@jurgenwerk

@jurgenwerk jurgenwerk commented Sep 2, 2026

Copy link
Copy Markdown
Contributor
image

Sonnet 5 thinks by default, and with no effort set the provider uses its highest level. In the assistant that shows as several minutes on the thinking placeholder before any content arrives, or a generation that stops at the output-token limit with everything spent on reasoning. A prompt like "build a simple wedding planner app" reproduces it.

This sets reasoningEffort: low on the Sonnet 5 ModelConfiguration card. The host copies the card value onto the room's active-llm event when the model is selected, and the ai-bot forwards it as reasoning_effort. Other models are untouched: models that do not think by default keep sending no reasoning parameter, so their behaviour does not change.

Rooms that already selected Sonnet 5 keep reasoningEffort: null on their active-llm event until the model is reselected. New rooms and model switches pick up the card value right away.

The card's auto title gains the "Thinking" suffix and the 💡 badge, which is accurate for this model.

🤖 Generated with Claude Code

Sonnet 5 thinks by default at the provider's highest effort. In the assistant
that shows as minutes of reasoning before any content, or a generation that
spends its whole output budget on reasoning. With an effort on the card the
host stamps it on the room's active-llm event and the ai-bot forwards it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

Staging Submissions Preview

This PR's content is pushed to the staging submissions realm: https://realms-staging.stack.cards/submissions/

Changed folders:

  • ModelConfiguration/

Updated at 2026-09-02 12:04:18 UTC for commit c569638. Shared realm: only this PR's changed files are pushed; files touched by multiple PRs reflect whichever pushed last, and deleted files are not removed.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The PR description claims the card title will gain a computed “Thinking” suffix, but with cardInfo.name set the UI title logic will not append that suffix unless the name/title approach is adjusted.

Pull request overview

Adjusts the Anthropic Claude Sonnet 5 model card configuration to default to a lower reasoning setting, aiming to reduce long “thinking” delays and avoid spending most tokens on internal reasoning when this model is selected.

Changes:

  • Set reasoningEffort to "low" on the anthropic-claude-sonnet-5 ModelConfiguration card.
File summaries
File Description
ModelConfiguration/anthropic-claude-sonnet-5.json Adds reasoningEffort: "low" to influence downstream default reasoning behavior for Sonnet 5.
Review details

Suppressed comments (1)

ModelConfiguration/anthropic-claude-sonnet-5.json:9

  • PR description mentions the card title gaining the computed “・Thinking” suffix; however ModelConfiguration.cardTitle returns cardInfo.name when present, so adding reasoningEffort alone won’t change the displayed title for this card (it will stay “Anthropic: Claude Sonnet 5”). If the UI should show a Thinking suffix, either set cardInfo.name to null to use the auto title, or update the name string to include the suffix explicitly.
      "reasoningEffort": "low",
      "cardInfo": {
        "name": "Anthropic: Claude Sonnet 5",
        "summary": null,
        "cardThumbnailURL": null,
  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

"data": {
"type": "card",
"attributes": {
"reasoningEffort": "low",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix is scoped to Sonnet 5 only, but the realm default is Sonnet 4.6.

SystemCard/default.json sets defaultModelConfiguration to ../ModelConfiguration/anthropic-claude-sonnet-46, and that card (like anthropic-claude-fable-5.json, anthropic-claude-opus-48.json, anthropic-claude-opus-47.json) still has no reasoningEffort in its attributes. If those models also think by default, the exact symptom this PR is fixing — minutes on the thinking placeholder, or a generation that exhausts the output-token budget on reasoning — still reproduces for every user who never changes models, since they land on Sonnet 4.6.

Worth either extending the same reasoningEffort to the other thinking-by-default Anthropic cards in this PR, or noting in the description why Sonnet 5 is the only one that needs it.

Separately, a nit on the PR description: it says the card's auto title gains the ・Thinking suffix. It won't — cardTitle in system-card/model-configuration.gts computes this.cardInfo?.name || autoTitle, and this card has cardInfo.name set to "Anthropic: Claude Sonnet 5", so the explicit name wins and the suffix is never rendered. The 💡 rightBadge change is real.


Generated by Claude Code

@habdelra habdelra left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code review

The diff itself is sound. "reasoningEffort": "low" keeps the JSON valid, low is one of the values REASONING_EFFORT_LABELS recognizes in system-card/model-configuration.gts, and the placement inside attributes matches the six sibling cards that already set this field. No correctness defect in the added line.

One thing worth deciding before merge (detailed inline on ModelConfiguration/anthropic-claude-sonnet-5.json:5): the fix is scoped to Sonnet 5, but SystemCard/default.json points defaultModelConfiguration at ../ModelConfiguration/anthropic-claude-sonnet-46, and that card — along with anthropic-claude-fable-5.json, anthropic-claude-opus-48.json and anthropic-claude-opus-47.json — still has no reasoningEffort. If those models also think by default, every user who never switches models lands on Sonnet 4.6 and still hits the symptom this PR is fixing. Either extend the same field to the other thinking-by-default cards here, or note in the description why Sonnet 5 is the only one that needs it.

Nit on the description: it says the card's auto title gains the ・Thinking suffix. It won't — cardTitle computes this.cardInfo?.name || autoTitle, and this card has cardInfo.name set to "Anthropic: Claude Sonnet 5", so the explicit name always wins and the suffix never renders. The 💡 rightBadge change is real.

Pre-existing, outside this diff (flagging only, not for this PR): three cards use "reasoningEffort": "none", which is a truthy string, so the this.reasoningEffort ? checks treat them as reasoning-enabled — they get the 💡 badge and the "Reasoning enabled — uses extended thinking" tooltip, while reasoningEffortLabel renders "Not Specified" since none is absent from REASONING_EFFORT_LABELS.


Generated by Claude Code

@lucaslyl
lucaslyl self-requested a review September 4, 2026 06:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants