Ixel
Get started

Set up your models

Ixel has no models of its own. It uses yours: API keys, the subscription programs you're already signed in to, and models running on your own computer. Mix them freely; a panel holds up to eight.

What Ixel can use

KindWhichPaid how
API keysOpenAI, Anthropic, Google Gemini and xAI (Grok)Per token, on your account with that company
Subscription programsClaude Code, Codex, Gemini CLI, GitHub Copilot, OpenCode, Grok BuildYour plan with that company; no API key needed, except for Gemini CLI
Local modelsOllama, LM Studio, or any server that speaks the OpenAI chat APIFree: they run on your own hardware
Other modelsDeepSeek, Kimi, GLM, MiMo and others, through OpenCode or their own APITheir company's prices
Three or more

With two models, a disagreement is a tie. If you have fewer than three, ixel setup shows what you can add at no cost: Gemini CLI (free with a Gemini API key, though Google trains on the free tier, except in the EEA, Switzerland and the UK) and Ollama (open models on your own computer).

Run ixel setup

In a terminal:

ixel setup

It walks you through the rest, and you can press Enter to keep each default or answer n to skip:

  1. API keys

    For OpenAI, Anthropic, Google Gemini and xAI, paste a key if you have one. It stays hidden as you type. Ixel checks it with the company and saves it encrypted; the key that opens it goes in your system's keychain (or, on a computer with no keychain Ixel can use, in a file only you can read). For each one you pick a model; the default, latest, is that company's newest top model.

  2. Your subscription programs

    If Claude Code, Codex, Gemini CLI, Copilot, OpenCode or Grok Build is installed, it offers to add it. Antigravity is offered with its warning, and stays off unless you say yes. Sign in to each one first, in the program itself.

  3. Local models

    If Ollama, LM Studio or another model server (llama.cpp, vLLM, Jan, GPT4All, KoboldCpp) is running on this computer, its models are listed, and you add the ones you want with no key. It also offers to add models on another of your computers, by its name or address. Local models has more.

  4. How you like to ask

    Choose your default mode, who writes the verdict, and what happens when you type a question without a command.

  5. Saver and Triage

    Choose which model verifies in Saver mode, and whether to turn on Triage. Both are explained under the jobs on your panel.

When it's done, check that everything works:

ixel status            # keys checked with each company, and each model's connection
ixel doctor --check    # every part of Ixel, and asks each model's server whether it answers
Running setup again

ixel setup keeps what it doesn't ask about: models you added by hand or in the app (it lists them and asks first), each model's effort and pictures settings, and the choices you made in the app, such as which models sit on the panel. It rewrites your settings file, so comments you wrote in it aren't kept; the old file is saved beside it as config.toml.bak. To change a model you already have, Settings in the app or ixel model is quicker.

API keys

Each company gives you a key in its own console. Ixel sends a key only to the company it belongs to, over HTTPS.

CompanyGet a keySaved as
Anthropic (Claude)console.anthropic.comANTHROPIC_API_KEY
OpenAI (GPT)platform.openai.comOPENAI_API_KEY
Google (Gemini)aistudio.google.comGOOGLE_API_KEY
xAI (Grok)console.x.aiXAI_API_KEY

You can also paste, replace or remove a key in the app, under Settings, Keys. It's never shown again once saved. A key set in your system or shell wins over one saved in Ixel, and the page says so.

Subscription programs

These use the plan you already pay for, not API credits. Install the program, sign in to it once on its own, then run ixel setup.

ProgramUsesInstall
Claude CodeYour Claude Pro or Max plannpm install -g @anthropic-ai/claude-code
CodexYour ChatGPT plannpm install -g @openai/codex
Gemini CLIA Gemini API key saved in Ixel (Google trains on the free tier, except in the EEA, Switzerland and the UK), or a work Google account with Gemini Code Assist Standard or Enterprise. Since June 2026, a personal Google account can't sign in to it: if gemini still has one saved, switch it to an API key with /auth in gemininpm install -g @google/gemini-cli
GitHub CopilotYour Copilot plannpm install -g @github/copilot
OpenCodeWhatever you've signed in to in OpenCode (not its free tier, which turns Ixel down)npm install -g opencode-ai
Grok BuildYour SuperGrok plan, or another xAI plan that includes Grok Build. Sign in with grok login, which opens your browsernpm install -g @xai-official/grok
AntigravityYour Google AI Pro plan, through Google's Antigravity (agy), signed in with your Google account. It stays off until you say yes in ixel setup or switch it on in Settings, and Ixel shows its warning first: Google's terms may not allow other tools to use it (Privacy has more). A Gemini API key avoids thatFrom antigravity.google

