Reference
Config Reference
Quick answer
Prism stores its settings in
config.json in its per-user config directory, and its model routing in a sibling model_remapping.json. Both files are created on first run, can be edited by hand or through the Admin UI, and are hot-reloaded — Prism picks up a change within seconds without a restart.Last updated Reviewed against Prism v0.3.26
File locations
| Platform | Config directory |
|---|---|
| Windows | %APPDATA%\prism\ |
| macOS | ~/Library/Application Support/prism/ |
| Linux | $XDG_CONFIG_HOME/prism/ (default ~/.config/prism/) |
The same directory holds the proxy config, the model routing file, the stats database, and the managed SearXNG runtime:
config.json # proxy, provider, search, MCP and telemetry settings model_remapping.json # default model, known models and aliases stats.db # request statistics (SQLite, WAL mode) analytics_id.txt # random anonymous telemetry id (only if telemetry ran) codex_catalog.json # model catalog written for Codex Desktop searxng/ # managed SearXNG venv, settings and caches logs/ # log files (Linux; Windows and macOS log to the config dir)
Top-level keys
| Key | Type | What it does |
|---|---|---|
| default_provider | string | Fallback provider id used when a model has no explicit provider. Usually ollama_cloud or opencode_go. |
| ollama_cloud | object | Credentials for the built-in Ollama Cloud provider: { id, name, base_url, api_key }. |
| opencode_go | object | Credentials for the built-in OpenCode Go provider: { id, name, base_url, api_key }. |
| custom_providers | array | Any number of OpenAI-compatible providers, each with id, name, base_url and api_key. IDs look like custom_openrouter_ab12cd. |
| oauth_accounts | array | Codex/OpenAI OAuth accounts. Prism manages access tokens, refresh tokens and usage for each entry. |
| agent_integrations | object | One-click agent setup state: claude_code_tiers { opus, sonnet, haiku, subagent } and auto_sync { <agent-id>: bool }. |
| searxng_autostart | boolean | Start the managed SearXNG instance together with Prism. |
| debug_logs | boolean | Verbose logging. Also toggled from the Proxy tab in the Admin UI. |
| search | object | Web search providers, fallback chain, limits, and custom REST providers. See below. |
| mcp | object | MCP gateway servers, per-agent access, registries and idle timeout. See below. |
| analytics_opt_out | boolean | Set true to disable the anonymous daily heartbeat. See Telemetry & Privacy. |
| analytics_notice_seen | boolean | Whether the first-run telemetry notice has been shown. |
Example config.json
{
"default_provider": "ollama_cloud",
"ollama_cloud": {
"id": "ollama_cloud",
"name": "Ollama Cloud",
"base_url": "https://ollama.com",
"api_key": "your-ollama-cloud-key"
},
"custom_providers": [
{
"id": "custom_openrouter_ab12cd",
"name": "OpenRouter",
"base_url": "https://openrouter.ai/api/v1",
"api_key": "sk-or-v1-..."
}
],
"agent_integrations": {
"claude_code_tiers": {
"opus": "glm-5.1:cloud",
"sonnet": "deepseek-v4-flash:cloud",
"haiku": "deepseek-v4-flash:cloud",
"subagent": "deepseek-v4-flash:cloud"
},
"auto_sync": { "claude-code": true, "codex": true }
},
"searxng_autostart": true,
"debug_logs": false,
"analytics_opt_out": false
}search — web search providers
| Key | Default | What it does |
|---|---|---|
| active | searxng | The provider used for search interception. One of searxng, exa, tavily, brave or serper, or a custom provider id. |
| fallback | [] | Ordered list of provider ids to try when the active provider fails or returns nothing. |
| max_per_turn | 5 | How many search calls Prism will serve within a single agent turn. |
| timeout_ms | 8000 | Per-request timeout for a search call. |
| default_num_results | 5 | Results requested per query. Capped at 10. |
| providers | {} | Per-provider settings keyed by id, e.g. providers.exa.api_key or providers.searxng.base_url. |
| custom_providers | [] | User-defined declarative REST providers. See the Web Search page for the full field list. |
mcp — gateway and servers
| Key | Default | What it does |
|---|---|---|
| servers | [] | Upstream MCP servers. Each has id, name, transport (stdio | http | sse), enabled, and either command/args/env for stdio or url/headers for HTTP. |
| agent_servers | {} | Per-agent allowlist mapping an agent id to the server ids it may reach through /mcp/<agent>. |
| idle_timeout_sec | 300 | How long a warmed stdio server stays alive after its last use before Prism stops it. |
| registries | [] | Marketplace catalogs. The official registry is seeded as builtin and cannot be removed; private registries add auth_header. |
| auto_connect | true | Let Prism start an OAuth sign-in by itself the first time an agent uses a server that has no token yet. |
| client_id_metadata_url | — | Opt-in CIMD registration URL for OAuth servers that require a hosted client metadata document. |
model_remapping.json
Model routing lives in a separate file. It has three sections: the fallback default_model, the known_models catalog (which carries each model's provider and capabilities), and aliases for name rewriting.
{
"default_model": "glm-5.1:cloud",
"known_models": [
{
"id": "glm-5.1:cloud",
"provider": "ollama_cloud",
"reasoning": true,
"reasoning_effort": ["low", "medium", "high"],
"context_length": 128000,
"max_output_tokens": 16384,
"capabilities": {
"tool_calling": true,
"structured_outputs": true,
"vision": true
},
"api": "chat_completions"
},
{
"id": "gpt-5-codex",
"provider": "codex_ab12cd",
"api": "responses"
}
],
"aliases": {
"claude-3-5-sonnet-20241022": "glm-5.1:cloud",
"claude-3-5-haiku-20241022": "deepseek-v4-flash:cloud"
}
}| Model field | What it does |
|---|---|
| id | The model name clients send, and the name Prism forwards upstream. |
| provider | Which configured provider serves this model. This is what makes provider-per-model routing work. |
| reasoning | Whether the model accepts a reasoning/thinking parameter. |
| reasoning_effort | Allowed effort values for reasoning models. Prism strips or normalizes invalid values instead of failing the request. |
| context_length | Context window, used to fill agent-side model metadata. |
| max_output_tokens | Maximum output tokens, used to fill agent-side model metadata. |
| capabilities | tool_calling, structured_outputs and vision flags, so agents only advertise what the model can do. |
| api | chat_completions (default) or responses. Model-level override of which inbound-style protocol Prism uses upstream. |
Environment variables
| Variable | Default | What it does |
|---|---|---|
| PRISM_PORT | 11434 | Proxy listen port. Change it if a real Ollama already owns 11434. |
| PRISM_HOST | 127.0.0.1 | Proxy bind address. |
| PRISM_ADMIN_PORT | 8765 | Admin web UI port. |
| OLLAMA_API_KEY | — | Fallback Ollama Cloud key when the config file has none. |
| OPENCODE_GO_API_KEY | — | Fallback OpenCode Go key when the config file has none. |
| EXA_API_KEY | — | Auto-detected Exa key for web search. |
| TAVILY_API_KEY | — | Auto-detected Tavily key for web search. |
| BRAVE_SEARCH_API_KEY | — | Auto-detected Brave Search key. |
| SERPER_API_KEY | — | Auto-detected Serper key. |
| PRISM_ANALYTICS_DISABLED | — | Set to 1 to disable the anonymous heartbeat. |
| PRISM_ANALYTICS_DEBUG | — | Set to 1 to log telemetry payloads instead of sending them. |
| KIMI_CODE_HOME | — | Override where Prism looks for Kimi Code's config. |
| DSH_HOME | — | Override where Prism looks for DeepSeek Harness profiles. |
| HERMES_HOME | — | Override where Prism looks for Hermes' config. |
Precedence
A value in
config.json wins over the matching environment variable. Environment variables are the fallback, not an override.Command-line flags
Prism has exactly one flag. Everything else is configured through the file, the environment, or the Admin UI.
prism --serve # run the headless proxy in the console, without the tray icon
No autostart flags
Earlier builds documented
--autostart, --no-autostart and --minimized. Those flags do not exist. Auto-start is toggled from the tray menu or the Admin UI Proxy tab, and auto-started instances start minimised in the tray on their own.Related
Provider Setup
Configure Ollama Cloud, OpenCode Go, custom providers and Codex OAuth.
Model Remapping
Aliases, per-tier mappings and per-model API protocol in practice.
Web Search
The search config section, providers and custom REST endpoints.
MCP Gateway
Servers, transports, registries and per-agent access.