---
title: Open WebUI
---


[Open WebUI](https://openwebui.com) is the most popular open-source, self-hosted AI chat interface (135k+ stars on GitHub). Its **Connections** settings let you add any OpenAI-compatible provider, so adding CrossModel as a connection puts the whole catalog in your web UI.

## Quickstart

### 1. Deploy Open WebUI

If you don't have it running yet, start it with Docker:

```bash
docker run -d \
  -p 3000:8080 \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main
```

Open `http://localhost:3000` and create the initial admin account.

### 2. Create an API key

Sign in to the [Console](/console/api-keys) and create a key that starts with `cm-` on the **API Keys** page. The key is shown only once, so copy it somewhere safe.

### 3. Add the CrossModel connection

As an admin, navigate to:

**⚙️ Admin Settings → Connections → OpenAI → ➕ Add Connection**

Fill in:

| Field | Value |
|-------|-------|
| **URL** | `https://api.crossmodel.ai/v1` |
| **API Key** | your `cm-` key |

Click **Save**.

### 4. Add models manually (if auto-detect fails)

Open WebUI tries to fetch the model list by calling `/models`. If that doesn't work, find the **Model IDs (Filter)** field in the connection settings, type a model ID, and click **+** to add it — for example:

```
deepseek/deepseek-v4-pro
anthropic/claude-sonnet-4.6
```

See the full list of model IDs in the [model catalog](/models).

### 5. Start chatting

Pick the model you added from the selector at the top of Open WebUI and start the conversation.

## A note on Docker

If Open WebUI runs inside a Docker container, replace `localhost` with `host.docker.internal` in the URL — but only when the model service also runs on your machine. Connecting to CrossModel in the cloud needs no such change.

## Troubleshooting

| Symptom | What to check |
|---------|---------------|
| Connection check fails but chat works | This is normal: some endpoints don't support `/models` probing, which doesn't affect actual chat. Just add the model IDs manually. |
| Chat returns 401 | Confirm the API key is a valid `cm-` key. |
| Models don't show up | Add the model IDs in the **Model IDs** field and save. |
| Insufficient balance | Top up in the [Console](/console/billing). |