On the panel they only answer: each runs in a fresh, empty folder with its tools switched off, so it can't run commands or change your files. Privacy has the details, and says which plans are used for training. ixel status checks that each one is installed, not that you're signed in. (ixel doctor and Health in the app also look for Gemini CLI's and Grok Build's sign-in.) If a program's answers come back as a login error, run it once on its own and sign in.

Other models

There are two ways to add a model from a company Ixel doesn't set up for you:

  • Through OpenCode. OpenCode can sign in to many companies. Set it up with the model you want, then add OpenCode in ixel setup.
  • Through its company's API, if it speaks the OpenAI chat API (most do). Add it to ~/.config/ixel-mat/config.toml by hand, with the full address ending in /v1/chat/completions, and put its key in ~/.config/ixel-mat/.env under the name you give in token_env. The next time Ixel starts, it moves the key into your keychain:
[agents.deepseek]
type = "http"
url = "https://api.deepseek.com/v1/chat/completions"
token_env = "DEEPSEEK_API_KEY"
model = "deepseek-chat"
label = "DeepSeek"

Some of these companies, DeepSeek and Kimi among them, train on what you send: Which companies may train on it has the details. The address and model name here are an example: use the ones the company's own docs give. Give the model by name: latest works only for OpenAI, Anthropic, Gemini and xAI.

The jobs on your panel

Every model on the panel answers and reviews. A few jobs go to one model, and you choose which in Settings in the app (or in config.toml). Which model for each job has picks from a benchmark.

JobWhat it doesWhere you set it
Writes the verdictReads every answer and every review, and writes the final answer, saying where the panel disagreed. Unless you pick one, it's the author of the best-rated answer.Settings, Asking: Who writes the verdict
[review] moderator
Big model that verifiesIn Saver mode, checks the cheaper models' drafts and replies in a few words: confirmed, or what's wrong. It writes an answer only if you tell it to fix wrong drafts itself.Settings, Saver: Big model that verifies
[saver] verifier
Models that draftIn Saver mode, answer and review each other before the big model looks. By default, it's every model but the verifier.Settings, Saver: Models that draft
[saver] drafters
Decides, in TriageAnswers short questions between rounds: how much checking a question needs (for Auto mode), and whether the answers agree. It's off unless you turn it on.Settings, Triage
[triage] agent, or provider = "typesafe"
The app's Settings page: Asking, with Private and who writes the verdict; Saver, with the big model that verifies and the models that draft; and Triage
Settings in the app: each choice is saved as you make it. (Example models.)

Who decides, in Triage

  • One of your own models. Pick a fast, cheap one. There's no new account, and nothing goes anywhere your panel doesn't already. Its confidence is its own estimate, so leave "Skip review when the answers agree" off, or keep its threshold high.
  • TypeSafe's decision API. It's built for exactly this: calibrated answers in about a second, for a fraction of a cent. It needs your own TypeSafe key, and sends TypeSafe your questions and the models' answers (never your other keys, or which model wrote what). Get the key only from typesafe.ai itself.

Change a model

In the app, Settings, Models lists each model on your panel. Pick its model from a list: the company's own list when Ixel has a key for it, the models OpenCode already knows, what your local server has, or a list built into Ixel (which says it may be out of date). Other… takes any name. In a terminal, ixel model does the same:

ixel model                    # every model on your panel, and what "latest" means today
ixel model opus               # the models that one can use
ixel model opus latest-fast   # change it
  • latest is the company's newest top model, looked up from your account each time Ixel starts, so a new release is used the day it comes out. latest-fast is its newest small, fast one, a good drafter.
  • For a subscription program, leaving the model empty uses the program's own default, which its maker keeps current.