How to delete VS Code Copilot Chat history, and what you lose
two stores, one newer than the other, and a machine that has upgraded has both
Copilot Chat keeps your conversations per workspace, inside VS Code's own user directory — and it has changed where it writes them. An older build keeps chatSessions; a newer one keeps GitHub.copilot-chat/transcripts; a machine that has been through that upgrade has both, with different chats in each. Which one you are looking at decides what deleting actually removes.
Where the chats are
The user directory is ~/Library/Application Support/Code/User on macOS, ~/.config/Code/User on Linux and %APPDATA%\Code\User on Windows — with Code - Insiders or VSCodium in place of Code for those builds. Under it:
<User>/workspaceStorage/<hash>/chatSessions/*.json # one file per chat <User>/workspaceStorage/<hash>/GitHub.copilot-chat/transcripts/*.jsonl <User>/globalStorage/emptyWindowChatSessions/*.json # a window with no folder open <User>/workspaceStorage/no-workspace/chatSessions/*.json
The <hash> is not a folder name, which is what makes this awkward to do by hand. The directory beside the chats says which project it belongs to:
for d in ~/Library/Application\ Support/Code/User/workspaceStorage/*/; do
printf '%s ' "$(basename "$d")"
python3 -c 'import json,sys; print(json.load(open(sys.argv[1])).get("folder",""))' "$d/workspace.json" 2>/dev/null || echo
done
Counts from one real machine, measured while the second store was being added to deja: 179 workspace directories, 28 of them holding chatSessions, and 5 holding transcripts. On VS Code Server 1.137 there was no chatSessions directory at all and 47 transcripts held eleven weeks of chats — so "my history is gone" after an upgrade is usually "my history moved".
How to delete it
Use the Chat view — Show Chats, then delete the one you mean. It is the only route that keeps the extension's own index of the list in step with what is on disk.
If you want it gone from disk instead, close VS Code first, and be precise about the level you are removing:
# one conversation
rm ~/Library/Application\ Support/Code/User/workspaceStorage/<hash>/chatSessions/<id>.json
# every chat for one workspace, both stores
rm -rf ~/Library/Application\ Support/Code/User/workspaceStorage/<hash>/chatSessions \
~/Library/Application\ Support/Code/User/workspaceStorage/<hash>/GitHub.copilot-chat
# every chat everywhere
rm -rf ~/Library/Application\ Support/Code/User/workspaceStorage/*/chatSessions \
~/Library/Application\ Support/Code/User/workspaceStorage/*/GitHub.copilot-chat \
~/Library/Application\ Support/Code/User/globalStorage/emptyWindowChatSessions
Do not delete workspaceStorage/<hash> itself unless you mean to: that directory also holds the workspace's editor state, extension data and whatever else was written for that project. There is no archive to restore any of it from — the format registry documents both stores field by field, including the type-discriminated event log the newer one uses.
What you lose
More than the conversation. The transcripts record what the agent did as well as what it said, and a transcript with no user turn at all is an agent run — 11 of those 47 on the machine above, and the only record that the work happened. Deleting the chat is deleting the answer to "why is this file like this" for every file that run touched.
The other cost is search. Copilot Chat has no search across workspaces; the list is per project, and a question you worked out in March is answerable only while March still exists somewhere.
Keeping it searchable instead
deja reads both Copilot Chat stores — and the other thirty-three agents' histories on the same machine — into one local index you can search from the shell, and that the agents can search themselves over MCP:
curl -fsSL https://raw.githubusercontent.com/vshulcz/deja-vu/main/install.sh | sh deja "copilot chat refactor of the retry loop"
Nothing to switch on first: the files are already there, including the months before deja was installed. Indexing and search stay local, credentials are stripped as the index is built, and deja forget removes a session from the index for good when you do want it gone.
Where every agent keeps its history · Recovering a deleted session · The Copilot Chat format
Found this useful? Star deja-vu on GitHub.