GitHub Copilot setup — splitting work between Copilot, Claude Code, and Cursor
30-minute setup for Copilot in VS Code and JetBrains. Plus a decision table for which jobs go to Copilot vs Claude Code/Cursor.
We're in the three-way era of AI coding tools. Claude Code for long-context multi-file work, Cursor for inline editing plus repo-aware chat, GitHub Copilot for the fastest single-line autocomplete. More and more people run all three at once. This guide sets Copilot up in 30 minutes and lays out how to split work between the three.
I think what makes Copilot valuable in a three-tool setup is what it means to have sub-second completion right at the keyboard — not because the other tools can't write code, but rather because the latency of a terminal agent or a side chat creates a context switch that interrupts the typing flow. Copilot fills that gap in a way the others aren't designed to.
The audience is developers who already use Claude Code or Cursor. If you're starting from scratch, Cursor setup is a faster entry point.
TL;DR
- GitHub Pro or Copilot subscription ($10/month, or free for students) —
gh auth statusto confirm sign-in - VS Code: install GitHub Copilot extension + GitHub Copilot Chat extension (both required)
- JetBrains: Settings → Plugins → GitHub Copilot → log in
- Inline autocomplete (Tab) + Chat panel (Ctrl+I) — these two cover most usage
- Role split: Copilot = keystroke assistant, Claude Code = multi-file work, Cursor = between the two
Prerequisites
- GitHub account + Copilot subscription (Pro / Business / Enterprise)
- VS Code 1.95+ or JetBrains 2024.2+
- Internet (Copilot itself calls the cloud)
1. Where Copilot fits — its strengths
What Copilot is good at
- Single line to single function autocomplete — fastest response (200–500ms)
- Repeating patterns — when you write 5 similar functions, it infers the body of the next one
- Boilerplate — JSDoc comments, getters/setters, simple mapper functions
- Following an existing pattern — picks up the style from the top of the file and applies it consistently below
What Copilot is weak at
- Multi-file work — strong only in the current file, weak at impact on other files
- Architectural changes — can't do "change this function signature, then fix every call site"
- Tasks that need long reasoning — weak at "why is this function slow?"
- Long-form natural-language collaboration — it has Chat, but not the depth of Claude/Cursor
Think of Copilot as a typing assistant. If Claude Code/Cursor are collaborators, Copilot is autocomplete.
2. Install — VS Code
2.1 Extensions
VS Code Extensions (Ctrl+Shift+X):
- GitHub Copilot — inline autocomplete (Tab)
- GitHub Copilot Chat — Chat panel + inline edit (Ctrl+I)
Both required. Just installing Copilot leaves you with no Chat features.
Or CLI:
code --install-extension GitHub.copilot
code --install-extension GitHub.copilot-chat2.2 Sign in
After installing, the gear icon at the bottom right → Sign in to GitHub → authenticate in the browser → return to VS Code.
Verify:
View → Output → select the "GitHub Copilot" channel
→ "User: <your-username>" should print
2.3 First use
In a new file, write a function signature and gray suggestion text appears for the body → Tab to accept, Esc to dismiss.
def calculate_total(items: list[dict]) -> float:
# Copilot suggests an implementation in gray → Tab3. Install — JetBrains (IntelliJ, PyCharm, WebStorm, etc.)
3.1 Plugin
Settings → Plugins → Marketplace:
- GitHub Copilot (one package — inline + Chat in the same plugin)
Install → restart the IDE.
3.2 Sign in
Tools → GitHub Copilot → Log in to GitHub → browser → enter the code → done.
Verify: the Copilot icon in the bottom-right status bar.
3.3 Shortcuts
- Accept suggestion:
Tab - Next suggestion:
Alt + ] - Previous suggestion:
Alt + [ - Open Chat:
Ctrl + Shift + I(Windows/Linux) /Cmd + Shift + I(Mac)
4. Four core features
4.1 Inline autocomplete (Tab)
The default. Infers a body from the function signature/comments. Triggers when you pause on the next line.
Tip: a one-line comment above the function (
# returns the largest item by price) significantly improves accuracy.
4.2 Chat panel (sidebar)
VS Code: Ctrl + Alt + I / JetBrains: Ctrl + Shift + I. Natural-language Q&A + code-block citations.
Common patterns:
- "What's the time complexity of this function?" — select code, paste into chat
- "Write a unit test for this" — current file is attached as context
- "Explain this SQL EXPLAIN output"
4.3 Inline edit (Ctrl+I)
VS Code: select code → Ctrl + I → natural-language command → review diff → accept.
# Select then Ctrl+I → "convert to async"
def fetch_user(id):
return db.query(id)
# ↓ becomes
async def fetch_user(id):
return await db.query(id)Similar to Cursor's inline edit but with narrower context.
4.4 Slash commands (Chat)
Type / in the Chat input:
/explain— explain the selected code/fix— auto-fix errors/lint/tests— generate unit tests/doc— generate JSDoc / docstring/optimize— performance suggestions
5. Splitting work with the other tools
Running all three at once is increasingly common. Avoiding conflicts and clarifying roles is the key.
| Task | Recommended tool | Why |
|---|---|---|
| Single line / single function autocomplete | Copilot | Fastest |
| Change a function signature → fix all call sites | Claude Code | Whole-repo context |
| Add a feature spanning 5+ files | Claude Code | Plan + execute + verify |
| Big change inside one file (10–50 lines) | Cursor (Cmd+K) | Inline edit + fast diff |
| "Why doesn't this work?" debugging | Claude Code (or Cursor Chat) | Deeper reasoning |
| Boilerplate (DTO, getter/setter) | Copilot | One Tab away |
| Learning a new library (build a small example) | Cursor · Claude | Richer Chat |
| Auto-generate doc comments | Copilot Slash /doc | Fast |
Conflict: in VS Code, installing both Copilot and Cursor causes their inline autocomplete to compete. If Cursor is your primary, disable Copilot's inline autocomplete and keep only Chat + Slash.
6. Settings — useful options
6.1 Disable for specific languages
VS Code settings.json:
{
"github.copilot.enable": {
"*": true,
"plaintext": false,
"markdown": false,
"yaml": false
}
}Why: Copilot's suggestions in YAML/Markdown are often inaccurate; turning it off keeps your flow cleaner.
6.2 Fine-tune autocomplete behavior
{
"editor.inlineSuggest.enabled": true,
"github.copilot.editor.enableAutoCompletions": true,
"github.copilot.advanced": {
"length": 500, // max tokens
"temperature": "0.1" // more conservative (lower = safer)
}
}6.3 GitHub workflow integration
- PR description auto-generation — Copilot icon on the github.com PR page
- Issue → PR linking — suggested in the GitHub UI
- Code review — Copilot Workspace (Enterprise)
7. Licensing / pricing (as of 2026-05)
| Plan | Price | Features |
|---|---|---|
| Free | $0 | 2,000 completions + 50 chats per month — enough for light use |
| Pro | $10/month | Unlimited completions/chat + choice of Claude/GPT models |
| Business | $19/seat/month | + policy controls + private-repo training off + audit log |
| Enterprise | $39/seat/month | + Workspace + automated security review |
Students and open-source maintainers can get Pro free via GitHub Education.
Check:
gh auth status
# Logged in to github.com as <username>
# Active account: true (...)Or github.com/settings/copilot.
8. Verify
# 1. Auth
gh auth status
# 2. VS Code extensions
code --list-extensions | grep -i copilot
# GitHub.copilot
# GitHub.copilot-chat
# 3. Tab in an empty function — completion should appear
echo 'def hello(name):' > /tmp/test.py && code /tmp/test.py
# 4. Chat works — Ctrl+Alt+I, then "say hi"9. Troubleshooting
No completions
- Click the Copilot icon in the status bar → confirm "Enable for this file"
- Behind a corporate proxy: check
http.proxyin VS Code settings. Corporate proxies often need a custom certificate - Free-plan quota: check
github.com/settings/copilot/usage
Copilot: GitHub authentication failed
Command Palette → "GitHub: Sign Out" → "GitHub Copilot: Sign In"
Re-sign-in is needed after token expiry or permission changes.
Chat returns empty responses
- Check internet (
ping github.com) - Corporate firewall may be blocking
*.githubcopilot.com - VS Code → Output → check the "GitHub Copilot Chat" channel log
Two competing completions when used with Cursor
Cursor's Settings → Models → Disable Copilot inline suggestions, or Copilot's github.copilot.editor.enableAutoCompletions = false. Pick one to own inline.
Suggestions are too long and scattered
- Lower
github.copilot.advanced.lengthto ~300 - Keep comments above functions short (one line)
- An empty line in between often yields a shorter suggestion
Worried about private-repo training
Business/Enterprise plan: Settings → Copilot → Disable code referencing. Pro doesn't expose this option (training has been opt-out by default for a long time anyway).
10. What's next
- Cursor setup — /ai-agents/cursor-setup
- Claude Code setup — /ai-agents/claude-code
- Workflow combining all three — (planned)
/ai-agents/multi-tool-workflow
References
- GitHub Copilot official docs
- Copilot plans
- GitHub Education — free for students
- VS Code Copilot guide
Changelog
- 2026-05-16: First draft. Copilot install + four features + role-split table with Claude Code/Cursor + six troubleshooting cases.
Keep reading
- OpenAI Codex CLI setup — comparison with Claude Code and Cursor
OpenAI's official coding-agent CLI. Install, auth, autonomy modes, and how it compares to Claude Code — all in 30 minutes.
- Local LLMs with Ollama — Open WebUI · Continue.dev integration
Run Llama / Qwen / DeepSeek locally on Mac and Windows. Cost, privacy, offline — an alternative to cloud LLMs.
- Running Claude Code, Cursor, and Copilot together
Practical workflow for using all three AI tools at once without conflicts — task-to-tool mapping, keybinding clashes, context isolation.