Factory Droid
~/.factory/settings.local.json — the local-override file that Droid merges on top of settings.json but never rewrites — so your Prism models keep working after Droid updates itself.Last updated Reviewed against Prism v0.3.26
Why the local-override file
Droid manages ~/.factory/settings.json itself and can overwrite it. Writing custom models there would lose them. Prism writes to settings.local.json instead, which Droid merges over the main file and leaves alone.
settings.json. Current versions strip those stale entries on the next sync, so no manual cleanup is needed.One-click setup
Open the Agents tab
Agents. Droid is detected when ~/.factory/settings.json exists or the droid binary is on PATH.Click Setup
settings.local.json.prism-backup.Restart Droid
What Prism writes
{
"customModels": [
{
"model": "glm-5.1:cloud",
"displayName": "GLM 5.1 (Ollama Cloud)",
"baseUrl": "http://127.0.0.1:11434/v1",
"apiKey": "prism",
"provider": "generic-chat-completion-api",
"maxOutputTokens": 16384,
"noImageSupport": false
}
]
}How the provider field is chosen
| Model protocol | provider value | Endpoint Droid uses |
|---|---|---|
| chat_completions | generic-chat-completion-api | /v1/chat/completions |
| responses, or a Codex OAuth model | openai | /v1/responses |
Per-model protocol is a Prism-internal detail; Droid just needs to know which endpoint to hit. Prism picks the right one for each entry.
Other fields Prism sets
| Field | Source |
|---|---|
| displayName | Your model's display name in the Prism catalog. |
| maxOutputTokens | The model's configured max output, defaulting to 16384. |
| noImageSupport | true unless the model reports vision capability. |
Your own custom models are kept
Non-Prism customModels entries from both files are collected, de-duplicated by their model field and written back alongside the Prism ones. Disabling the integration removes only the entries Prism tagged.
Add MCP servers
Droid keeps MCP servers in ~/.factory/mcp.json. Prism writes an HTTP entry with an explicit oauth: false so Droid does not start its own OAuth flow for a server that authenticates with a plain header. See MCP Gateway.