Abacus AI provider: tool calls fail with all models - models output commands instead of executing #7455

Closed
opened 2026-02-16 18:07:13 -05:00 by yindo · 13 comments
Owner

Originally created by @Dougie777 on GitHub (Jan 24, 2026).

Originally assigned to: @rekram1-node on GitHub.

I'm experiencing tool call failures with Abacus AI provider. The models output tool commands as text instead of executing them, regardless of which model I select.

Steps to reproduce:

  1. Connect Abacus AI with valid API key
  2. Launch OpenCode
  3. Select any Abacus model
  4. Send a request that requires tool use (e.g., asking to read a file)
    Expected behavior: Tools execute and return results
    Actual behavior: Models output tool calls as raw text (e.g., showing <tool_calls> blocks) instead of executing them
    OpenCode version: 1.1.34
    Operating System: fill in

Related issues:

  • #6836 - Providers: Abacus connectivity error
  • #8780 - abacus: some model names are incorrect & raw output in chat (closed but issue persists)
Originally created by @Dougie777 on GitHub (Jan 24, 2026). Originally assigned to: @rekram1-node on GitHub. I'm experiencing tool call failures with Abacus AI provider. The models output tool commands as text instead of executing them, regardless of which model I select. Steps to reproduce: 1. Connect Abacus AI with valid API key 2. Launch OpenCode 3. Select any Abacus model 4. Send a request that requires tool use (e.g., asking to read a file) Expected behavior: Tools execute and return results Actual behavior: Models output tool calls as raw text (e.g., showing <tool_calls> blocks) instead of executing them OpenCode version: 1.1.34 Operating System: fill in Related issues: - #6836 - Providers: Abacus connectivity error - #8780 - abacus: some model names are incorrect & raw output in chat (closed but issue persists)
yindo closed this issue 2026-02-16 18:07:13 -05:00
Author
Owner

@github-actions[bot] commented on GitHub (Jan 24, 2026):

This issue might be a duplicate of existing issues. Please check:

  • #8780: abacus: some model names are incorrect & raw output in chat (already reported with the exact same problem - models outputting commands as raw text instead of executing)
  • #6836: Providers: Abacus connectivity error (earlier Abacus provider connectivity issue)

Feel free to ignore if your specific case differs from these.

@github-actions[bot] commented on GitHub (Jan 24, 2026): This issue might be a duplicate of existing issues. Please check: - #8780: abacus: some model names are incorrect & raw output in chat (already reported with the exact same problem - models outputting commands as raw text instead of executing) - #6836: Providers: Abacus connectivity error (earlier Abacus provider connectivity issue) Feel free to ignore if your specific case differs from these.
Author
Owner

@davidvv commented on GitHub (Jan 29, 2026):

Same issue here, this is an absolute pain. I got an Abacus Suscription as a fallback from other services but its useless :(

@davidvv commented on GitHub (Jan 29, 2026): Same issue here, this is an absolute pain. I got an Abacus Suscription as a fallback from other services but its useless :(
Author
Owner

@studioarneboon commented on GitHub (Feb 1, 2026):

Abacus RouteLLM provider: Claude models return raw tool call XML instead of executing tools

Description
When using Abacus AI's RouteLLM API as a custom OpenAI-compatible provider, Claude models (e.g., claude-opus-4-5) return raw tool call markup instead of properly executing tools.

Environment
OpenCode version: latest
Provider: Custom @ai-sdk/openai-compatible
Endpoint: https://routellm.abacus.ai/v1/

Configuration
json
{
  "provider": {
    "abacus-routellm": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://routellm.abacus.ai/v1/",
        "apiKey": "..."
      },
      "models": {
        "claude-opus-4-5-20251101": { "name": "Claude Opus 4.5" }
      }
    }
  }
}

Expected Behavior
Tool calls should be parsed and executed normally.

Actual Behavior
Model returns raw XML/JSON in the response:

