Inference providers
Providers are native extensions that implement InferenceEngine. The runtime selects an engine by provider id, sends it a canonical Roder turn, and receives canonical inference events back. Long sessions respect provider compaction boundaries so compacted state stays compact instead of replaying the full pre-compact history on later turns.
Default provider set
roder-ext-openai-responses- OpenAI Responses-style inference, including Codex GPT-5.6 catalog entries and Ultra effort mapping.roder-ext-openai-chat-completions- chat-completions-compatible endpoints.roder-ext-anthropic- Anthropic Messages-style inference.roder-ext-claude-code- the local Claude Code CLI, with resumable sessions and optional Claude-in-Chrome browser tools.roder-ext-gemini- Gemini through the configured Google-compatible API-key path.roder-ext-vertex- Gemini-on-Vertex through service-account OAuth and regional Vertex AI endpoints.roder-ext-xai- SuperGrok OAuth and direct xAI API-key inference, with Grok 4.5 as the default model.roder-ext-cursor- Cursor Composer and proxied frontier models, including Claude Fable 5, through Cursor AgentService.roder-ext-kimi-code- Kimi Code through subscription OAuth or API-key auth.roder-ext-openrouter- OpenRouter API-key provider, including the Grok Build catalog entry.roder-ext-roder-cloud- roder.cloud hosted inference using a roder_ team key exchanged for short-lived JWTs.roder-core::fake_provider- deterministic mock behavior for tests and offline work.roder-codex-authand host wiring - Codex OAuth with GPT-5.6 Sol as the default Codex model where enabled.
Claude Code and Claude in Chrome
The claude-code provider runs the local Claude Code CLI under Roder while reusing its session between turns. If Claude's Chrome extension is paired, Roder can automatically enable the CLI's native browser tools forclaude-code/* models. Those calls run through Claude Code and appear as hosted tool activity in Roder, while every other unmapped CLI tool remains denied.
Fireworks provider
Fireworks AI is a first-party provider with canonical id fireworks. It uses Fireworks-specific credentials, preserves slash-bearing accounts/fireworks/models/... ids, and streams through the OpenAI-compatible Responses adapter. Offline metadata keeps it visible in provider menus before a key is configured.
Codex OAuth
The Codex provider catalog now exposes gpt-5.6-sol,gpt-5.6-terra, gpt-5.6-luna, gpt-5.5,gpt-5.4, gpt-5.4-mini, andgpt-5.3-codex-spark. New Codex-backed sessions default togpt-5.6-sol. Sol and Terra support Roder's ultraeffort, which remains visible in Roder while the Responses transport maps it to the provider's max reasoning effort. Ultra also turns on bounded proactive delegation for those models. Spawned teammates inherit the live Codex model, Ultra effort, policy, runner, tools, and workspace unless the spawn requests a fresh-context compatible override; lower efforts keep teammate spawning explicit-request-only.
Codex and other OpenAI Responses-backed providers preserve opaque provider-side compaction items in the transcript. Once a compaction item appears, Roder treats it as the next turn's context boundary: the compact state and new work are sent forward, while older conversation and tool output stay in the durable session record instead of being re-sent to the model.
roder auth login codex
RODER_PROVIDER=codex RODER_MODEL=gpt-5.6-sol cargo run -p roder-cli
RODER_PROVIDER=codex RODER_MODEL=gpt-5.6-terra RODER_REASONING=ultra cargo run -p roder-cliCursor AgentService
Cursor is now a native provider id. Roder exchanges a Cursor User API Key, calls the HTTP/2 AgentService path directly, streams text and thinking metadata, and maps Cursor-native read, edit, shell, grep, and glob requests into canonical Roder tools. Agentic Cursor turns still execute through Roder policy and tool routing rather than bypassing the runtime.
The catalog includes composer-2.5-fast, gpt-5.5-fast, andclaude-fable-5. Fable 5 is exposed as a 1M-context Cursor-routed model with high reasoning by default and the full Opus-style effort range up toxhigh and max. Reasoning selections map to Cursor'seffort, thinking, and fast request parameters, while a stable per-thread conversation id keeps multi-turn context attached to the right Roder thread.
export CURSOR_API_KEY="..."
RODER_PROVIDER=cursor RODER_MODEL=cursor/composer-2.5 cargo run -p roder-cliKimi Code auth
Kimi Code can use the managed subscription OAuth flow or a saved API key. The CLI supports both through roder auth login kimi-code; pass--api-key to paste or provide a key directly, or --oauth to force the browser-based subscription flow. Status reports API-key configuration, and logout clears the saved provider key.
roder auth login kimi-code --api-key
roder auth status kimi-code
roder auth logout kimi-codexAI and SuperGrok
The roder-ext-xai provider installs both the direct xaiAPI-key surface and the OAuth-backed supergrok surface. Both catalogs default to grok-4.5, exposed with a 500k context window, high reasoning by default, and explicit low, medium, and highreasoning choices. Older Grok 4.3, Grok 4.20, SuperGrok Build, and SuperGrok Composer entries remain selectable for pinned workflows.
export XAI_API_KEY="..."
RODER_PROVIDER=xai RODER_MODEL=grok-4.5 cargo run -p roder-cli
roder auth login supergrok
RODER_PROVIDER=supergrok RODER_MODEL=grok-4.5 cargo run -p roder-cliOpenRouter and Grok Build
OpenRouter is a first-class provider id. The built-in catalog includesx-ai/grok-build-0.1, a 256k-context Grok Build route that supports tools, structured outputs, image input, compaction, and patch-style edits. Roder keeps the OpenRouter model slug intact, so clients should keep provider and model fields separate instead of splitting every model id on /. Its reasoning options arenone, low, medium, and high.
roder.cloud and Vertex
Roder now includes two infrastructure-oriented provider paths. Theroder.cloud provider routes through Roder's hosted inference service, using a synchronous Responses-style subset and a short-lived token exchange. The Vertex provider runs Gemini models through Google Cloud regional endpoints with service-account OAuth, so enterprises can use Vertex access without switching to the Gemini API-key provider.
export OPENROUTER_API_KEY="..."
RODER_PROVIDER=openrouter RODER_MODEL=x-ai/grok-build-0.1 cargo run -p roder-cliSee OpenRouter setup for environment variables, optional attribution headers, model discovery, and app-server configuration behavior.
Selecting defaults
# ~/.roder/config.toml
provider = "codex"
model = "gpt-5.6-sol"
reasoning = "medium"RODER_PROVIDER=anthropic RODER_MODEL=claude-opus-4-5 cargo run -p roder-cli
RODER_PROVIDER=mock cargo run -p roder-cliEmbedding providers
The memory subsystem uses provider-neutral embedding backends. The first-party remote providers include OpenAI text-embedding-3-large, Googlegemini-embedding-2, and ZeroEntropy zembed-1. The shared embedding contract carries query/document intent so retrieval providers can tune memory lookups without leaking provider-specific request shapes into the runtime.
roder memory providers set google --model gemini-embedding-2
roder memory providers set zeroentropy --model zembed-1Provider contract
- Advertise metadata, auth type, capabilities, and model descriptors.
- Stream text, tool calls, errors, and completion as canonical
InferenceEventvalues. - Mark local or provider-side compaction records as hard context boundaries for future turns.
- Preserve tool-call ids across the turn so the runtime can route results back correctly.
- Handle cancellation promptly when the active turn is interrupted.
Compaction behavior
Roder recognizes both local ContextCompaction summaries and OpenAI Responses provider metadata items whose output contains a compaction record. The runtime trims future provider requests to the latest boundary, preventing repeated server-side compaction loops in very long sessions.
The Anthropic adapter also maps local context summaries into Messages API input on the emergency client-side path. That keeps the summary visible to Claude models while dropping older pre-summary chat, tool calls, and tool output from the active request window.
Media providers
Image generation providers are deliberately separate from chat inference providers. OpenAI GPT Image and Google Gemini image models live in the media catalog and are selected through media generation, not the chat model picker.