Connecting a model
dx uses the models you connect. Open Personal Settings → Model Routing and choose Add. The menu offers up to three entries:
| Entry | What it gives you | Scope |
|---|---|---|
| Claude Pro/Max | The Claude Code mode, on your Claude plan | Personal |
| GitHub Copilot | The models your Copilot subscription includes | Personal |
| Custom URL | Models behind any OpenAI- or Anthropic-compatible endpoint, with your API key | Personal or workspace |
Claude Pro/Max
Section titled “Claude Pro/Max”A Claude Pro or Max plan runs Claude Code inside your Thread’s Orb.
-
Choose Add → Claude Pro/Max. The dialog is titled Connect Your Claude Subscription.
-
In a terminal on your own computer, run:
Terminal window claude setup-tokenThis needs Claude Code installed on that computer.
-
A browser window opens. Sign in with your Claude Pro or Max account and approve access.
-
Paste the token the command prints. It starts with
sk-ant-oatand is valid for one year. -
Choose Connect Subscription. dx checks the token with Anthropic before saving it.
If Anthropic rejects the token, run claude setup-token again and paste the
new one. To replace a token later, choose Add → Claude Pro/Max again or
Replace Token on the connection. You can connect one Claude plan.
Use it in a Thread
Section titled “Use it in a Thread”When you start a Thread, pick the Claude Code row in the mode picker and choose a model and an effort:
- Models: Claude Opus 5.5 (the default), Sonnet 5.5, Haiku 5.5, Fable 5.1, Opus 5, and Sonnet 5.
- Efforts: Low Effort, Medium Effort, High Effort (the default), Extra High Effort, and Max Effort.
dx installs the Claude Code CLI in the Orb when it is missing or out of date, and runs it there with your token. Your Claude plan covers only the Claude Code mode. dx’s own modes (Low, Medium, High, Ultra) and raw models are not covered by it.
Plan usage
Section titled “Plan usage”The connection shows Plan Usage: your 5-hour, weekly, and per-model limits, read from Anthropic when Model Routing loads and when you choose the refresh button beside Plan Usage. Under Claude Usage, choose what happens at a limit:
- Subscription Only (the default) stops Claude Code at a plan limit.
- Allow Extra Usage keeps it working on paid extra usage from your Claude account.
If extra usage is off in your Claude account, this choice is disabled and Claude Code stops at plan limits. A Thread that stops at a limit shows Claude subscription limit reached.
GitHub Copilot
Section titled “GitHub Copilot”- Choose Add → GitHub Copilot, then Connect.
- dx shows a GitHub URL and a code. Open the URL, enter the code, and approve.
- The dialog reads GitHub Copilot connected.
This sign-in asks GitHub only for read:user. It is separate from the GitHub
connection dx uses to clone repositories. dx serves the Copilot models your
account is entitled to; Check Access refreshes that list. If the
deployment has not set up Copilot sign-in, connecting fails with “Personal
model subscriptions are temporarily unavailable.”
Custom URL with an API key
Section titled “Custom URL with an API key”Use Custom URL for a provider’s API, a gateway, or your own server.
- Choose Add → Custom URL.
- Enter the Base URL, such as
https://api.example.com/v1. It must be a public HTTPS address. The dialog shows the full URL requests go to. - Choose the API format: OpenAI Chat Completions, OpenAI Responses, or Anthropic Messages.
- Enter a Name and your API key.
- Under Models, list one model per line, such as
anthropic/claude-fable-5-1. If the endpoint calls a model something else, map it with an arrow:openai/gpt-6-astra -> astra-litellm. - Optionally add Custom headers under Advanced, then choose Add.
Each model must be one dx knows. A connection holds up to 100 models, and each scope holds up to 20 connections. A deployment can limit which endpoints are allowed.
Workspace admins add Custom URL connections in Workspace Settings → Model Routing. Every member’s Threads can use them after their own.
Which connection serves a model
Section titled “Which connection serves a model”For each model, dx uses the first active connection that serves it: your personal connections first, in the order you drag them into, then your workspace’s, then the deployment’s own. Deactivate takes a connection out of that order without deleting it.
A mode or model no connection serves is marked Not served.
Choose what each mode runs
Section titled “Choose what each mode runs”The dx modes are Low, Medium, High, and Ultra. Personal Settings → Mode Dial pins the model and reasoning effort behind each mode. Personal Settings → Composer sets the mode new Threads start in.
Source
Section titled “Source”- Add menu and Custom URL dialog:
model-routing-controls.tsx,model-routing-settings.tsx - Claude Pro/Max connect flow:
claude-code-connect.tsx,claude-code-token.ts - Claude Code models, efforts, and limits:
claude-code.ts,claude-plan-usage.tsx,plan.ts - Claude Code in the Orb:
workspace-run.ts - GitHub Copilot:
github-copilot/provider.ts,model-subscriptions/routes.ts - Validation and limits:
service.ts,model-routing.ts - Routing order:
resolver.ts - Mode Dial and Composer settings:
mode-dial/registration.ts,composer-settings.tsx