Models & providers
Lime ships four provider backends. Each maps onto its own Cargo crate and its own wire protocol; the runtime selects the right backend for the active model.
How model selection works
The active model is resolved in this order:
--model SLUGcommand-line flag.LIME_MODELenvironment variable.models.default.slugin merged config.- The hard-coded default
gpt-5.4.
The slug is looked up in the merged catalog — built-in entries plus
any user entries in ~/.lime/models.json. User entries override built-ins
on slug collision; new slugs are appended.
lime --model claude-opus-4-7lime --model o4-mini --reasoning-effort highlime --model pro # alias for gemini-2.5-prolime --model llama-3.3-70b # a custom slug from ~/.lime/models.jsonInside the REPL, /model shows the merged catalog and switches mid-session:
/model claude-sonnet-4-6/reasoning xhigh # only on models that support it/verbosity lowPer-model capabilities
The catalog records what each model supports. Capabilities flagged on a model entry:
| Capability | What it gates |
|---|---|
supports_vision | The model accepts images. |
supports_parallel_tool_calls | Multiple tool calls per turn. |
supports_reasoning_summaries | OpenAI-style reasoning summaries (encrypted_content). |
supports_extended_thinking | Anthropic-style extended thinking. |
param_preset | Which --reasoning-effort / --verbosity values the provider will accept. |
param_preset values:
none— neither reasoning effort nor verbosity is applicable.verbosity_only— verbosity is forwarded; reasoning effort is ignored.reasoning_only— reasoning effort is forwarded; verbosity is ignored.reasoning_and_verbosity— both are forwarded.
Bring your own catalog
~/.lime/models.json is merged with the built-in catalog. You can override
a built-in (e.g. raise an auto-compact threshold) or register a brand-new
slug.
lime model add \ --slug llama-3.3-70b \ --provider openai-compat --service groq \ --api-id llama-3.3-70b-versatile \ --context-window 128000
lime model list # show the merged catalog with built-in/user tagslime model rm llama-3.3-70bSet LIME_MODELS_FILE to override the path (primarily for testing). If the
file is absent or unparseable, Lime silently falls back to the bundled
catalog. See Custom models for the full
schema.