# Configure the assistant

> Source: https://elaichi.ai/docs/guides/settings/assistant/

Connect your own LLM provider keys (BYOK), choose which models appear in the in-app assistant, and set the organization default model. Chat uses **organization keys only** — not personal keys.

**Where to find it:** **Settings → Assistant**

You need **Manage assistant** (`assistant:manage`). The Assistant tab is hidden without it. Built-in **Org Owner** and **Org Admin** include this permission. Using the assistant itself needs `assistant:use` (most roles have it).

## Providers you can configure

| Provider | What it’s for |
| --- | --- |
| **Anthropic** | Claude models (native Messages API) |
| **OpenRouter** | Claude, GPT, Gemini, and others via OpenRouter |
| **Fireworks AI** | Kimi, MiniMax, and other Fireworks models |
| **OpenAI-compatible gateway** | Any HTTPS OpenAI chat-completions endpoint (requires a **base URL** plus API key) |

You can configure more than one provider and switch between them on this page. Status shows **Configured** or **Not configured** per provider.

## Save credentials

1. Open **Settings → Assistant**.
2. Select a **Model provider**.
3. For the OpenAI-compatible gateway, enter the **Base URL** (for example `https://gateway.example.com/v1`).
4. Paste the **API key**.
5. Optionally **Test before saving**, then **Save and continue**.

Keys are encrypted when saved and never shown again. Later you can **Test**, **Change key**, or **Remove** credentials for that provider.

## Models

Once a provider is configured:

1. **Search and select** a tool-capable model from the catalog, then **Add** it to the assistant.
2. For OpenRouter, Fireworks, and the gateway, use **Refresh** to reload the remote catalog.
3. If a model is missing, **Add it manually** (custom model): exact model ID, optional label and context window, optional advanced JSON config, and whether it **Supports tool calling**.
4. In the **Enabled** list, **Set default** on the model new conversations should use, or remove models you no longer want.

Anthropic uses a built-in catalog; dynamic providers fetch models from the provider after credentials work. Only models that support tool calling are offered in the catalog picker (you can still add a custom model manually if needed).

**You'll know it worked when:** The model appears under Enabled (with **Default** if you set it), and members see it in the assistant model picker.

## Good to know

- The assistant still respects each person’s roles, shares, and [restrictions](/guides/governance/set-restrictions).
- Clearing the last provider key leaves the assistant without an org LLM until you configure another.
- Per-user model preference in the assistant UI can differ from the org default; the org default is what this Settings page sets.
- Approving write/destructive assistant actions needs `assistant:approve` — separate from managing keys.

## Related

- [Using the assistant](/guides/assistant/using-the-assistant)
- [Roles and permissions](/guides/members/roles)
- [Set connector and tool restrictions](/guides/governance/set-restrictions)
