Skip to main content
Meerkat is provider-agnostic. Your tools, sessions, hooks, and configuration work identically across Anthropic, OpenAI, and Gemini. Switch providers by changing the model name — no code changes. Set an API key for at least one.

Provider setup

export ANTHROPIC_API_KEY="sk-ant-..."
ModelContextMax outputBest for
claude-opus-4-6200K / 1M (beta)128KComplex reasoning, highest quality
claude-sonnet-4-5200K / 1M (beta)64KBalanced performance and cost
claude-opus-4-5200K64KLegacy Opus (still supported)
claude-haiku-4-5200K64KFast, simple tasks
config.toml (active realm)
[agent]
model = "claude-opus-4-6"
max_tokens_per_turn = 16384

Environment variables

VariableFallbackProvider
RKAT_ANTHROPIC_API_KEYANTHROPIC_API_KEYAnthropic Claude
RKAT_OPENAI_API_KEYOPENAI_API_KEYOpenAI GPT
RKAT_GEMINI_API_KEYGEMINI_API_KEY, GOOGLE_API_KEYGoogle Gemini
The RKAT_* variants take precedence over provider-native names, so you can run Meerkat with dedicated keys separate from other tools.

SDK feature flags

When using Meerkat as a Rust library, enable only the providers you need:
FeatureDescriptionDefault
anthropicAnthropic Claude supportYes
openaiOpenAI GPT supportYes
geminiGoogle Gemini supportYes
all-providersAll LLM providers (convenience alias)No
meerkat = { version = "0.5", features = ["anthropic", "jsonl-store"] }

Provider parameters

Provider-specific options can be passed via the --param CLI flag or provider_params in the SDK:
ParameterDescription
thinking_budgetToken budget for extended thinking (integer)
top_kTop-k sampling parameter (integer)
rkat run --model claude-sonnet-4-5 --param thinking_budget=10000 "Solve this problem"

Model catalog

The meerkat-models crate maintains a curated catalog of all supported models with their capabilities, context windows, output limits, and provider profile rules. This catalog is the single source of truth for model defaults, allowlists, and capability detection. Query the catalog programmatically from any surface:
  • CLI: rkat models catalog
  • RPC: models/catalog
  • REST: GET /models/catalog
  • MCP: meerkat_models_catalog

Auto-detection

The provider is automatically inferred from the model name:
  • claude-* models use Anthropic
  • gpt-*, o1-*, o3-*, chatgpt-* models use OpenAI
  • gemini-* models use Gemini
You can override this with --provider on the CLI or provider in API requests.