Your tools
VS Code
Conifer models in the Copilot Chat picker through BYOK, or the MCP server for agent mode.
Conifer models in the picker
BYOK puts Conifer models in the same Chat model picker you already use. No Copilot plan is required.
- Open the Command Palette and run Chat: Manage Language Models.
- Add Models → choose the custom endpoint provider, name the group “Conifer”.
- VS Code opens
chatLanguageModels.json. Describe each model you want in the picker:
[
{
"name": "Conifer",
"vendor": "customendpoint",
"apiKey": "sk-conifer-…",
"apiType": "chat-completions",
"models": [
{
"id": "claude-haiku-4-5",
"name": "Claude Haiku (Conifer)",
"url": "https://api.conifer.build/v1/chat/completions",
"toolCalling": true,
"maxInputTokens": 200000,
"maxOutputTokens": 8192
}
]
}
]Save the file and pick the model from the Chat model picker like any other. Copy maxInputTokens and the capabilities from the catalog — VS Code budgets by the numbers you write here, so a window larger than the model’s real one gets you truncated turns.
The MCP server, for agent mode
Create .vscode/mcp.json in the workspace. VS Code shows a Start action on the server entry, and the tools appear in agent mode:
{
"inputs": [
{
"type": "promptString",
"id": "conifer-key",
"description": "Conifer API key",
"password": true
}
],
"servers": {
"conifer": {
"type": "stdio",
"command": "node",
"args": ["/path/to/use-conifer/bin/conifer-mcp.mjs"],
"env": { "CONIFER_API_KEY": "${input:conifer-key}" }
}
}
}The inputs block is worth keeping: VS Code prompts for the key once, stores it in its own secret storage, and the file you commit carries no credential. Build the server first — The MCP server has the one-time step and what each tool does.
Which one do you want?
BYOK when you want to drive a session on a Conifer model. MCP when you want the session’s agent — whatever model drives it — to be able to consult the catalog: ask a cheaper model, compare candidates on a real prompt, check the balance. They stack; most setups end up with both.