Cline
Point Cline at DurinDoor as an OpenAI provider in ~/.cline/data.
Cline stores provider choice in ~/.cline/data/globalState.json and the secret in ~/.cline/data/secrets.json. DurinDoor's Apply path sets both act and plan modes to the OpenAI provider and points the base URL at this gateway.
You need VS Code with Cline (or the Cline CLI), the gateway running, a DurinDoor API key, and a chat-capable model or combo. Install Cline from docs.cline.bot.
Dashboard apply
Open CLI Tools, then Cline (/dashboard/cli-tools/cline). Choose an endpoint, gateway key, and model, then click Apply. The files are on the host running DurinDoor. If Cline runs elsewhere, use the manual settings below on that host.
Cline wants the origin, not /v1. The route strips a trailing /v1 before the write. The dashboard picker still shows http://localhost:20128/v1; the file ends up as http://localhost:20128.
It then sets:
actModeApiProviderandplanModeApiProviderto"openai"openAiBaseUrlto that originopenAiModelIdandplanModeOpenAiModelIdto the selected modelsecrets.jsonopenAiApiKeyto the DurinDoor key (orsk_durindooron localhost when none is selected)
Reset restores act/plan providers to "cline" and deletes those OpenAI fields plus openAiApiKey. Other keys in the two files stay.
Apply uses the Cline CLI data directory. A VS Code extension version that stores its settings elsewhere needs manual configuration in its own settings UI. Back up existing JSON before applying; this path can replace malformed files with empty objects.
Manual config
~/.cline/data/globalState.json (merge with whatever Cline already stored):
{
"actModeApiProvider": "openai",
"planModeApiProvider": "openai",
"openAiBaseUrl": "http://localhost:20128",
"openAiModelId": "provider/model-id",
"planModeOpenAiModelId": "provider/model-id"
}~/.cline/data/secrets.json:
{
"openAiApiKey": "YOUR_DURINDOOR_API_KEY"
}openAiBaseUrl must not end with /v1. Connection refused with a /v1 suffix in that field is the usual mismatch. The HTTP API you curl by hand is still http://localhost:20128/v1.
These file fields describe the supported CLI configuration. For an extension build with different storage, choose its OpenAI-compatible provider and verify the actual request path after setting the URL.
Check it works
Send a one-line prompt in Cline. Confirm the row on Usage.
Cline sends tool calls and large context. Every model in a combo must support the tool-call shape you need. A fallback model without tools can fail after a simple chat already succeeded.
Authentication errors: the secret in secrets.json must be the DurinDoor key, not the upstream provider key. Slow replies: check combo fallback and upstream latency on Usage or request details.