Skip to content

[Bug]: OpenCode Free remains built in after Hermes removed opencode-free #3173

Closed

Description

@misakano7545

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

  1. Install/run Ekko Studio v0.7.24 with Hermes Agent v0.21.5.
  2. Open Models.
  3. Find the built-in OpenCode Free provider.
  4. Observe both messages:
    • “No account or API key required. Free models may be rate limited.”
    • “Update Hermes Agent to use OpenCode Free.”
  5. 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 unsupported to “Update Hermes Agent” in ProviderCard.vue;
  • starts initializeOpenCodeFreeInBackground() at boot;
  • retries every 60 seconds for every non-ready state, including the permanent unsupported state.

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

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions