Skip to main content

The model behind the agent

Every time OptiDev Agent builds something, it’s using an AI model. You choose which one. Start with Claude Sonnet 5. It’s the default, it’s the best all-rounder, and most people never need to change it. Switch models when you have a specific reason — a task that’s too hard, a task too small to spend much on, or a project too big to fit in one conversation. You can change models any time, even mid-project. Your work isn’t tied to a model.

Switching Models

For one project

At the bottom of the Agent chat box, click the model name. The picker groups models into Anthropic and Other providers, and each row shows two meters at a glance: Hover any model for a longer description, what it’s best for, and its speed rating.

For every new project

Go to SettingsWorkspace tab → AI Settings and set your Default Model. New projects that don’t have their own preference will use it.

Models Available

Anthropic

Other providers

Claude 4.7 Opus needs a Pro plan. On Free and Standard it appears in the picker with a crown icon and an Upgrade plan to use button. Every other model works on every plan, including Free.

If the agent is stuck on a bug after a couple of attempts, switching to a more capable model is often faster than re-prompting the same one.

Which Should I Pick?

Leave it on Claude Sonnet 5. Come back to this page when you hit something it struggles with.
Switch to Claude 4.7 Opus (Pro) or GPT-5.6 Terra. Both are built for hard reasoning. Ask it to analyze before changing anything: “Analyze this issue deeper and come up with a plan to fix it. Don’t make changes yet.”
Stay on Claude Sonnet 5 or move up to Claude 4.7 Opus — the stronger the model, the better it holds a large project in its head. It also helps to start a fresh session: “Read through the project to understand the current state, then…”
Use Qwen 3.5 Plus or Claude 4.5 Haiku. Both are far cheaper per task and fine for straightforward changes.

For Developers

Model IDs

Anthropic models resolve server-side through AppConfigService.getClaudeModel(), so the ID can be updated in the app_configs table without a deploy:Non-Anthropic models are addressed by their OpenRouter IDs: openai/gpt-5.6-terra, qwen/qwen3.5-plus-02-15, xiaomi/mimo-v2.5-pro.

Two engines

A model key containing / routes to the OpenCode engine (OpenRouter-backed); keys without one use the Claude engine directly. The stored workspace default is a key, not an ID — claude-4-sonnet is a legacy key that resolves to the current Sonnet.Selecting an unavailable or unknown model falls back to the default rather than erroring, so a model can be retired without breaking saved preferences.

Plan gating

Access is by tier, not by individual model — every non-Anthropic model is registered at the sonnet tier:Defaults live in code and are overridable per environment via app_configs.config.planFeatures.

Credit calculation

Credits are derived from actual API cost, which is why model choice changes consumption directly. The rate is configurable (config.credits.usdRate). Per-model spend is aggregated from credit_transactions and surfaced as Usage by Model on the billing page.

What’s Next?

Prompt Guide

Write prompts that get better results from any model.

Plans & Credits

See how credits are allocated and what each plan includes.