← Back to Autonomy
Field Note · AI Tooling

From Claude Desktop to Copilot in VS Code

A practical transition for engineers who already think in projects, prompts, and files.

If you have spent the last year working inside Claude Desktop, attaching project files and asking it to think through problems, the shift to VS Code with GitHub Copilot will feel strange at first. The model is the same. The room around it is different. This note explains the new room.

1.What is actually changing

The model stays. The interface around the model is what shifts.

Claude Desktop is a chat application. You make a Project, attach files, and have conversations. The model reads what you attached. It cannot see your filesystem. It cannot run commands. When it writes code, you copy that code out by hand and paste it into your editor.

GitHub Copilot in VS Code is the opposite arrangement. The editor is the application. Copilot is a panel inside it. The folder you opened in the editor is what the model sees. When the model writes code, it writes to disk. When it needs to test something, it can run a command in the terminal. You review the diffs, you approve or reject, you commit through Git as usual.

Same Claude Opus underneath in both cases. Different leverage.

Claude Desktop

Project knowledge: attached files in a sidebar.

Files: you upload them.

Code output: in chat, you copy it out.

Commands: the model cannot run any.

Memory: built-in, derived from past chats.

Copilot in VS Code

Project knowledge: a Markdown file in the repo.

Files: already there, the model browses them.

Code output: written to disk as diffs.

Commands: runs them in the terminal, with your approval.

Memory: the repo itself is the memory.

2.A useful analogy

A consultant who comes to your office, versus one you email files to.

In Desktop, you are emailing a consultant. You attach the documents they need, ask a question, get an answer, copy it into your work. The consultant never sees your office.

In Copilot, the consultant is sitting in your office. They can see your files. They can open drawers, read documents on your desk, run a calculator at your computer, and write notes on your whiteboard. You still review and approve everything. But the back-and-forth of attaching files goes away, because the files are already there.

This is also why the workflow changes shape. In the email model, you write long, complete prompts because each round-trip is expensive. In the in-office model, you write short prompts and iterate quickly, because the consultant can look around for what they need.

3.The three modes, explained simply

Copilot has a small dropdown that controls how much rope the model gets. Click each mode below.

The mode dropdown sits next to the model picker at the bottom of the chat panel. Start a session in Ask mode if you want to think out loud. Switch to Edit when you know the change you want. Switch to Agent when you want the model to handle a multi-step task end to end.

4.Project knowledge, in a file

The single most useful trick to learn first.

In Desktop, you attach reference documents to a Project. In Copilot, the equivalent is a single Markdown file with a specific name and location. Copilot reads it automatically every time you open a chat in that workspace.

your-repo/
├── .github/
│   └── copilot-instructions.md always read by the agent
├── docs/
│   └── BLUEPRINT.md your spec, referenced on demand
├── src/
└── tests/

What goes inside it: the project's purpose in two sentences, the stack and conventions you want the model to follow, hard rules about what it must never do, soft preferences for code style, and a pointer to any spec or design document. Keep it short. One page is plenty. Here is a starter:

# Agent Instructions

## Project
We are building a control diagnostics tool for an electric drive.
Read docs/BLUEPRINT.md before any non-trivial change.

## Stack
Python 3.11. Use type hints. Use pytest. Avoid new dependencies.

## Rules
- Always write tests for new modules.
- Match data structure names exactly to the blueprint.
- Plain text in any user-facing documentation, no markdown.
- No em-dashes in generated prose.

## Verify
Run: pytest tests/ -v
Habit worth building

Every time the agent misunderstands something during a session, do not just correct it in chat. Add one sentence to copilot-instructions.md so future sessions never make the same mistake. This is how you teach the project to the agent permanently.

5.What happens when you press Send

A simplified view of the agent loop in Agent mode.

When you give Agent mode a real task, the work is not a single response. It is a loop. The model plans, acts, observes the result, and decides whether it is done or needs another round. Understanding this loop is the difference between fighting the tool and using it well.

