Skip to content

[BUG] #9896

@TheTravel3r

Description

@TheTravel3r

Problem (one or two sentences)

Claude Opus 4.5 fails with "no assistant messages" error requiring 3-5+ retries after PR #9643 disabled native
tools for Claude Code provider.

Context (who is affected and when)

Users of Claude Code provider with Claude Opus 4.5 model. Started after Nov 27, 2025 when PR #9643 merged,
setting supportsNativeTools: false for Claude Code models.

Reproduction steps

  1. Configure Roo Code with Claude Code provider
  2. Select claude-opus-4-5-20251101 model
  3. Use any mode (default Code mode or custom)
  4. Send a simple task like "I'm getting an ImportError in server.py"
  5. Observe: Opus responds with text first, then returns empty responses on subsequent requests requiring tool
    calls

Expected result

Opus should emit tool calls with 0-1 retries, as it did before Nov 27.

Actual result

  • First response: Opus emits text (e.g., "I'll help you debug...") - Second request (tool needed): Empty response, triggers retry - Retries 3-5+ times before eventually emitting XML tool call (or fails entirely with max retries exceeded) Error message: Unexpected API Response: The language model did not provide any assistant messages. This may indicate an issue with the API or the model's output.

Variations tried (optional)

  • Minimal mode configuration (empty customInstructions)
  • Removed all custom instructions
  • Cleared Roo cache
  • Various roleDefinition changes
  • Increased retry limit (works but defeats purpose)

Sonnet works fine with the same setup - only Opus is affected.

App Version

3.35.4

API Provider (optional)

Anthropic

Model Used (optional)

(Claude Code) claude-opus-4-5-20251101

Roo Code Task Links (optional)

No response

Relevant logs or errors (optional)

Root cause: PR #9643 added supportsNativeTools: false to Claude Code models, forcing XML-only tool calling.
  However:
  1. Opus 4.5 is optimized for native tool calling (per Anthropic docs)
  2. XML tool format has ~10% failure rate with top models (per RFC #4047)
  3. Opus's extended thinking behavior conflicts with XML-first expectations

  Related issues:
  - RFC #4047: Native Tool Use for Top-Tier AI Models
  - Issue #5060: Improvements in Claude Code Provider Integration
  - Issue #9525: Similar empty response issue with Sonnet 4.5

Metadata

Metadata

Assignees

No one assigned

    Labels

    Issue/PR - TriageNew issue. Needs quick review to confirm validity and assign labels.bugSomething isn't working

    Type

    No type

    Projects

    Status

    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions