# Multi-Provider Support

> Every agent in AgentsRoom is a real third-party coding CLI running in its own terminal, and each agent picks its own CLI: Claude Code (Anthropic), Codex CLI (OpenAI), GitHub Copilot CLI, Antigravity CLI (Google), OpenCode, Aider, Grok Build (xAI), Mistral Vibe, Kimi Code (Moonshot AI), Amp (Sourcegraph), oh-my-pi, Freebuff (Codebuff), Devin (Cognition) and Cursor (Anysphere), 14 providers in all.

- Area: Desktop app
- Plans: All plans
- Last checked against the product: 2026-10-01
- Web page: https://agentsroom.dev/docs/multi-provider

## What it does

Every agent in AgentsRoom is a real third-party coding CLI running in its own terminal, and each agent picks its own CLI: Claude Code (Anthropic), Codex CLI (OpenAI), GitHub Copilot CLI, Antigravity CLI (Google), OpenCode, Aider, Grok Build (xAI), Mistral Vibe, Kimi Code (Moonshot AI), Amp (Sourcegraph), oh-my-pi, Freebuff (Codebuff), Devin (Cognition) and Cursor (Anysphere), 14 providers in all. A project can run a Claude agent, a Codex agent and a Grok agent side by side on the same working tree. You can switch an agent's provider or model mid-conversation and keep the context, tune the launch flags and environment per provider or per agent, and point a CLI at a self-hosted or OpenAI-compatible backend without leaving the app.

## Where to find it