Animated demo
One pass of the agent loop, six steps, looping back at the end.
Press Play to see one pass of the agent loop.

Three implications of this loop matter for how you prompt:

First, the model can recover from its own mistakes. If a test fails, it sees the failure and tries again. You do not need to babysit it through every step.

Second, the loop has a cost. Each cycle is several API calls. Tasks that fit in one shot (a small refactor, a single function) should use Edit mode instead. Save Agent mode for work that genuinely needs the loop.

Third, ambiguous prompts produce ambiguous plans. Give the model a clear goal and a clear way to verify success, and the loop converges. Give it a vague request and it wanders.

6.Files, images, and memory

Three small things that work differently from Desktop.

Files

You stop attaching files. The workspace is already open. To point the agent at a specific file or section, type it inline:

#file:src/logger.py · #file:docs/spec.md#L40-90 · @workspace search the whole repo

The first form points at one file. The second scopes to a line range, which keeps context tight. The third tells Copilot to index and search the whole repo before answering.

Images

Drag any image directly into the chat input. Opus is vision-capable, so it will see what you dropped: a screenshot of a build error, a Simulink subsystem, a whiteboard photo, a UI mockup. For Simulink work specifically, screenshots of subsystem diagrams turn out to be very useful context. The model reads block names, port labels, and signal flow.

Memory

Copilot has no built-in cross-session memory. Each chat starts fresh. The replacement is a convention: keep a PROGRESS.md file in the repo that captures current focus, decisions made, open questions, and next steps. At the start of every session, ask the agent to read it. At the end, ask the agent to update it. Commit the change. Now your project has durable memory that survives restarts.

A short opening prompt

"Read .github/copilot-instructions.md and PROGRESS.md. Summarize where we left off and what is next. Do not make any changes yet."

7.A small example, end to end

What a typical task actually looks like.

Suppose you want to add input validation to a Python function. Here is how the same task plays out in both worlds.

In Desktop: open Claude. Find the project. Paste the function into the chat. Ask for input validation. Read the answer. Copy the new version. Switch to VS Code. Find the original function. Replace it. Save. Run the tests yourself. If a test fails, copy the error back into Desktop. Paste. Ask for a fix. Copy that fix. Paste. Save. Repeat.

In Copilot, Agent mode: open the chat panel in the workspace where the function lives. Type:

Add input validation to validate_speed() in src/control/limits.py.
Reject negative values and non-numeric inputs. Include a test in
tests/test_limits.py. Run pytest when done.

The agent reads the file, proposes the change as a diff in the editor, you click Keep, it writes the test, runs pytest, sees the result. If a test fails, it iterates and tries again. The whole exchange is a few minutes. The copy-paste loop disappears.

This is the productivity gain people talk about. It is not the model being smarter. It is the model being closer to where the work actually happens.

8.What to do on day one

Five steps, in order, to be productive immediately.

One. Open VS Code, open the Copilot chat panel, look at the model picker at the bottom of the chat input. Confirm Claude Opus is in the list. If not, ask IT to enable the Claude policy in the GitHub Copilot admin settings.

Two. Open your first project folder. Create .github/copilot-instructions.md. Five short sections: Project, Stack, Rules, Conventions, Verify. One page maximum.

Three. Create PROGRESS.md at the repo root with three headings: Current Focus, Decisions Made, Next Steps. Leave it mostly empty for now.

Four. Open the chat panel. Select Claude Opus. Select Ask mode. First prompt: "Read .github/copilot-instructions.md and propose a starter project structure." Approve, push back, iterate.

Five. Watch the VS Code Learn series on YouTube while you wait for builds. Six short episodes, about forty minutes total. References below.

§References

A short, curated list. Watch one or two, skim the rest, come back as needed.

1
Introduction to Agent-First Development (Ep 1 of 6) VS Code Learn series · YouTube · April 2026 · ~7 min

video The cleanest official starting point. Introduces the five concepts behind agent results: harness, model, context, tools, prompt. Watch the full six-episode series back to back, total runtime under forty minutes.
youtube.com/watch?v=uu4sf8z9n8c

2
DEMO: Build your first app with agent mode (Ep 6 of 6) VS Code Learn series · YouTube · April 2026

video The final episode of the series. Builds a URL shortener app from scratch using Agent Mode in Plan Mode. Good for seeing the loop in action on a real, if small, project.
youtube.com/watch?v=hmfldW7dmgw

3
Tutorial: Work with agents in VS Code Microsoft / VS Code documentation · April 2026

docs Hands-on tutorial you follow in your own VS Code. Builds a todo app, adds a theme toggle, redesigns the layout using local, plan, background, and cloud agents. About 60 to 90 minutes if you actually do the steps.
code.visualstudio.com/docs/copilot/agents/agents-tutorial

4
Introduction to agent-first development (written companion) Microsoft / VS Code Learn · March 2026

docs The written version of the Episode 1 video. Same content, scannable in ten minutes. Useful if you prefer reading or want to refer back to the five-element mental model.
code.visualstudio.com/learn/foundations/introduction-to-agent-first-development

5
Use custom instructions in VS Code Microsoft / VS Code documentation

docs Reference page for copilot-instructions.md, scoped *.instructions.md files with applyTo globs, and the /init command that generates a starter instructions file from your current codebase.
code.visualstudio.com/docs/copilot/customization/custom-instructions

6
Using Claude Opus 4.6 in GitHub Copilot Microsoft Community Hub · February 2026

case study A real example. An engineer builds a document analyzer with knowledge graph extraction in under an hour using Claude Opus in Copilot. The structure mirrors what you would do for a rebuild project.
techcommunity.microsoft.com/discussions/appsonazure/using-claude-opus-4-6-in-github-copilot/4495127

7
Agent Mode 101: All about GitHub Copilot's powerful mode GitHub Blog

blog The canonical GitHub overview of agent mode with embedded demo video. Explains what the agent loop is, how it works under the hood, when to use it and when not to.
github.blog/ai-and-ml/github-copilot/agent-mode-101-all-about-github-copilots-powerful-mode

8
GitHub Copilot Agent Mode: Cross-Language Refactoring in VS Code KDAB blog · September 2025

video walkthrough A multi-file refactor demo with a C++ and QML codebase. Closer to the embedded and automotive flavor than typical web demos. Shows the model identifying which files need to change across two languages, planning the work, and diffing the result.
kdab.com/exploring-github-copilot-agent-mode-in-vs-code

9
How to Use GitHub Copilot Agent Mode in VS Code: Autonomous Coding in 2026 Sagnik Bhattacharya · April 2026

blog An independent practitioner's view after several weeks of daily use. Concrete prompt examples at the right level of specificity, plus honest assessment of where Agent Mode still falls short.
sagnikbhattacharya.com/blog/copilot-agent-mode-vscode

10
Claude Opus 4.6 generally available in GitHub Copilot GitHub Changelog · February 2026

announcement The official rollout note. Confirms availability across Copilot Pro, Pro Plus, Business, and Enterprise, and clarifies that Business and Enterprise administrators must enable the Claude Opus policy before the model appears in the picker.
github.blog/changelog/2026-02-05-claude-opus-4-6-is-now-generally-available-for-github-copilot

11
Supported AI models in GitHub Copilot GitHub Docs

docs The current reference table of every model available in Copilot, which plans they require, and which modes (Ask, Edit, Agent) each model supports. Worth bookmarking, because the list changes every few weeks.
docs.github.com/en/copilot/reference/ai-models/supported-models

12
Use Claude Code in VS Code Anthropic / Claude Code documentation

alternative If you ever get access to the official Anthropic Claude Code extension instead of Copilot, this is the equivalent reference. Same model, different harness. Instructions file is CLAUDE.md, the rest of the workflow is similar.
code.claude.com/docs/en/vs-code

· · ·
A practical field note on shifting from Claude Desktop to Copilot in VS Code.
May 2026.