Opus 5.5: let a client opt into summarized thinking instead of forced progress updates
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 75/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
Research direction
Start with progressUpdates and the Opus 5.5 override in src/adapters/anthropic.ts, then read the focused regression tests in tests/adapters/anthropic/anthropic-progress-updates.test.ts. Check how reasoning.summary and hideThinkingSummary are handled in the adapter. Done when explicit detailed or concise requests use summarized display without the updates beta, while absent or auto keeps updates; the issue also mentions documenting the behavior in guides/providers.md.
Written by the indexing model from the issue text.
Description
Area
Provider adapters (anthropic)
What are you trying to accomplish?
We run a Responses client (gjc, an ACP/coding-agent host with a mobile front end) through OpenCodex against anthropic/claude-opus-5-5 on api.anthropic.com. The client shows reasoning summaries in a "thinking" view. We want Opus 5.5 reasoning summaries to show there, like they do for every other Claude model behind the same adapter.
What prevents this today?
Since #7143 (fixes #7108), the adapter forces thinking: {type: "adaptive", display: "updates"} plus the thinking-display-updates-2026-08-18 beta whenever usesNativeAnthropicEndpoint(provider) and the model is Opus 5.5 (src/adapters/anthropic.ts, progressUpdates around line 1084, override at line 1151). The override runs after, and ignores, everything the request said about reasoning display:
Measured on main (9f0d40a2, 2.92.0) with createAnthropicAdapter(...).buildRequest(parseRequest(...)):
| model | request reasoning |
sent thinking |
|---|---|---|
| claude-opus-5-5 | {effort:"high"} |
{"type":"adaptive","display":"updates"} + beta |
| claude-opus-5-5 | {effort:"high", summary:"detailed"} |
{"type":"adaptive","display":"updates"} + beta |
| claude-sonnet-5-5 | {effort:"high"} |
{"type":"adaptive","display":"summarized"} |
| claude-sonnet-5-5 | {effort:"high", summary:"detailed"} |
{"type":"adaptive","display":"summarized"} |
Observed effect through a 2.88.0 deployment:
- In one session, 756 of 828 reasoning items on the Opus 5.5 lane carried empty summary text.
- A probe turn spent 275 reasoning tokens and returned
summary_text: "". The only visible text was progress commentary (phase: "commentary"). - The same client talking to Anthropic directly (
display: "summarized") had 47 of 47 thinking blocks with text.
I understand this is intentional. The provider guide explains that under display: "summarized" Anthropic cannot tell progress updates apart from reasoning, and the updates mode is the better default for Codex. So this is not a request to revert #7143.
What should OpenCodex do?
Keep display: "updates" as the default for Opus 5.5. Let a client that explicitly asks for reasoning summaries get them:
- Request
reasoning.summaryis"detailed"or"concise": send{type: "adaptive", display: "summarized"}without the updates beta. This is the same body Sonnet 5.5 / Opus 5 get today. "auto"or absent: unchanged (display: "updates").hideThinkingSummarykeeps its current meaning.
A client opting in accepts the trade-off the guide describes: progress updates may arrive folded into reasoning summaries instead of as separate commentary.
Example usage or interface
{ "model": "anthropic/claude-opus-5-5", "reasoning": { "effort": "high", "summary": "detailed" } }
→ thinking: {"type":"adaptive","display":"summarized"}, no thinking-display-updates-2026-08-18 beta.
Alternatives or workarounds
- A provider-level config flag (e.g.
opus55ThinkingDisplay: "updates" | "summarized"). It is less flexible than per-request, but it would also work for clients that always sendsummary: "auto". - Patching the deployment locally. We are avoiding that.
Additional context
Happy to send the PR with focused regression tests in tests/adapters/anthropic/anthropic-progress-updates.test.ts (the opt-in path sends summarized and no beta; auto and absent stay on updates). The docs change would go in guides/providers.md. Before writing it, I'd like to confirm which shape you prefer (per-request reasoning.summary vs. provider flag).
Checks
- I searched existing issues and documentation.
- This request describes a concrete OpenCodex workflow rather than merely naming a desired technology.
- I removed secrets and personal data.
- Dominant language
- TypeScript
- Stars
- 16.9k
- Forks
- 1.3k
- Avg merge
- 11h 47m
- Merged PRs (30d)
- 649
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from lidge-jun/opencodex
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
lidge-jun/opencodex#7812 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
[Bug]: Windows client path overrides accept drive-less rooted pathsPossibly taken A pull request linked to this issue is open or already merged. Openbug platform
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
[Bug]: MiniMax stale-roster refresh has no destination guard for Custom base URLsPossibly taken A pull request linked to this issue is open or already merged. Openbug catalog provider
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
lidge-jun/opencodex#7807 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
[Feature]: Respect Google Retry-After as a lower bound for retriesPossibly taken A pull request linked to this issue is open or already merged. Openenhancement provider tools
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
catalog enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
lidge-jun/opencodex#7704 · 1 comment ·
Maintainers usually reply within 1 day
All issues in lidge-jun/opencodex
Similar issues
-
Plugin: sheet music can't be scrolled by hand before playbackPossibly taken @snakajima claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
receptron/jinglescript#51 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 9 days
-
clawsweeper:needs-maintainer-review clawsweeper:needs-product-decision clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster P3
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
openclaw/openclaw#186424 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
chore(worker): five module header comments describe the code from before later issues changed itOpenarea:dev U2-later
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
bentleypark/aiwatch#1824 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Pal-AI-Lab/Coopanion#469 ·
Maintainers usually reply within 1 day