More Agents
Zed
Quick answer
Prism registers a provider called
prism under language_models.openai_compatible in Zed's settings.json. Every model in your catalog arrives with its context window, vision capability and reasoning setting already filled in, so Zed's agent panel can use it immediately.Last updated Reviewed against Prism v0.3.26
One-click setup
1
Open the Agents tab
In the Admin UI, select
Agents. Zed is detected via its settings file, the zed CLI, or /Applications/Zed.app on macOS.2
Click Setup
Prism backs the file up once as
settings.json.prism-backup, then merges the provider block into language_models.openai_compatible.3
Pick a Prism model in Zed
Open Zed's model picker and choose any model under the Prism provider.
Config file locations
| Platform | Path |
|---|---|
| Windows | %APPDATA%\Zed\settings.json |
| macOS | ~/Library/Application Support/Zed/settings.json |
| Linux | $XDG_CONFIG_HOME/zed/settings.json (default ~/.config/zed/settings.json) |
What Prism writes
{
"language_models": {
"openai_compatible": {
"prism": {
"api_url": "http://127.0.0.1:11434/v1",
"custom_headers": { "X-Client-Name": "Zed" },
"available_models": [
{
"name": "glm-5.1:cloud",
"display_name": "GLM 5.1 (Ollama Cloud)",
"max_tokens": 128000,
"max_output_tokens": 16384,
"capabilities": {
"tools": true,
"images": true,
"parallel_tool_calls": false,
"prompt_cache_key": false,
"chat_completions": true,
"interleaved_reasoning": false,
"max_tokens_parameter": false
},
"reasoning_effort": "high"
}
]
}
}
}
}Per-model fields
| Field | Source |
|---|---|
| name | The model's route key — the name Zed sends to Prism. |
| display_name | The readable name from your Prism catalog. |
| max_tokens | The model's context length, defaulting to 128000. |
| max_output_tokens | The model's max output, defaulting to 16384. |
| capabilities.images | false unless the model reports vision support. |
| capabilities.chat_completions | false for Responses-only models, so Zed calls /v1/responses for them instead. |
| reasoning_effort | Written only for reasoning models. Zed takes one value per model, so Prism prefers high. |
The X-Client-Name header is deliberate
Zed's User-Agent is not informative in every request, so Prism adds an
X-Client-Name: Zed header to its provider block. That is how Zed traffic is labelled in the Stats dashboard.Mixing protocols in one provider
Unlike most agents, Zed does not need two provider entries. Its capabilities.chat_completions flag is per model, so a Responses-only model and a Chat Completions model can live side by side under the single prism provider. Prism sets the flag correctly for each model.
JSONC comments are removed on rewrite
Zed's settings file is JSONC, so comments and trailing commas are common. Prism reads JSONC correctly, including a // inside a string, but the file it writes back is plain JSON — comments are lost on the rewrite.
Your original is kept
Because of this, Prism always leaves
settings.json.prism-backup holding the untouched original, comments included. Prism logs a note when it detects that comments were dropped.Add MCP servers
Zed keeps MCP servers in the same settings file, under context_servers. Enabling Zed in the MCP tab writes a gateway entry there with the Prism token. See MCP Gateway.