agent run.
Change the default model provider
1
Go to Behaviours settings
Navigate to app.atcyrus.com/settings/behaviours.
2
Select a provider
Find the Default Model Provider dropdown and select the provider you want Cyrus to use by default (Claude, OpenAI/Codex, Gemini, or Cursor).
agent run will use the selected provider unless overridden per-issue.
On the same page, use Default Claude Model or Default Codex Model to choose the model for that provider. The built-in defaults are opus for Claude and gpt-5.5 for Codex. Available choices depend on your configured provider and authentication method; see OpenAI model availability before choosing a Codex default.
Override the provider per issue
You can override the default provider for a specific issue in two ways:Using an inline tag in the issue description
Add one of the following tags anywhere in your Linear issue description:Using a Linear label
Apply the provider name as a label on the issue (openai is also accepted for Codex):
Override the model per issue
You can also override the specific model (not just the provider) for a given issue, either with a[model=...] description tag or a Linear label of the same name.
Supported models by provider
Team or runtime configuration can override these defaults. Selecting a model requires access through the provider and a compatible Cyrus runtime. The linked provider pages list current choices, version requirements, and availability limitations.
Gemini models
The aliases above are expanded for bare Linear labels. Use the full model ID in description tags or provider/model labels, for example
[model=gemini-3-pro-preview] or gemini/gemini-3-pro-preview. Other Gemini IDs can be passed the same way if your runtime and Google account support them.
Select a provider and model together
A single Linear label can specify both:fable, opus, gpt-6-astra, or gemini-2.5-flash. Full Claude model IDs need a [model=...] tag or a claude/ label prefix.
Selection priority
- Description tags take priority over labels for the corresponding provider or model selection.
- A combined provider/model label takes priority over separate provider and model labels.
- An explicit provider takes priority over the provider inferred from a model name. If they conflict, Cyrus uses the explicit provider’s default model.
- With no explicit provider, recognized Claude, GPT, and Gemini model names infer the provider. Otherwise Cyrus uses the configured default provider.
OpenCode models on self-hosted runtimes
OpenCode is available as a self-hosted runner; it is not a provider choice in the hosted dashboard. Install and authenticate OpenCode on the machine running Cyrus, then use an explicit agent tag with an OpenCode provider/model ID:opencode/openai/gpt-5.5. Use a model available through your configured OpenCode provider.
On fully self-managed installations, opencodeDefaultModel and opencodeDefaultFallbackModel in ~/.cyrus/config.json set the runtime defaults. Cyrus does not select a built-in OpenCode model. Explicitly select OpenCode: a bare [model=openai/gpt-5.5] only infers OpenCode when inferOpenCodeRunnerFromProviderModel is enabled. See the Cyrus configuration reference for provider and runtime configuration.
Agent sessions
The agent (provider) cannot be switched within an active agent session. If you need to use a different provider on the same issue, a new agent session will be spawned with the selected agent.
Cyrus Community
Get support on Discord

