Switch the assistant's identity and model
How to choose the assistant identity (Koog / Claude Code / Codex), where the model is picked, and the four errors you hit when the switch fails.
Which model the AI assistant uses is chosen in two steps: first the assistant identity (who runs it), then the model (what it runs). Most people get stuck because they treat the two as one.
Step 1: pick the assistant identity
Go to Account settings → AI assistant. The very first field is the assistant identity type, with three choices:
| Identity | What it is | Which credential it needs |
|---|---|---|
| Koog | The built-in engine: calls ordinary LLMs directly by provider + model. This is the default. | An API key for that provider (OpenAI, Anthropic, OpenRouter, DeepSeek and so on) |
| Claude Code | Runs the Claude Code command line as the assistant itself. | A Claude subscription token — store it with provider claude_code_oauth |
| Codex | Runs the Codex command line as the assistant itself. | Codex's auth.json — store it with provider codex_subscription |
Switching to Claude Code or Codex without the matching subscription credential shows "no usable subscription credential for this identity" and the save is rejected — deliberately, so you never store a configuration that cannot run. The fix: add the credential under Integrations → Model providers first, then come back and switch.
Step 2: pick the model
Under the Koog identity
- First choose the configuration mode: preset template (pick a ready-made setup) or custom configuration (fill in each field yourself).
- Pick the provider — the model list is fetched per provider, so after changing providers reopen the model dropdown to reload it.
- Pick the LLM model. If the model you want is not listed, type the model ID by hand.
- Optionally pin which credential each provider should use. Left empty, it matches a credential of the same provider in personal-then-team order.
Under the Claude Code / Codex identity
The candidate models come from what your subscription account itself supports, not from the provider dropdown. Follow the hints in that runtime's own configuration block — on the Codex side, for example, names like gpt-5.6-sol are typical.
The one thing people mix up
Under the Koog identity there is a further block down the page: "Claude Code / Codex (as an external sub-agent called as a tool)". It is a completely different thing from the assistant identity type:
- Role — Decides who runs the whole conversation. Pick Claude Code and the assistant itself is Claude Code.
- External sub-agent — The assistant stays Koog and merely calls Claude Code or Codex as a tool when needed. This block only appears when external_agent is ticked in the tool set.
To replace the assistant itself, change the identity above; to let it borrow an external CLI occasionally, configure the sub-agent below.
Identity also decides whether it can edit workflows
The Koog identity can create and modify workflows in the conversation out of the box. With Claude Code or Codex it depends on an authoring channel configured on the deployment side; when that is missing, asking it to build a flow returns a clear message: this assistant identity does not support the in-app workflow editing tools, switch back to Koog.
If your main goal is having the assistant build workflows for you, staying on Koog is the least hassle. Switch over when you specifically want Claude Code's or Codex's coding ability — or simply select them for one agent step inside the workflow, as the next page describes.
Common errors and what they mean
| What you see | The actual cause | What to do |
|---|---|---|
| No Subscription Credential Found for the Current Identity | You switched to an external identity but the credential center has no subscription credential for that provider. | Add a claude_code_oauth or codex_subscription credential first, then switch identity. |
| This assistant identity does not support the in-app workflow editing tools | The authoring channel used by external identities is not ready on this deployment. | Switch back to Koog to finish the authoring, or ask an administrator to check the deployment configuration. |
| The model dropdown is empty | The model list for that provider failed to load, or you just changed providers and it has not reloaded. | Close and reopen the dropdown to trigger a refetch; if it stays empty, type the model ID directly. |
| Saved fine, but the first message complains about a missing key | A provider is selected but no credential resolves for it — neither personal nor team has one for that provider. | Add a credential for that provider in the credential center, or explicitly pick an existing one in the configuration. |
Read next
- Change the model of an agent in a workflow — Models inside a workflow are a separate setting and do not affect the assistant.
- BYOK: Bring Your Own Key — Where to obtain each provider's key and whose account the cost lands on.
- Credentials — How credentials are stored and how personal and team lookups resolve.