Get going in 30 seconds
Open Zed's settings (Cmd+,) and add:
{
"language_models": {
"openai": {
"version": "1",
"api_url": "https://northerninference.ca/v1",
"available_models": [
{
"provider": "openai",
"name": "bedrock/global.anthropic.claude-sonnet-4-6-global",
"display_name": "Claude Sonnet 4.6 (NI)",
"max_tokens": 200000
}
]
}
},
"assistant": {
"default_model": {
"provider": "openai",
"model": "bedrock/global.anthropic.claude-sonnet-4-6-global"
}
}
}
Run Zed: assistant: sign in from the command palette and paste your ni_live_... key when prompted. Open the assistant panel and send a message.
Zed's assistant supports OpenAI-compatible providers as of v0.156+.
Config
Open Zed's settings (Cmd+,) and add:
{
"language_models": {
"openai": {
"version": "1",
"api_url": "https://northerninference.ca/v1",
"available_models": [
{
"provider": "openai",
"name": "bedrock/global.anthropic.claude-sonnet-4-6-global",
"display_name": "Claude Sonnet 4.6 (NI)",
"max_tokens": 200000
},
{
"provider": "openai",
"name": "vertex_ai/gemini-2.5-pro-ca",
"display_name": "Gemini 2.5 Pro (NI)",
"max_tokens": 128000
}
]
}
},
"assistant": {
"default_model": {
"provider": "openai",
"model": "bedrock/global.anthropic.claude-sonnet-4-6-global"
}
}
}
Then run Zed: assistant: sign in from the command palette and paste your ni_live_... key when prompted.
Caveats
- Zed should use exact route keys from
/models. API key allowed route tiers authorize which routes the key may call. - Zed's
max_tokenshere is the context window, not the output cap.