hermes - ๐Ÿ’ก(How to fix) Fix claude-opus-4-8: HTTP 400 "thinking.type.enabled" not supported (Anthropic changed thinking schema)

Official PRs (โ€ฆ)
ON THIS PAGE

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful ยท Quick feedback

Loadingโ€ฆ

Root Cause

Anthropic deprecated the thinking.type=enabled shape for Opus 4.8. The new schema is:

  • thinking.type=adaptive
  • output_config.effort (low|medium|high) to control depth

The Hermes Anthropic provider adapter (plugins/model-providers/anthropic and/or wherever thinking config is assembled in agent/) still emits the legacy thinking.type=enabled shape, so every 4.8 call 400s before any tokens are produced.

Fix Action

Workaround

Pin to claude-opus-4-7 until the adapter is updated. The model registry in hermes_cli/models.py already lists claude-opus-4-8 and claude-opus-4.8 as known IDs, so users will hit this the moment they pick it.

Code Example

HTTP 400: "thinking.type.enabled" is not supported for this model. 
Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.

---

hermes config set model.default claude-opus-4-8
hermes chat "hello"
# Or any gateway session โ€” instant 400 on first API call.
RAW_BUFFERClick to expand / collapse

Selecting claude-opus-4-8 via hermes config set model.default claude-opus-4-8 (or -m claude-opus-4-8) results in every API call failing with HTTP 400 from Anthropic:

HTTP 400: "thinking.type.enabled" is not supported for this model. 
Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.

(request_id: req_011CbWh4hAKVy5zoGucgWhdP)

Root cause

Anthropic deprecated the thinking.type=enabled shape for Opus 4.8. The new schema is:

  • thinking.type=adaptive
  • output_config.effort (low|medium|high) to control depth

The Hermes Anthropic provider adapter (plugins/model-providers/anthropic and/or wherever thinking config is assembled in agent/) still emits the legacy thinking.type=enabled shape, so every 4.8 call 400s before any tokens are produced.

Reproduction

hermes config set model.default claude-opus-4-8
hermes chat "hello"
# Or any gateway session โ€” instant 400 on first API call.

Expected

The provider adapter should detect the model family (claude-opus-4-8+) and emit thinking.type=adaptive + output_config.effort instead of thinking.type=enabled. The legacy shape stays for 4.7 and below.

Workaround

Pin to claude-opus-4-7 until the adapter is updated. The model registry in hermes_cli/models.py already lists claude-opus-4-8 and claude-opus-4.8 as known IDs, so users will hit this the moment they pick it.

Anthropic docs

https://docs.claude.com/en/docs/build-with-claude/extended-thinking (effort + adaptive type โ€” the new control surface for Opus 4.8).

Environment

  • hermes-agent: a22c25000 (NousResearch/hermes-agent main, 2026-05-29 sync)
  • provider: anthropic (direct API, not bedrock/vertex)
  • Confirmed via agent.log: agent.conversation_loop: API call failed (attempt 1/3) error_type=BadRequestError ... model=claude-opus-4-8 summary=HTTP 400: "thinking.type.enabled" is not supported for this model.

Severity

Blocking โ€” claude-opus-4-8 is currently un-selectable for any Anthropic-direct user.

Vote matrix ยท Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loadingโ€ฆ

Still need to ship something?

ร—6

Another batch ranked right after the header list โ€” different links, same matching logic.

Back to top recommendations

TRENDING

hermes - ๐Ÿ’ก(How to fix) Fix claude-opus-4-8: HTTP 400 "thinking.type.enabled" not supported (Anthropic changed thinking schema)