<tool_call_id>toolu_01SZTG42E49VsturJosSqzCt</tool_call_id>

@studioarneboon commented on GitHub (Feb 1, 2026): Abacus RouteLLM provider: Claude models return raw tool call XML instead of executing tools Description When using Abacus AI's RouteLLM API as a custom OpenAI-compatible provider, Claude models (e.g., claude-opus-4-5) return raw tool call markup instead of properly executing tools. Environment OpenCode version: latest Provider: Custom @ai-sdk/openai-compatible Endpoint: https://routellm.abacus.ai/v1/ ``` Configuration json { "provider": { "abacus-routellm": { "npm": "@ai-sdk/openai-compatible", "options": { "baseURL": "https://routellm.abacus.ai/v1/", "apiKey": "..." }, "models": { "claude-opus-4-5-20251101": { "name": "Claude Opus 4.5" } } } } } ``` Expected Behavior Tool calls should be parsed and executed normally. Actual Behavior Model returns raw XML/JSON in the response: `<tool_call_id>toolu_01SZTG42E49VsturJosSqzCt</tool_call_id>`
Author
Owner

@vekkt0r commented on GitHub (Feb 1, 2026):

I think this is a bug of Abacus RouteLLM, not OpenCode. I'm also having the same issue when using Abacus with CodeCompanion, some inspection of the HTTP calls shows that the actual tool calls are missing from choices delta when using streaming responses. Quick fix with CodeCompanion is to just disable streaming responses but I'm not sure if that is configurable in OpenCode?

Response from RouteLLM:

{
  "model": "gpt-5-nano",
  "created": 1769973939,
  "choices": [
    {
      "index": 0,
      "delta": {
        "content": "<tool_call_id>call_7XHvCMb6jfEdwuyU9BJpODh0</tool_call_id><function_call_name>apply_patch</function_call_name>",
        "role": "assistant"
      },
      "finish_reason": null,
      "logprobs": null
    }
  ]
}

Response from api.openai.com as reference:

{
  "id": "chatcmpl-D4X6TAkCSK9d5q1k8UVklhLyJVn9P",
  "object": "chat.completion.chunk",
  "created": 1769972933,
  "model": "gpt-5-nano-2025-08-07",
  "service_tier": "default",
  "system_fingerprint": null,
  "choices": [
    {
      "index": 0,
      "delta": {
        "role": "assistant",
        "content": null,
        "tool_calls": [
          {
            "index": 0,
            "id": "call_IxvQwArMy3Z0k77sftYvGPZD",
            "type": "function",
            "function": {
              "name": "apply_patch",
              "arguments": ""
            }
          }
        ],
        "refusal": null
      },
      "finish_reason": null
    }
  ],
  "obfuscation": "iYufaDra6htRX"
}

@vekkt0r commented on GitHub (Feb 1, 2026): I think this is a bug of Abacus RouteLLM, not OpenCode. I'm also having the same issue when using Abacus with CodeCompanion, some inspection of the HTTP calls shows that the actual tool calls are missing from choices delta when using streaming responses. Quick fix with CodeCompanion is to just disable streaming responses but I'm not sure if that is configurable in OpenCode? Response from RouteLLM: ```json { "model": "gpt-5-nano", "created": 1769973939, "choices": [ { "index": 0, "delta": { "content": "<tool_call_id>call_7XHvCMb6jfEdwuyU9BJpODh0</tool_call_id><function_call_name>apply_patch</function_call_name>", "role": "assistant" }, "finish_reason": null, "logprobs": null } ] } ``` Response from api.openai.com as reference: ```json { "id": "chatcmpl-D4X6TAkCSK9d5q1k8UVklhLyJVn9P", "object": "chat.completion.chunk", "created": 1769972933, "model": "gpt-5-nano-2025-08-07", "service_tier": "default", "system_fingerprint": null, "choices": [ { "index": 0, "delta": { "role": "assistant", "content": null, "tool_calls": [ { "index": 0, "id": "call_IxvQwArMy3Z0k77sftYvGPZD", "type": "function", "function": { "name": "apply_patch", "arguments": "" } } ], "refusal": null }, "finish_reason": null } ], "obfuscation": "iYufaDra6htRX" } ```
Author
Owner

@TylonHH commented on GitHub (Feb 1, 2026):

I have the same issue on openclaw.

@TylonHH commented on GitHub (Feb 1, 2026): I have the same issue on openclaw.
Author
Owner

@arvindsun commented on GitHub (Feb 2, 2026):

We will address this on the Abacus.AI side in the next day or two.

@arvindsun commented on GitHub (Feb 2, 2026): We will address this on the Abacus.AI side in the next day or two.
Author
Owner

@LeoNardo-LB commented on GitHub (Feb 2, 2026):

@arvindsun GLM has the same problem, Request to fix it together

@LeoNardo-LB commented on GitHub (Feb 2, 2026): @arvindsun GLM has the same problem, Request to fix it together
Author
Owner

@rekram1-node commented on GitHub (Feb 2, 2026):

closing since it isn't an opencode issue

@rekram1-node commented on GitHub (Feb 2, 2026): closing since it isn't an opencode issue
Author
Owner

@agluck91 commented on GitHub (Feb 3, 2026):

I apologize if this is not an appropriate place, but I need to warn people somewhere. Please anyone reading this, do not use abucus for opencode. I asked it to create a tictactoe game and it burrned 11,757 credits in ONE go. It did not even do that much. This is not a sustainable API model. The exact same prompt with the exact same model on 3 others platforms was less than a cent.

@agluck91 commented on GitHub (Feb 3, 2026): I apologize if this is not an appropriate place, but I need to warn people somewhere. Please anyone reading this, do not use abucus for opencode. I asked it to create a tictactoe game and it burrned 11,757 credits in ONE go. It did not even do that much. This is not a sustainable API model. The exact same prompt with the exact same model on 3 others platforms was less than a cent.
Author
Owner

@arvindsun commented on GitHub (Feb 3, 2026):

We are fixing issues with cache keys and tool use soon

I apologize if this is not an appropriate place, but I need to warn people somewhere. Please anyone reading this, do not use abucus for opencode. I asked it to create a tictactoe game and it burrned 11,757 credits in ONE go. It did not even do that much. This is not a sustainable API model. The exact same prompt with the exact same model on 3 others platforms was less than a cent.

@arvindsun commented on GitHub (Feb 3, 2026): We are fixing issues with cache keys and tool use soon > I apologize if this is not an appropriate place, but I need to warn people somewhere. Please anyone reading this, do not use abucus for opencode. I asked it to create a tictactoe game and it burrned 11,757 credits in ONE go. It did not even do that much. This is not a sustainable API model. The exact same prompt with the exact same model on 3 others platforms was less than a cent.
Author
Owner

@omerabr commented on GitHub (Feb 5, 2026):

The XML outputting as text happens with Copilot Sonnet/Opus and ChatGPT 5.2 as well. This is a widespread issue and not model-specific.

@omerabr commented on GitHub (Feb 5, 2026): The XML outputting as text happens with Copilot Sonnet/Opus and ChatGPT 5.2 as well. This is a widespread issue and not model-specific.
Author
Owner

@lynchypin commented on GitHub (Feb 11, 2026):

Any updates? I cant get the tool to do any tool calls with Opus 4.5 or 4.6. Im using the IDE you guys developed

@lynchypin commented on GitHub (Feb 11, 2026): Any updates? I cant get the tool to do any tool calls with Opus 4.5 or 4.6. Im using the IDE you guys developed
Author
Owner

@studioarneboon commented on GitHub (Feb 11, 2026):

switched to provider zen (https://opencode.ai/zen) works smooth

@studioarneboon commented on GitHub (Feb 11, 2026): switched to provider zen (https://opencode.ai/zen) works smooth
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#7455