- Per provider: **Settings > AI providers & accounts**, one tab per provider since 1.184.0. The tab of the default provider carries a **Default** badge; every other tab starts with **Use as default for new agents**. Below it, in order: **Permission mode**, the provider's launch choices (Claude renderer, Codex Fast mode), **CLI options**, **Environment variables**, then the **Accounts** block (sign-ins, or "{provider} has no account switching" for a CLI without it) and last **CLI settings**, the provider's own options. That list loads from the CLI and shows folded (its first options, then **Show all options**); it refolds every time Settings reopen, and its own search box (from eight options) filters the whole list. The **Multiple Accounts** block under the tabs keeps the rules shared by every provider (auto-switch, pinned quotas).
- Per project: **Project settings > Defaults > AI providers** (the CLI, the account and the provider options this project's agents run on). Sidebar folders carry the same defaults for every project filed under them.
- Per agent: the **Provider** and **Model** pickers in the Add agent / Edit agent dialogs, plus the CLI options and Environment variables fields in their advanced block. In the Add agent window they are cards under the agent's avatar (**Provider**, **Model**, **Reasoning**, **Workspace**), each naming what it holds ("Claude", "Opus 4.5 · 1M context"); a click opens its panel right below. **Install a CLI**, in the **Provider** panel and in the **Not installed** footer of every provider picker, opens the guided installer without leaving the dialog.
- Per project: **Project settings > AI providers > Environment variables**, handed to every agent of that repository whatever CLI it runs on. The same section has one **Default reasoning effort** row per CLI that has an effort lever.
- Mid-session: the provider / model pill in the terminal header opens the Switch Provider window. The footer also has a **Temporary launch override** that forces every new agent onto one provider and model for a while.
- Quick launch: click the **Quick agent** lightning button. Since 1.184.0 a plain click opens the provider and model menu (right-click, long press and keyboard open it too); picking a model launches a throwaway agent on it. The menu has three sections. **Agent tiers** comes first: **Fast agent**, **Powerful agent** and **Expensive agent**, each with an icon and a line naming its provider, model and reasoning effort ("Claude · Sonnet · High"); a click launches it, a right-click opens its settings (icon, provider, model, reasoning effort, saved for **All projects** or for **this project only**). Until you customise them, the three derive from your preferred provider (for Claude: Sonnet, Opus and Fable; for Codex: Luna, Sol and Sol Max). Then **Providers**, the list below. Then the settings rows: **One-click launch** ("Click spawns the default agent, no menu"), **Add or update providers** (opens the **Setup assistant** as a window above the app since 1.187.0, so the project and its agents stay open behind it while a CLI installs) and **Providers leaderboard**. With **One-click launch** ticked, the click launches the default quick agent right away, **Edit default quick agent** appears under it, and only the right-click opens the menu.

## How to use it

1. Install the CLI you want (the setup banner in an agent terminal offers the install command if it is missing) and sign in to it once.
2. In **Settings > AI providers & accounts**, open the tab of the CLI you want and click **Use as default for new agents**. The same tab holds the flags and environment applied to every agent of that provider.
3. When you create or edit an agent, choose its **Provider**; the **Model** picker adapts to that provider. **Default** leaves the choice to the CLI. For Cursor, OpenCode, Grok, Devin and GitHub Copilot the list is read from your own CLI, so it reflects what your plan actually reaches; **Refresh model list**, at the foot of those pickers and as the last row of the launch menus, re-reads it without restarting the app and says what came back ("List updated: N models", "Already up to date: N models", or "Could not read the list from the CLI", which keeps the list you already had). Every picker opens with a **Last used** row (the models this machine launched last on that provider, most recent first, kept locally) above **All models**; a recent model is listed twice on purpose, and a fresh install shows no row. Next to the models, the community's habits: a flame marks the few most launched models of each provider (**Popular in the community**), a tile says "N users" and its tooltip "N users launched it M times in the last 30 days."; provider tiles carry "N users this month". These figures come from a public statistic read at startup and refreshed every 30 minutes, so they show whether or not you share your own usage data; offline, they are simply absent, never "0". Since 1.182.0 the OpenCode list also refreshes by itself when you run `/connect` inside the OpenCode TUI or declare a provider by hand in its config, with no restart of AgentsRoom: an open picker updates in place. Devin, Grok and Cursor list what the account plan includes, nothing local changes that list.
4. To change provider or model on a running agent, click the pill in the terminal header. Same provider and a CLI with a live model command (Claude, Codex, Grok, Mistral Vibe): the model switches in place. Any other change: the agent is stopped, a handoff (modified files, recent activity, last message, optionally a summary written by the agent) is built, and the new CLI starts with that handoff as its first prompt.

Per-agent flags: the agent's **CLI options** field replaces the provider-wide flags for that agent only. It is the escape hatch to pin a model the picker does not list (for example `--model opus-4.8`). When your flags already pin a model, AgentsRoom adds none of its own.

Environment variables: one `KEY=value` per line, on **three levels merged key by key**: machine-wide per provider (Settings > AI providers), then the whole project (Project settings > AI providers), then the single agent, each winning over the one before it. The project level is the one to use for something the whole repository needs, a gateway or a token every agent must see, without repeating it on each agent or forcing it on your other projects. This is also the only way to point a CLI at a model backend rather than another CLI: an OpenAI-compatible gateway (OpenRouter, LiteLLM, OmniRoute, a company proxy, the OpenCode Go endpoint) is wired with `OPENAI_BASE_URL` or `ANTHROPIC_BASE_URL`. A value can reference a secret from the Secret Manager as `{{secret:NAME}}`, resolved when the terminal is created so the token never appears in a prompt or transcript. Variables the app owns (`PATH`, `CLAUDE_CONFIG_DIR`, `CODEX_HOME`, `AGENTSROOM_*`) are refused.

Pinned models: a CLI whose catalogue is discovered from the account can list hundreds of ids (Cursor, OpenCode, Ollama). From twelve models up, each tile in the picker gets a **Pin** badge on hover; pin the ones you actually use and the picker shows only those plus your current selection, the rest folding behind **All models (N)** with its search box. The order stays the catalogue's, never the order you pinned in, and the model currently selected is always visible. Fewer than twelve models and nothing changes. Model cards have the same size whatever the provider. The launch menus (lightning button, agent card, backlog ticket) carry a **Pin** button on every row, whatever the length of the list: shown on hover, always visible once pinned, and pinning never launches the model nor closes the menu. Pinned models get a **Pinned** section at the top of the menu; **Last used** heads the menu only while nothing is pinned; **All models** follows.

Sort and filter: every model list, launch menus and dialog pickers alike, has three order buttons: **Power** (most capable first, the default; between two models of equal strength the newest generation comes first, so GPT-6 Sol ranks before GPT-5.6 Sol), **Price** (cheapest first) and **Popular** (most launched by the community first; while the community figures are missing, offline for example, the catalogue order is kept). Each button carries an arrow showing the direction; clicking the active button again reverses it (weakest first, most expensive first, least launched first), and picking another order opens it in its natural direction. The choice is remembered and applies to every list. In the dialog pickers the buttons show on lists of seven models or more, or as soon as the list mixes several subscriptions. When one CLI serves several subscriptions (today OpenCode: OpenCode Go, Z.AI Coding Plan, Z.AI, or a backend you connected yourself), a second row of chips, **All**, one chip per subscription and **Other** for models with no subscription prefix, narrows the list to one wallet before you pick the model. That filter is not remembered, and it never shows on a provider with a single subscription.

## Settings

- `defaultProvider` (global, Settings > AI providers & accounts): provider pre-selected for new agents, default `claude`. Overridable per project in Project settings > Defaults.
- `providerCliOptions` (global): extra CLI flags per provider id; empty = the provider's autonomous defaults. `claudeCliOptions` is the legacy Claude field, still honoured.
- `providerEnvVars` (global): environment block per provider id, `KEY=value` lines, `{{secret:NAME}}` allowed.
- `envVars` (project override, Project settings > AI providers): one `KEY=value` block handed to every agent of the project, whatever its CLI. Wins over `providerEnvVars`, loses to the agent's own block.
- `pinnedModels` (global): the models kept at the top of every picker, per provider. Empty means no shortlist and the full list is shown.
- `reasoningEffortDefaults` (global, Settings > AI providers & accounts > provider tab > **Default reasoning effort**; project override in Project settings > AI providers): the effort given to every agent of that provider that pins none, per provider id. Unset = the CLI keeps its own default; on a project, **Default** follows the global value. An agent's own effort, a ticket's effort or a launch override always win. Only the tiers the launched model offers apply, otherwise the CLI's default is used.
- `modelSortOrder` (global): order of every model list, `strength` (**Power**, default), `price` (**Price**) or `popular` (**Popular**).
- `modelSortReversed` (global): `true` flips the direction of `modelSortOrder` (the arrow next to the order button); reset to `false` when the order changes.
- `recentModels` (global): the **Last used** row of every picker, per provider parent id, 5 model ids at most, rewritten at every launch. Machine-local, never sent anywhere.
- `agentTiers` (global, synced with your account, overridable per project; right-click a tier in the lightning menu, or **Settings > Defaults** for the account and **Project settings > Agents** for a project override): the **Fast agent**, **Powerful agent** and **Expensive agent** shortcuts, `{ fast?, powerful?, expensive? }`, each `{ provider, model, effort?, icon? }` with `icon` a lucide icon name. A tier you never customised is absent and derives from the preferred provider (Fast = its standard model, Powerful = the complex one, Expensive = the flagship). A project override replaces a tier as a whole, never field by field. The phone's quick agent sheet shows the same three tiers and launches them through this desktop; they are configured on the desktop only.
- `quickAgentClickLaunchesDefault` (global, ticked as **One-click launch** in the lightning menu): `true` = a plain click on the lightning button spawns the default quick agent with no menu. Off by default; the right-click always opens the menu.
- `agentPermissionMode` (global): per provider, `autonomous` (default: the CLI runs every action without asking) or `manual` (the CLI asks before risky actions). Applies to new sessions.
- `codexFastMode` (global, overridable per project and per agent): `inherit`, `on` or `off` for Codex Fast mode.
- `claudeRenderer` (global, overridable per agent): `classic` scrollable pane or `fullscreen` alternate-screen TUI for Claude Code.
- `cliPresenceOverrides` (global): your "I already have it" answers to the CLI-missing banner, per provider.
- `lastLaunchOverride` (global): the last footer launch override, pre-filled next time, never re-applied by itself.

## Agent tools (MCP)

- `settings_get` / `settings_set`: read or change the keys above (`scope: "global"`, or `scope: "project"` for the project override of the default provider and Codex Fast mode, or `scope: "agent"` for one saved agent's provider, model, CLI options and environment).
- `agents_save`: create or update a saved agent with a given `provider` and `model`; `agents_spawn` and `backlog_create` / `backlog_update` accept the same executor overrides (`provider`, `model`, `reasoningEffort`) for a throwaway agent or a ticket.
- `agents_spawn` also takes `accountProfileId` since 1.184.0 (an id from the provider's profiles setting, or `"system"` for the CLI's own login; an id of another provider is dropped and reported). The confirmation card shown in the requesting agent's terminal has a **Runs on** block (**Provider**, **Model**, **Account**) pre-filled with what the agent asked for: you can change all three before the agent is created, "for a review by another model or on another account for example", and the answer reports what it actually runs on.
- `capabilities_get` (`topic: "teams"`): lists the provider ids a team node may use.

## Providers

- Live model switch (`/model` sent into the running session): Claude, Codex, Grok Build, Mistral Vibe. Kimi opens its own model picker pre-selected on the requested alias; Cursor's `/model` opens a selector, so AgentsRoom does not use it. Everyone else restarts with a handoff.
- Session resume after a restart: Claude, Codex, Grok Build, Antigravity, Cursor, Kimi Code and oh-my-pi reopen the same conversation; Copilot, OpenCode, Aider, Mistral Vibe, Amp, Freebuff and Devin start a new one. oh-my-pi (since 2026-09-25) keeps its conversation in its own sessions folder, so it also shows in `omp stats` and in `omp --resume` from your own terminal; a session started in another folder (the agent moved to a worktree) is not resumed, and a `/new` typed inside oh-my-pi is not followed (a restart reopens the conversation from before it).
- Readable transcript (the Conversation view, the phone's reading mode, Read Aloud of the last answer): Claude, Codex, Grok Build, Mistral Vibe (since 2026-09-15), oh-my-pi (since 2026-09-25) and Antigravity (since 2026-09-30). The other CLIs only expose the messages you sent.
- Full-screen interfaces: Codex is always launched in its classic inline rendering (since 2026-09-26: Codex 0.157 switched to a full-screen transcript by default, which hid the console from the status detection and from the phone, and put a "FULLSCREEN MODE" banner over the top of the console). Grok Build and Mistral Vibe always paint their own screen, so a long turn shows nothing in the terminal until it ends. Grok can be relaunched in a plain-scrollback mode; Mistral Vibe has none, and its progress is followed in the Conversation view instead ([Conversation View](https://agentsroom.dev/docs/conversation-view.md)).
- System prompt: passed as a flag for Claude, Codex, oh-my-pi; the others read it from project files (`AGENTS.md`, `CLAUDE.md`, `.cursor/rules`).
- Reasoning effort: exposed for the CLIs that have a lever (Claude, Codex, Grok, Kimi, oh-my-pi and, since 2026-09-26, Antigravity among them); it is a launch-time setting, so changing it restarts the agent. On oh-my-pi it is its `--thinking` level, from **Low** to **Max**; a level the model does not offer is lowered by oh-my-pi to the closest one it has, and a `--thinking` you put in the agent's CLI options wins. On Codex the tiers follow the model: GPT-6 Astra and GPT-6 Sol go up to **Ultra**, GPT-6 Luna stops at **Max**. On Antigravity the tiers are **Low**, **Medium**, **High** and **Max** (no **Very high**); a tier Antigravity does not know, such as a **Very high** inherited from a ticket set up for another CLI, is left out so the agent still starts, and an `--effort` in the agent's CLI options wins. Since 2026-09-28 each of these CLIs can have a **Default reasoning effort**, machine-wide in its provider tab or per project: every agent that has no effort of its own starts on it, and the **Default** chip of the Add / Edit agent dialogs shows the inherited tier. Changing the default moves every agent that inherits it at its next launch; it is never written onto the agents.
- Autonomous mode flags exist for Claude, Codex, Antigravity, Grok, Mistral Vibe, Amp, oh-my-pi and Copilot; Aider always auto-confirms; Freebuff has no permission flag; OpenCode is deliberately left on its own permission prompts.
- Models: Amp and Freebuff choose the model server-side (single **default** entry); oh-my-pi and OpenCode accept any `backend/model` id typed by hand, in Add agent and in a backlog ticket alike; oh-my-pi lists the models of the accounts and API keys you connected with `/login` inside it (read from `omp models`), and since 2026-09-26 its picker has one chip per account over the list (Anthropic, ChatGPT, Z.ai...) to keep only that account's models, on the desktop and the phone; Mistral Vibe offers **Medium 3.5** only (Devstral Small was withdrawn by Mistral), and any other alias declared in your own Vibe configuration can be typed by hand; Cursor lists roughly 190 models from your plan at pick time; OpenCode also surfaces the flat-rate OpenCode Go models (`opencode-go/...`) and the Z.AI Coding Plan models (`zai-coding-plan/...`) as soon as you have run `/connect` inside OpenCode. The same model can then appear once per plan: the picker describes each entry by its plan name (**OpenCode Go**, **Z.AI Coding Plan**), and the session pill, the folded engine summary and a ticket's executor line read `glm-5.3 · Z.AI Coding Plan`; a backend AgentsRoom does not know keeps its raw name. Codex lists the GPT-6 family (GPT-6 Astra, GPT-6 Sol, GPT-6 Luna, since 1.187.0, and GPT-6.1 Sol since 2026-09-30, on desktop and phone) next to the older GPT-5.6 tiers. Since 2026-10-01 a new Codex agent is pre-set on GPT-6.1 Sol, the same default as the Codex CLI itself (it was GPT-5.6 Sol); agents you already created keep the model they were saved with. GitHub Copilot shows a curated list (Claude Sonnet 5, GPT-6 Astra, Claude Opus 5, Claude Haiku 4.5, **Auto** among them) plus every other id the installed CLI accepts, read from that CLI, because GitHub adds models to the seat between two AgentsRoom releases.
- OpenCode 2: the pinned model is no longer passed as a `--model` flag (OpenCode 2 refuses it on its root command) but through the CLI's own configuration, for that launch only; a `--model` you typed in the agent's CLI options is honoured the same way. Each agent also gets its own private server (`--standalone`) when the installed CLI supports the flag, so every agent sees its MCP servers, its status plugin and its model instead of only the first one started. A task given at launch is submitted by AgentsRoom once the TUI is up and the terminal quiet, because OpenCode 2 only pre-fills its input box with it. OpenCode 1 users see no difference.
- Codex note: the AgentsRoom MCP tool calls Codex prints in its terminal (`AgentsRoom-MCP.memory_save({...})`, sometimes 50 lines of JSON) are folded to `(…)` in the desktop terminal so the useful output stays readable. The full arguments remain in the Conversation view ([Conversation View](https://agentsroom.dev/docs/conversation-view.md)). Codex only, always on, no setting.

## Mobile

Present. The **New agent** sheet has a collapsible **Engine** block (provider, variants, model, 1M toggle, **Reasoning effort**, account), pre-selected on the desktop default provider. Since 2026-09-26 the reasoning effort is chosen there at creation, with the tiers the chosen model offers, and the collapsed header shows the tier next to the model. Its model picker has the same **LAST USED** and **ALL MODELS** sections as the desktop, with the flame and "{{count}} users" hints; the recent row merges the choices made from the phone with the launches recorded by the desktop for your account. The same **Power** / **Price** / **Popular** order buttons and subscription chips appear on lists of seven models or more or on a list that mixes subscriptions; the phone keeps its own order choice, separate from the desktop's. Pinned models are on the phone too: a **PINNED** section heads the list once something is pinned (and "Last used" steps aside while it does, like the desktop menus), a long-press on a pill pins it and the badge on a pinned pill removes the pin; pins and last-used models are saved to your account, so a pin taken on the laptop shows on the phone and the other way round. Long-press an agent, or tap the spec strip in the console header, to open the Switch Provider sheet (provider, model, version, 1M window, reasoning effort); the switch is executed by the desktop through the encrypted relay, and the desktop console announces it first (**Model switch requested from your phone: applying {provider} · {model}…**) so a model change is never a surprise mid-run. The spec strip shows which CLI and model each agent runs on. Not on the phone: editing environment variables at any level and provider-wide CLI options (both desktop only). An agent launched from the phone still receives the project's environment variables, and the phone's model lists are short enough that there is nothing to fold. The one-time **Agent permissions** question (Autonomous or Manual, asked on the first automatic launch of a provider) also opens as a sheet on the phone since 2026-09-26: before that, an agent launched from the phone did not start until someone answered on the computer.

The quick agent sheet (lightning button of the room) opens on the three **Agent tiers** (Fast, Powerful, Expensive): one tap launches the tier on your computer, with the model, effort and project override the desktop resolved. Tiers are configured on the desktop (right-click a tier); the phone shows an icon outside the three defaults as a lightning bolt.

## Limits

- Every provider is available on every plan, Free included: there is no provider paywall and no Pro badge in the picker.
- AgentsRoom never bundles a CLI: each provider must be installed and signed in on the machine that runs the agents. A CLI installed after AgentsRoom started may need an app restart to be detected on Windows.
- A stale model id costs more than a missing one: on Grok an unknown id does not fail, the CLI runs unpinned and drops the reasoning effort. The pickers are refreshed from the CLI for the providers that can list their models; only OpenCode is re-read on its own when its credentials change. On OpenCode 2, where `/connect` writes to OpenCode's own database, that automatic refresh needs the `sqlite3` command on the machine (usually absent on Windows): without it, click **Refresh model list** after a `/connect`.
- Folder trust: Kimi Code and Antigravity remember a trusted folder by its exact path and have no flag to skip their "trust this folder" question, so trusting the project did not cover a ticket's new worktree and the agent stopped on that question. Since 2026-09-26 launching one of them from AgentsRoom counts as the trust decision: the launch folder is recorded as trusted in that CLI's own settings before it starts, on the desktop and from the phone alike. If that recording fails, the CLI simply asks as before.
- Copilot and Amp run a task given at launch in one-shot mode and drop back to the shell when it finishes; Freebuff and Kimi receive the task typed into their TUI after start. An agent of these two started from the phone begins without its task.
- Changing provider on a live agent is a restart with a handoff, not a shared memory: a long conversation arrives as a summary.
- MCP tools reach every provider except Aider, which has no MCP support.

## Common questions

- **Can I run two providers in the same project?** Yes, provider and model are per agent. One agent on Claude Opus, one on Codex, one on Antigravity's free tier, all in the same room.
- **Does switching provider lose the conversation?** No. AgentsRoom builds a handoff (files touched, activity, last message, optionally an agent-written summary) and the new CLI starts from it. Same-provider model changes on Claude, Codex, Grok and Mistral are instant with no restart.
- **The model I want is not in the picker.** Pick **Default** and let the CLI decide, or add `--model <id>` in the agent's CLI options. For Cursor, Grok, Devin and GitHub Copilot, click **Refresh model list** under the picker: it is re-read from your CLI on the spot. For OpenCode, run `/connect` inside OpenCode: the list updates by itself, and the same button reloads it after a CLI update.
- **My OpenCode agents pinned on a model fail with `--model is not supported`.** OpenCode 2 dropped that flag on its main command. Fixed in 1.181.0: AgentsRoom now hands the model to OpenCode through its configuration, and a `--model` in your CLI options goes through the same channel. Update AgentsRoom; only **Default** started before.
- **My OpenCode agents show no status, no changed files and no token count since OpenCode updated itself, and the terminal looks wrong in dark mode.** OpenCode 2.0.14 changed its plugin contract, so the AgentsRoom integration no longer loaded. Fixed in 1.188.0, dark theme included: update AgentsRoom and restart the agents.
- **I have OpenCode Go and a Z.AI Coding Plan: which `glm-5.3` is which?** The plan name travels with the model everywhere (picker description, session pill, ticket line), and the subscription chips over the list keep only one plan's models.
- **Can I choose the reasoning effort when I create an agent from my phone?** Yes: in the **New agent** sheet, open **Engine**, pick the provider and the model, then a tier under **Reasoning effort**. The row only shows for the CLIs that have an effort lever, its tiers follow the model, and **Default** leaves the CLI on its own. The desktop must be up to date too: an older one creates the agent without the tier.
- **My Kimi or Antigravity agent started in a ticket's worktree and waited on "Trust this folder?".** Fixed on 2026-09-26: AgentsRoom now records the worktree as trusted in that CLI's settings before launching it. Update AgentsRoom and relaunch the agent.
- **Can I put all my Kimi (or Codex, Claude...) agents on Low effort at once?** Yes, since 2026-09-28: Settings > AI providers & accounts > that provider's tab > **Default reasoning effort**, or the same row in Project settings > AI providers for one project only. Every agent without its own effort follows it at its next launch; an agent with its own effort keeps it.
- **Free OpenCode models showed a `$$$` price tier.** Fixed on 2026-09-27: a model whose id ends in `-free` or `:free`, and OpenCode's free `big-pickle` gateway, now sit on the cheapest tier (`$`).
- **Can I sort the models by price?** Yes: click **Price** above any model list. The order is remembered for every list; **Power** brings back the default. Click **Price** again to see the most expensive models first.
- **How do I use OpenRouter / LiteLLM / a company proxy?** Environment variables, not flags: set `OPENAI_BASE_URL` or `ANTHROPIC_BASE_URL` (and the key, ideally as `{{secret:NAME}}`) in the provider tab or on the agent.
- **Why did my agent start in autonomous mode?** It is the default for every provider that has a bypass flag. Set **Permission mode** to Manual in the provider tab, or paste your own flags in CLI options.
- **A ticket assigned to a Generic Agent, or an agent spawned by role, started as "codex / opus".** Fixed after 1.173.0. A role's default model is a Claude alias; it is now translated to the matching tier of the provider a new agent of the project gets (the provider of the project's first agent, else the **Default provider**), exactly like the lightning button does, instead of handing a Claude model name to another CLI.
- **Clicking the lightning button opens a menu instead of launching an agent.** That is the 1.184.0 behaviour: nobody found the menu behind the right-click. Pick a model to launch, or tick **One-click launch** in that menu to get the old direct launch back (the right-click still opens the menu).
- **Why does a model tile say "12 users" although I never shared anything?** The hint is a community statistic, published for everyone; sharing only decides whether your own launches count in it. Your **Last used** row is local and never leaves the machine.
- **Codex asks for approval on every command.** Check Settings > AI providers & accounts > Codex > CLI options: custom flags such as `--sandbox workspace-write -a never` keep the sandbox on; leaving the field on Auto applies the bypass.
- **A "FULLSCREEN MODE" banner covers the top of my Codex console and the phone shows nothing.** Codex 0.157 turned on a full-screen transcript by default. Fixed on 2026-09-26: AgentsRoom now always starts Codex in its classic rendering. Update AgentsRoom and restart the Codex agents.
- **How do I get a cheap, a strong and a very expensive agent without browsing the model list?** Click the lightning button: **Agent tiers** is the top section of the menu. Right-click a tier to change its icon, provider, model or reasoning effort, for every project or only for the current one. The same three rows are in **Settings > Defaults** (all projects) and **Project settings > Agents** (this project only, with a **Use global** button to drop the override).
- **The lightning menu no longer has Edit default QA agent.** It moved out of that menu: the default QA agent is still edited in Settings > Defaults and in the project settings.

## Related

- [Ollama and Local Models](https://agentsroom.dev/docs/ollama-models.md): Ollama and the other catalogue providers, where the model is typed by hand.
- [Multiple Accounts](https://agentsroom.dev/docs/multi-account.md): several logins per provider, pinned per project, folder or agent.
- [CLI Doctor](https://agentsroom.dev/docs/cli-doctor.md): what happens when a CLI refuses to start.
- [AgentsRoom MCP](https://agentsroom.dev/docs/agentsroom-mcp.md): how the AgentsRoom tools reach each CLI.
- [Adaptive Mode](https://agentsroom.dev/docs/adaptive-mode.md): letting AgentsRoom pick a cheaper model for the task.
- [Secret Manager](https://agentsroom.dev/docs/secret-manager.md): the secrets an environment variable can reference.
- [MCP Servers](https://agentsroom.dev/docs/mcp-servers.md): your own MCP servers, handed to every CLI at launch.
- [Codex Data Storage](https://agentsroom.dev/docs/codex-data-storage.md): the disk the Codex tab lets you reclaim.
