Skip to main content
GridOS ships with a static catalog of models across four providers. Once you configure an API key for a provider, every model from that provider appears in the model picker dropdown in the chat composer. You can switch models between requests without restarting. This page is the authoritative catalog — ordered by practical usefulness, not alphabetically.

Model catalog

Anthropic Claude

Groq

Fast inference (~500–1000 tokens/sec) but tight free-tier TPM. See the free-tier fit table before picking a Groq model on free tier.

OpenRouter

llama-3.1-8b-instant (Groq) is in the catalog but hidden from the chat composer’s model picker — its 6K TPM free-tier ceiling can’t fit GridOS’s agent prompt. It’s used internally as the router classifier, where prompts are small enough to fit.

Picking a model

Open the chat composer at the bottom of the workbook view. The model picker dropdown is embedded in the composer — click it to see every model available for your configured providers. Select any model and your next chat message uses it. The selection persists across page reloads (stored in localStorage).
If a model returns garbled or non-JSON output, switch to a stronger one (Claude Sonnet, Gemini Pro) or rephrase to be more specific. If you hit 413 — Request too large, switch providers or enable chain mode — see Troubleshooting.

The router model

GridOS uses a separate, smaller model for intent classification — deciding whether your prompt needs the finance agent or the general agent. This routing call is pinned to whichever fast small model has a configured key, in this preference order:
  1. llama-3.1-8b-instant (Groq, ~560 tps)
  2. gemini-3.1-flash-lite-preview (Google)
  3. claude-haiku-4-5-20251001 (Anthropic)
  4. meta-llama/llama-3.2-3b-instruct:free (OpenRouter)
The router call is transparent: it reserves only 32 completion tokens (enough for one lowercase agent id), so it fits even the tightest free-tier TPM buckets. Your chosen model in the composer drives only the agent call — the part that actually writes cells.

Adding your own models

Self-hosted users can extend the catalog two ways: Create a plugin that calls kernel.model({...}) — see Plugins for the full walkthrough. Plugins don’t require editing core files and can ship as a self-contained directory.

By editing core/providers/catalog.py

Append an entry to MODEL_CATALOG:
The UI picks up new entries on the next page load, as long as the owning provider has a configured key.
Restricting a model to router use only? Add "router_only": True — the picker will hide it but route_prompt() will still reach it.