Cursor and Zed
Cursor and Zed
Both editors can point at a custom OpenAI-compatible endpoint. Neither needs a plugin.
Cursor
- Settings, then Models.
- Under OpenAI API Key, enable the override and paste your key.
- Enable Override OpenAI Base URL and set
https://hisoka.ai/api/v1. - Add the model id you want in the model list, for example
glm-5.3-flash.
Cursor sends chat completions, so any tool-capable model works.
If you configure Cursor through its Anthropic section instead, use the Messages endpoint
at the same base URL. Do not configure both at once: whichever section is active decides
the wire format, and having two half-filled configurations is a common source of
“it works for chat but the agent fails”.
Zed
Zed reads settings.json. Add an OpenAI-compatible provider:
{
"language_models": {
"openai": {
"api_url": "https://hisoka.ai/api/v1",
"available_models": [
{
"name": "glm-5.3-flash",
"max_tokens": 131072
}
]
}
}
}
Set the key in Zed’s keychain prompt the first time you select the provider, or export
OPENAI_API_KEY before launching it.
A note on the model list
Both editors keep their own model dropdown, and neither can read Hisoka’s catalogue
dynamically in every version. Typing the id is expected. Keep the id exactly as
GET /models returns it: no vendor prefix, no capital letters.
Verify
After one message, confirm the call reached the gateway and was billed:
curl -s "https://hisoka.ai/api/v1/transactions?limit=1" \
-H "Authorization: Bearer $HISOKA_API_KEY" | jq '.data[0].model'
If that prints your model, the editor is routed correctly. If the balance is unchanged
and no row appeared, the editor is still talking to its own default provider.