Repository navigation
[Bug]: OpenCode Free remains built in after Hermes removed opencode-free #3173
Description
Ekko Studio Version
v0.7.24
Agent Runtime and Version (if applicable)
Hermes Agent v0.21.5 (2026.9.24), upstream commit 749220ef
Bug Description
Ekko Studio still exposes opencode-free as a built-in provider and describes it as requiring no account or API key. With the current Hermes Agent runtime, the provider is permanently unsupported: Hermes removed the keyless opencode-free provider after OpenCode stopped anonymous third-party access and the relay began returning 403 FreeTierError.
Studio detects this as catalog_status: "unsupported", but still renders the provider card and shows the misleading instruction “Update Hermes Agent to use OpenCode Free.” Updating cannot fix it because this provider has been deliberately removed from current Hermes.
This is related to the provider-registry drift tracked in #3082, but it is the reverse case: Studio retains an obsolete provider that Hermes no longer supports.
Steps to Reproduce
- Install/run Ekko Studio v0.7.24 with Hermes Agent v0.21.5.
- Open Models.
- Find the built-in OpenCode Free provider.
- Observe both messages:
- “No account or API key required. Free models may be rate limited.”
- “Update Hermes Agent to use OpenCode Free.”
- Inspect
/api/hermes/available-models(or the Studio MCP available-models result).
Expected Behavior
When the installed Hermes runtime does not support opencode-free, Studio should not advertise it as a usable built-in provider or recommend updating Hermes.
Prefer removing the obsolete provider. If compatibility handling is retained, hide/disable it with an accurate removal/migration message pointing users to opencode-zen or opencode-go, and stop background retries for a permanent unsupported state.
Actual Behavior
Studio returns and renders this provider:
{
"provider": "opencode-free",
"label": "OpenCode Free",
"base_url": "https://opencode.ai/zen/v1",
"models": [],
"available_models": [],
"api_key": "",
"builtin": true,
"catalog_status": "unsupported"
}Hermes itself reports:
AuthError: Unknown provider 'opencode-free'.
OpenCode discontinued anonymous free-tier access outside its own client
(relay 403s FreeTierError), so the keyless 'opencode-free' provider was removed.
Switch to 'opencode-zen' or 'opencode-go'.
Logs / Error Messages
catalog_status: unsupported
Environment
- Linux
- Kernel: 6.12.94+deb13-amd64
Node Version
v24.19.0
Additional Context
Current main at 9363b99550a7f31896aa5ea8ddaf08c234943a76 still:
- unconditionally registers OpenCode Free in
packages/server/src/modules/studio/contracts/providers.ts; - defines the obsolete provider in
contracts/opencode-free.ts; - maps
unsupportedto “Update Hermes Agent” inProviderCard.vue; - starts
initializeOpenCodeFreeInBackground()at boot; - retries every 60 seconds for every non-ready state, including the permanent
unsupportedstate.
Suggested minimum fix: remove the obsolete preset, initialization path, translations, and tests. If legacy compatibility is required, gate the provider entirely on runtime support and do not retry after unsupported.
Activity