Skip to content

[Bug]: Qoder duplicate model catalogs disable imported provider #7390

Closed

Description

@terrytan95

Client or integration

Other: Qoder desktop, managed by the OpenCodex Qoder integration.

Area

Catalog / models

Summary

Connecting Qoder through OpenCodex imports the models successfully, but selecting one and sending a prompt immediately fails with “Something went wrong.”

Observed with OpenCodex 2.89.0 and Qoder desktop 1.1.69 on macOS. The current dev exporter still produces the conflicting configuration.

Reproduction

  1. Enable the Qoder integration in OpenCodex with at least one model.
  2. Open Qoder and select an imported OpenCodex model.
  3. Send a short test prompt.

Expected: Qoder routes the request to the local OpenCodex endpoint.

Actual: Qoder rejects the provider before making a model request. Sanitized log messages:

Custom provider "opencodex" was ignored: models: model key 'opencodex/<model-id>' conflicts with an existing catalog model
FatalRoutingError: Custom Provider model 'opencodex/<model-id>' is not available.

Cause and verified workaround

src/clients/config-export/qoder.ts registers every model twice: in providers.opencodex.models and in modelConfigs.customModels. Qoder's custom-provider registry rejects keys already present in the legacy model catalog and clears the provider projection.

Removing only the matching OpenCodex entries from modelConfigs.customModels, retaining providers.opencodex, and restarting Qoder restored successful replies through both a GPT route and a namespaced Gemini route. Qoder logged HTTP 200 with transport=custom-openai for both.

Proposed fix

  • Export one provider catalog, with display names and context limits on its model entries.
  • Count that catalog in export summaries.
  • Use existing ownership records when refreshing older integrations to remove only the previously managed duplicate rows, preserving unrelated models and refusing edits to owned rows.
  • Cover fresh exports, legacy migration, and preservation behavior with regression tests.

Version

OpenCodex 2.89.0; Qoder desktop 1.1.69.

Operating system

macOS 27.0.1 (Apple Silicon).

Checks

  • I searched existing issues and documentation.
  • I removed secrets, tokens, account details, request credentials, and personal data.

Activity

  1. github-actions commented on Oct 19, 2026

    @github-actions
    Contributor

    Automated translation bookkeeping — detected language: English.

  2. github-actions commented on Oct 19, 2026

    @github-actions
    Contributor

    Issue reopened

    The report now contains the information required by the automated check. Thanks for updating it.

  3. changed the title [-]bug(qoder): duplicate model catalogs disable imported provider[/-] [+][Bug]: Qoder duplicate model catalogs disable imported provider[/+] on Oct 19, 2026
  4. added
    bugSomething isn't working
    catalogModel catalog, slugs, visibility, routed entries
    on Oct 19, 2026
  5. Ingwannu commented on Oct 20, 2026

    @Ingwannu
    Owner

    Checked against trusted dev 12025981e5a304cdb6b1b54f525ba8554f623977. The exporter still emits the same model keys into both providers.opencodex.models and modelConfigs.customModels, so the reported duplicate-catalog trigger matches the code. #7391 is the focused fix; I am reviewing its provider-only projection and recorded-fragment migration, especially foreign-row preservation and refusal of edited owned rows. Keep this issue open until that change lands; an open PR is not a released repair.

  6. lidge-jun commented on Oct 24, 2026

    @lidge-jun
    Owner

    Fixed on dev by #7545 (5253164), which carries #7391 by @terrytan95. The Qoder exporter writes the catalog only under providers.opencodex, removes its previously owned modelConfigs.customModels rows on refresh, and reports an unowned legacy row for the same model as a conflict before writing. Qoder therefore no longer sees duplicate catalogs. This ships in the next release after 2.92.0; please reopen if it recurs.

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

    bugSomething isn't workingcatalogModel catalog, slugs, visibility, routed entries

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions