Skip to content

LiteLLM proxy error: "Anthropic doesn't support tool calling without tools=" even with litellmProxy: true (v1.1.31) #10037

Description

@wcpaxx

Description

## Description

Using OpenCode v1.1.31 with LiteLLM proxy, error occurs on **new sessions**:

litellm.UnsupportedParamsError: Anthropic doesn't support tool calling without tools= param specified.
Received Model Group=claude-opus-4-5-20251101
Available Model Group Fallbacks=None


## Config

```json
{
  "provider": {
    "some-litellm": {
      "name": "some-litellm",
      "api": "https://api.some-litellm.com/v1",
      "options": {
        "litellmProxy": true
      },
      "models": {
        "claude-opus-4-5-20251101": {
          "name": "Claude Opus 4.5",
          "limit": { "context": 200000, "output": 32000 }
        }
      }
    }
  }
}

Expected

PR #8658 should inject _noop tool when litellmProxy: true or provider ID contains "litellm".

Actual

The fix doesn't work. Error occurs immediately on first message.

Environment

  • OpenCode: v1.1.31
  • Platform: Windows 11
  • Cannot modify server-side LiteLLM config

Related


### Plugins

on my opencode

### OpenCode version

v1.1.31

### Steps to reproduce

Sisyphus

### Screenshot and/or share link

_No response_

### Operating System

Windows 10

### Terminal

Windows PowerShell

Activity

  1. yiethan0618-lab commented on Jan 23, 2026

    @yiethan0618-lab

    已解决

  2. ewencodes commented on Jan 28, 2026

    @ewencodes

    Hi, i get the same issue when trying to compact using Anthropic models even with the "litellmProxy": true..

  3. github-actions commented on Mar 30, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 90 days of no activity. If the issue is still relevant please open a new one.

  4. ollisal commented on Jun 15, 2026

    @ollisal

    I still get this error whenever compaction threshold is reached, although I have options.litellmProxy = true

    I think it worked for a while in the spring, but hasn't worked in at least a month

    OpenCode 1.17.7

  5. Jeffwhen commented on Jun 30, 2026

    @Jeffwhen

    Seems they have removed litellmProxy option. My workaround is add github-copilot into my provider ID. Works like a charm

    if (
    input.model.providerID.includes("github-copilot") &&
    Object.keys(tools).length === 0 &&
    hasToolCalls(input.messages)
    ) {
    // Copilot needs a tools field when replaying prior tool calls, even if no tools are currently enabled.
    tools["_noop"] = aiTool({
    description: "Do not call this tool. It exists only for API compatibility and must never be invoked.",
    inputSchema: jsonSchema({
    type: "object",
    properties: {
    reason: { type: "string", description: "Unused" },
    },
    }),
    execute: async () => ({ output: "", title: "", metadata: {} }),
    })
    }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingwindows

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions