A few weeks ago I wrote about Copilot Memory in VS Code - the GitHub-hosted system that lets Copilot learn repository-specific insights across agents. Since then, VS Code has shipped a second, complementary memory system: the Memory tool. These two systems solve related but distinct problems, and understanding both helps you get the most out of Copilot in your daily workflow.
What is the Memory Tool?
The Memory tool is a built-in agent capability that stores notes locally on your machine. Unlike Copilot Memory, which lives on GitHub's servers and requires a GitHub repo to function, the Memory tool writes plain files to your local filesystem and reads them back at the start of each session.
You enable or disable it with the github.copilot.chat.tools.memory.enabled setting. It's on by default.
Three memory scopes
VSCode organizes memories into three scopes:
| Scope | Persists across sessions | Persists across workspaces | Good for |
| User | ✅ | ✅ | Personal preferences, habits |
| Repository | ✅ | ❌ | Project conventions, architecture |
| Session | ❌ | ❌ | In-progress task context |
User memory is the most broadly applicable. The first 200 lines load automatically into the agent's context at the start of every session, across every workspace. Ask the agent something like:
Remember that I like to use XUnit as my preferred testing framework.
...and it will apply that preference every time, regardless of which project you open.
Repository memory is scoped to the current workspace. This is the right place to capture things like "this project uses the repository pattern for data access" or "all API endpoints require authentication." That context persists across sessions in that workspace but doesn't bleed into other projects.
Session memory clears when the conversation ends. The planning agent uses this to store its plan.md file — useful for multi-step tasks within a single session, but intentionally ephemeral.
Using the memory tool in practice
Storing a memory is just natural language:
Remember that our teams use XUnit as our preferred testing framework.
Retrieving it in a new session is equally straightforward:
What testing framework is used?
The agent checks the memory files and surfaces the relevant information. References to memory files in chat responses are clickable, so you can inspect the raw content directly.
Two commands help you manage what's stored:
- Chat: Show Memory Files — opens a list of all memory files across scopes
- Chat: Clear All Memory Files — wipes everything
Memory Tool vs. Copilot Memory: side by side
This is the comparison that matters if you've already been using Copilot Memory (also see the documentation):
| Memory Tool | Copilot Memory | |
| Storage | Local (your machine) | GitHub-hosted |
| Scopes | User, repository, session | Repository only |
| Shared across Copilot surfaces | No (VS Code only) | Yes (coding agent, code review, CLI) |
| Who creates memories | You or the agent during chat | Copilot agents automatically |
| Enabled by default | Yes | No (opt-in) |
| Expiration | Manual | Automatic (28 days) |
| Requires GitHub repo | No | Yes |
The practical split: use the Memory tool for personal preferences and anything workspace- or session-specific that you control. Use Copilot Memory for repository knowledge that should propagate across GitHub's Copilot surfaces — coding agent, code review, CLI.
Also worth remembering from my previous post: Copilot Memory currently only works when your repository is hosted on GitHub. If you're on Azure DevOps or a local-only repo, the Memory tool is your only option.
Where does this leave us?
When I wrote about Copilot Memory back in February, one of the things I hoped for was better support for non-GitHub sources. The Memory tool partially addresses that gap — it's source-agnostic and works entirely offline. But it's also more manual; you drive what gets remembered, rather than agents picking it up automatically.
The two systems aren't competing — they're designed to be complementary. What's still missing is a unified view across both, and better tooling for organizing and reviewing what's been stored over time. That's probably where the feature evolves next.
More information
Enabling and curating Copilot Memory
Copilot Memory in VS Code: Your AI assistant just got smarter