Skip to content

[Bug] Custom OpenAI-compatible provider (B.AI) — "This server listed no models" while GET /v1/models returns 47 models (mobile only; desktop works with the same credential) #293

Description

@Confettihere

Version: 1.9 (iOS, App Store)
Platform: iPad Pro 13-inch (M4, 2024), iPadOS 26.6.1

Describe the Bug

A custom OpenAI-compatible cloud provider is added successfully in the mobile app (base URL https://api.b.ai/v1 + valid Bearer API key). The provider appears in Settings and in the Cloud tab of the model picker, but the model list is empty with the message "This server listed no models." Reloading does not change it. Since the mobile app has no manual model-ID field (#277), there is no workaround.

The same base URL and the same credential work in the desktop app — the model list loads there correctly — so this appears to be a mobile-specific issue with custom-provider model discovery.

The credential also works outside Atomic Chat:

  • GET https://api.b.ai/v1/models with Authorization: Bearer <redacted> returns HTTP 200 with a standard OpenAI-shaped body: {"object":"list","data":[{"id":"..."}, ...]} — 47 models, including qwen3.8-flash, qwen3.8-27b, qwen3.8-max.
  • POST /v1/chat/completions with model: "qwen3.8-flash" returns a normal completion.
  • A bad key returns a clean 401 with {"error":{"message":"Invalid token",...}}, so auth errors are easy to distinguish from an empty list.

Steps to Reproduce

  1. Settings → API providers → «+» → Custom provider
  2. Name: B.AI, Base URL: https://api.b.ai/v1, API key:
  3. Save, restart the app
  4. Model picker → Cloud → B.AI → "This server listed no models."

Expected

The mobile app shows the same model list the desktop app shows for the identical provider configuration.

Actual

Empty list, no error surfaced. The provider looks "connected", which makes it impossible to tell an auth failure from an empty catalog.

Notes / possible causes

Happy to provide the raw JSON of the /v1/models response (47 entries) or run any request you need — key is redacted for obvious reasons.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions