You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[FEATURE]: Strongly recommend supporting Anthropic and OpenAI API endpoints for the opencode Go model #30244
I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
Based on my testing, when using DeepSeek V4 (which only supports the OpenAI-compatible endpoint) with Claude Code CLI, the only viable integration method is protocol translation through a proxy. However, the protocol translation layer appears to be incompatible with DeepSeek.
This results in frequent tool-calling failures and related errors. I have also tested the official DeepSeek OpenAI-compatible endpoint, and the same issue occurs. In contrast, when using the Anthropic endpoint, tool calls work normally without any problems.
Other models seem unaffected by this translation layer. For example, I tested MiniMax and did not encounter similar tool-calling issues.
My question is: has anyone observed compatibility issues between DeepSeek's OpenAI-compatible endpoint and the protocol translation layer used by Claude Code CLI? If so, what is the root cause of these frequent tool-calling failures, and are there any known workarounds or configuration changes that can improve compatibility?
This issue might be a duplicate of existing issues. Please check:
Anthropic-to-OpenAI schema translation #27047: Anthropic-to-OpenAI schema translation causing tool call failures with DeepSeek via the opencode.ai proxy (missing name field inside function wrapper)
These issues describe the same or closely related problems with the protocol translation layer and DeepSeek/thinking-enabled models. Please review them before proceeding — if your issue is already tracked there, consider adding context or a thumbs-up rather than opening a new report.
OpenCode Go serves DeepSeek and Kimi only via /v1/chat/completions. Both providers also have Anthropic-compatible endpoints, which would fix the Claude Code tool-calling issues by eliminating the protocol translation layer entirely (see #24722, #26331)
This is a zero-code config change. The schema at packages/console/core/src/model.ts:33 already supports formatFilter for dual-format models. Qwen 3.6 Plus already works this way (both /v1/messages and /v1/chat/completions). The anthropicHelper and body converter (provider.ts:182-185) are transparent proxies when formats match.
What's needed is to add two provider entries and formatFilter additions in the Go model data (ZEN_MODELS* secrets):
Activity
github-actions commentedon Jun 1, 2026
This issue might be a duplicate of existing issues. Please check:
namefield insidefunctionwrapper)These issues describe the same or closely related problems with the protocol translation layer and DeepSeek/thinking-enabled models. Please review them before proceeding — if your issue is already tracked there, consider adding context or a thumbs-up rather than opening a new report.
sontanon commentedon Jun 7, 2026
OpenCode Go serves DeepSeek and Kimi only via /v1/chat/completions. Both providers also have Anthropic-compatible endpoints, which would fix the Claude Code tool-calling issues by eliminating the protocol translation layer entirely (see #24722, #26331)
https://api.deepseek.com/anthropicOfficial DeepSeek Documentationhttps://api.moonshot.ai/anthropicMoonshot officially instructs Claude Code users to use this. Formal API reference is pending (docs: publish canonical API reference for /anthropic/v1/messages compatibility endpoint MoonshotAI/Kimi-K2#129), but the endpoint is functional and officially supported.This is a zero-code config change. The schema at
packages/console/core/src/model.ts:33already supportsformatFilterfor dual-format models. Qwen 3.6 Plus already works this way (both/v1/messagesand/v1/chat/completions). TheanthropicHelperand body converter (provider.ts:182-185) are transparent proxies when formats match.What's needed is to add two provider entries and formatFilter additions in the Go model data (
ZEN_MODELS*secrets):github-actions commentedon Aug 7, 2026
To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.