models/catalog, REST
GET /models/catalog, and MCP meerkat_models_catalog. Configured
self-hosted aliases appear beside built-in models.
Current Defaults
During interactive login, or read preparation when a matching stored token
exists, the CLI can replace a built-in OAuth binding’s
default_model with
the provider’s current catalog default. This applies only to the following
reserved global binding/backend/auth profile IDs and frozen legacy values:
This is not a generic catalog migration: other binding IDs and other pins,
including
gpt-5.5, are not rewritten by this repair. A matching legacy value
has no provenance marker distinguishing an old CLI sample from an operator
pin. The replacement still requires account entitlement.
Provider Setup
The tables below are selected recommendations, not the exhaustive catalog. Userkat models for every supported ID and its current limits.
- Anthropic
- OpenAI
- Gemini
- Self-hosted
GPT-6 Astra: Initial Responses Support
Meerkat supports ordinary Astra Responses requests: text/image input, text output, application function calls, and the existing provider-native web-search path. Its 1,050,000-token context has a distinct 922,000-token input ceiling and a 128,000-token output ceiling (including reasoning). Context-budget projections apply the input ceiling in addition to the output reserve; estimated context pressure is not exact provider token accounting. Supported reasoning efforts arelow, medium, high, xhigh, and max.
none, temperature, top_p, and log-probability controls are unsupported.
Astra does not support the Realtime endpoint; it cannot back live/*.
For compatibility, existing OpenAI temperature and generic top_p settings
remain omitted from provider requests rather than gaining a new rejection
policy. Unsupported reasoning efforts and log-probability fields fail the
existing typed validation.
store: false remains the default. Assistant-item commentary and
final_answer phases, supported output order, and terminal encrypted
reasoning associated with assistant output survive transcript persistence and
input replay. The existing orphan-only compatibility rule remains: replay
strips reasoning from an assistant message with no replayable text, assistant
item, or tool output, even if that reasoning is encrypted. An empty identified
assistant item still counts as output. Provider response and item IDs are
continuity metadata, never Meerkat session identity.
misalignment_policy_violation is a typed terminal policy stop, not an
authentication error: Meerkat does not refresh credentials, retry, switch
providers, or reset the conversation to evade it.
This integration does not enable async/pending provider tools, early tool
dispatch, Responses WebSocket steering, configuration_update, tool search,
programmatic calling, new hosted tools/MCP/connectors, provider multi-agent
orchestration, provider compaction/conversations, or background responses.
Unsupported output execution semantics fail explicitly; additive inert
metadata does not disable established behavior. Direct OpenAI support does not
establish Astra availability on Azure, Copilot, ChatGPT OAuth, or a custom
endpoint.
See OpenAI’s model contract,
reasoning and phase guidance,
and misalignment monitoring.
Environment Credential Precedence
RKAT_* variables let Meerkat use dedicated credentials without taking over
keys used by other tools.
If public OpenAI and only unprefixed Azure variables are both present, public
OpenAI wins. Setting either prefixed Azure selector makes a complete Azure
key/endpoint pair the OpenAI environment default.
Environment credentials are synthesized as a typed ephemeral binding and go
through the same provider runtime resolver as configured bindings.
Public OpenAI API Versus ChatGPT OAuth
OpenAI has separate backend/auth pairs:
These are not interchangeable credential paths. A model ID available to an API
organization may be unavailable to a ChatGPT workspace, and vice versa.
rkat models reports the Meerkat catalog, not account entitlement. Keep a
binding’s backend, auth method, and default model aligned.
Copilot is also available beneath the Anthropic and Gemini provider families.
Those routes share one account-scoped credential while preserving the model’s
provider identity and selecting the account-advertised wire dialect. Model
entitlement is therefore an account observation, never a fixed property of the
Meerkat model registry.
See Auth for the full backend/auth compatibility matrix.
Model And Provider Resolution
The effective model registry is the built-in catalog plus configured custom and self-hosted entries. Provider resolution uses exact registry ownership, not name prefixes.- An explicit model wins.
- An explicit provider constrains every omitted-model choice.
- An explicit binding infers and validates its provider; its
default_modelwins when the model is omitted. - Otherwise Meerkat checks compatible configured defaults and then the provider/global catalog default.
- A known provider/model mismatch fails before agent construction.
- An uncataloged model needs an explicit typed provider/binding owner; a name
that merely begins with
gpt-orclaude-is never guessed.
Capability-Gated Projection
The durable session transcript remains provider-neutral and ordered. Each adapter projects that transcript and the effective tool surface to its wire format:- unsupported multimodal blocks or tools are rejected or hidden according to the model profile;
- system instructions remain ordered, and a limited provider projection fails when it cannot represent their positions without changing meaning;
- a model switch or fallback recomputes context/output limits and tool visibility from the newly selected catalog profile.
Provider Parameters
Use--param for common top-level parameters such as temperature. Use the
typed provider_params.provider_tag envelope for provider-specific fields:
- Anthropic
- OpenAI
- Gemini
top_k and the prompt-cache policies automatic
(the default on the Anthropic API, Vertex, and Foundry), system_prefix,
system_and_conversation, and disabled, plus cache_ttl (5m, the
default, or 1h). Bedrock and Copilot do not accept automatic caching:
they default to disabled and reject an explicit automatic locally. In a
mob profile or AgentBuildConfig the same knobs nest under
provider_tag:provider_params = { cache_control = "disabled" } fails the whole
definition parse: ProviderParamsOverride and AnthropicProviderTag are
both deny_unknown_fields, so the misplaced key is rejected before the
agent boots.provider_tools.<provider> toggle in config
or use rkat run --no-web-search for one run.
Model Fallback
Runtime model fallback is disabled by default. Operators must explicitly enable it and provide a non-empty ordered chain; catalog defaults are never a chain:Image Generation
Thegenerate_image builtin routes independently of the active chat model:
Generated bytes are stored as realm blobs and can be fetched through CLI,
RPC, MCP, or SDK blob methods. REST responses carry blob references but the
current REST router does not expose a blob-byte fetch route. See
Image generation for the request shape.
Rust Provider Features
meerkat facade enables anthropic, openai, and gemini by
default. Use all-providers as a convenience alias or disable default
features and select only the provider/storage capabilities your embedded build
needs. Shipped CLI/RPC/REST/MCP binaries use product feature sets rather than
the minimal library profile.
