Claude Integration in Copilot: How It Works in 2025
GitHub Copilot added support for Anthropic's Claude models inside Copilot Chat, so "Claude integration in Copilot" mostly means one thing in practice: switching the underlying model in the Copilot Chat model picker from GPT to a Claude model (Claude 3.5 Sonnet, Claude 3.7 Sonnet, or newer, depending on your plan and IDE version). It's not a separate plugin or a bolt-on extension — it's a native model option inside the Copilot experience you already have.
If you're trying to figure out how to get Claude working with Copilot, the short answer is: enable it in your GitHub Copilot settings, pick it from the model dropdown in Chat, and use it like any other Copilot Chat conversation. If you're trying to build something more custom — a code review bot, an internal tool, an agent that calls Claude directly — that's a different problem, and Copilot's model picker won't get you there. This article covers both.
Enabling Claude Inside Copilot Chat
For most developers, this is a five-minute setup with no code involved.
- Check your Copilot plan. Model choice in Copilot Chat is available on Copilot Individual, Business, and Enterprise plans. Free tiers may have restricted model access.
- Open Copilot Chat in VS Code, JetBrains, or Visual Studio.
- Open the model picker — usually a dropdown at the top of the Copilot Chat panel.
- Select a Claude model if it appears in the list. If it doesn't, go to GitHub.com → Settings → Copilot → and confirm that Anthropic models are enabled for your account or organization.
- For organizations: an admin has to explicitly turn on third-party model access (Anthropic, Google) in the org's Copilot policy settings. Individual developers can't override this if it's disabled at the org level.
Once enabled, chat requests routed to Claude behave the same as any other Copilot Chat session — inline suggestions, chat-based questions, and /explain or /fix commands work the same way, just backed by a different model.
What This Actually Gives You
- Claude's reasoning style for code explanations and refactors, without leaving your editor
- No separate API key, billing, or integration work
- Consistent Copilot UX (inline completions, chat panel, slash commands)
What It Doesn't Give You
- No API access. You can't call Claude directly through Copilot's infrastructure for your own scripts, CI jobs, or backend features.
- No tool use / function calling exposure. Copilot Chat doesn't expose Claude's tool-use capabilities as a general-purpose feature you control.
- No usage-level visibility per model. You generally can't see token counts, cost breakdowns, or per-developer usage split by model.
- No streaming control or custom system prompts. Copilot manages the prompt structure; you interact through its chat UI only.
This is the core tradeoff: Copilot's Claude integration is a convenience layer for interactive coding help, not an API you can build on.
When You Need Claude Outside of Copilot
If your use case is anything beyond "help me while I'm coding" — for example:
- A custom code review bot that comments on pull requests
- An internal documentation generator that runs on a schedule
- A support tool that reasons over your codebase and answers Slack questions
- Any backend feature where your product calls Claude with your own prompts and tools
— then you need direct API access to Claude, not the Copilot model picker. This is where a lot of teams get stuck: getting a raw Anthropic API key set up with billing, usage tracking, and team access controls takes real setup work, especially if you want each teammate or service to have their own key without sharing credentials.
This is exactly the gap SubToAPI fills. It turns an existing Claude access into a proper HTTPS API with individual sub_live_... keys per app or teammate, streaming support, tool use, and usage metadata — so you can build the things Copilot's chat panel can't do.
curl https://api.subtoapi.app/v1/messages \
-H "Authorization: Bearer $SUBTOAPI_KEY" \
-H "content-type: application/json" \
-d '{
"model": "claude-3-5-sonnet",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Review this diff and flag any race conditions."}
]
}'
Or from a Node service, for example a pull-request review bot:
const res = await fetch("https://api.subtoapi.app/v1/messages", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.SUBTOAPI_KEY}`,
"content-type": "application/json"
},
body: JSON.stringify({
model: "claude-3-5-sonnet",
max_tokens: 1500,
messages: [
{ role: "user", content: `Review this diff:\n\n${diffText}` }
]
})
});
const data = await res.json();
console.log(data.content);
Every request is tied to a specific sub_live_... key, so if you're running this across a team — say, one key for the PR-bot, one for the docs generator, one per developer testing locally — you can see exactly which key used how many tokens without digging through raw provider logs. The quickstart walks through generating your first key, and the messages endpoint docs and tool use docs cover the parts Copilot Chat doesn't expose at all — structured tool calling, streaming responses, and full control over the system prompt.
Copilot's Model Picker vs. Direct API: A Quick Comparison
| | Copilot Chat + Claude | Direct Claude API (e.g. via SubToAPI) | |---|---|---| | Setup | Toggle in settings | Generate an API key | | Use case | In-editor chat and suggestions | Custom apps, bots, backend features | | Tool use / function calling | Not exposed | Fully available | | Per-key usage tracking | No | Yes | | Streaming control | Managed by Copilot | Full control | | Team key management | Org-level Copilot policy only | Per-app, per-teammate keys |
If your need is "let me chat with Claude while coding," Copilot's built-in option is the right call — it's already there and free to enable on a paid plan. If your need is "let my application call Claude," you're looking at API access regardless of which provider or gateway you choose. SubToAPI's pricing starts with a Solo plan for individual builders and scales to Team and Scale plans with per-seat keys, with a free trial at signup to test the setup before committing.
Choosing the Right Path
Start by asking what you're actually trying to do. If it's editor-based help — autocomplete, inline chat, explaining a stack trace — enable Claude in Copilot's model picker and move on. If it's anything that needs to run outside your editor, on a schedule, in CI, or as part of a product feature, you need direct API access with proper key management, which is a different tool for a different job.
FAQs
Can I use Claude for free inside GitHub Copilot? Only if your Copilot plan includes model choice and Anthropic access is enabled for your account or organization. There's no separate free tier specifically for Claude within Copilot.
Does Copilot's Claude integration support tool use or function calling? No. Copilot Chat exposes Claude as a conversational model only; structured tool use and function calling aren't available through that interface.
What's the alternative if I need Claude for something other than in-editor chat? Use Claude's API directly, or a wrapper like SubToAPI that adds per-key usage tracking, streaming, and tool support — see the quickstart to get started.