
If VS Code is taking up space on your Mac, the app itself is rarely the main reason. On the Mac measured for this post, the app was 1.4 GB, while its extensions, downloaded extension packages and a waiting update added more than 6 GB.
The space sits in three places: your extensions in ~/, VS Code's data folder in ~/, and a downloaded update in your Caches folder. VS Code trims some of it by itself, and most of the rest is safe to remove once you know which part is which.
Caches and downloaded packages come back by themselves. Extensions are your choice, and VS Code's Extensions view is the place to remove them. Settings, local history and unsaved work also live in the data folder, so that folder never goes to the Trash as a whole.
This post covers VS Code itself and its extensions. Cursor, Copilot's chats and the AI coding assistants that run inside VS Code have a post of their own: how AI coding tools fill a Mac.
Where VS Code keeps its files on a Mac
VS Code is built on Electron, the framework many desktop apps share, so its data looks partly like a web browser's: caches for web content, compiled code and graphics. On top of that are your extensions, your settings and what VS Code remembers about each project.
Which folders belong to VS Code?
| Item | Where it is | What it holds |
|---|---|---|
| The app | /Applications/Visual Studio Code.app | VS Code itself |
| Extensions | ~/.vscode/extensions | One folder per installed extension version |
| Caches and logs | ~/Library/Application Support/Code | Web, code and graphics caches, extension downloads, logs |
| Your data | ~/Library/Application Support/Code/User | Settings, local history, per-project state |
| Unsaved changes | ~/Library/Application Support/Code/Backups | Hot exit's copies of files you haven't saved |
| A waiting update | ~/Library/Caches/com.microsoft.VSCode.ShipIt | The next version, downloaded before it installs |
VS Code's uninstall instructions name the same data folders: the Code folder in Application Support, ~/, and a newer ~/ folder, which was under 1 MB on the Mac measured here.
How much space does each part take?
- Installed extensions3.7 GB · Review first
- The app, Universal build1.4 GB
- Downloaded extension packages1.4 GB · Safe
- Waiting update (ShipIt)1.4 GB · Safe
- Code caches (CachedData)0.1 GB · Safe
- Settings, history and project state0 GB
Measured on one Mac with Apple silicon in October 2026, as Finder counts them. Three versions each of two AI assistants' extensions made up most of the extensions folder. The research behind the app's catalog puts editor and IDE caches at 1 to 20 GB on developers' Macs.
The order is the useful part. Extensions led, and the next two weren't things VS Code needs to keep: packages it had already installed extensions from, and the next version of the app waiting to install. The caches proper were small.
A worked example: what one Mac could get back
On the Mac measured here, nothing was broken and no extension needed to go. Sorted by what each part needed, the picture was clear:
| What | Size | What it was | What to do |
|---|---|---|---|
| Older extension versions | 2.2 GB | Already listed in .obsolete | Quit and reopen VS Code |
| Caches and downloaded packages | 1.6 GB | Rebuilt or downloaded when needed | Move to the Trash, VS Code quit |
| The waiting update | 1.4 GB | The next VS Code, staged | Quit VS Code so it installs |
WebStorage | 0.67 GB | What web content inside VS Code stored | Leave it |
The User folder | 0.04 GB | Settings, history, project state | Keep it |
About 5 GB could come back without uninstalling a single extension: most of it by letting VS Code finish its own work, and the rest from folders the catalog rates safe. Uninstalling extensions nobody used would have been the next step.
Why doesn't Storage settings show all of it?
System Settings › General › Storage counts the app under Applications. Its data folders, in your Library folder and hidden folders in your home folder, usually land in System Data, which Apple describes as files that don't fit the other categories. The System Data guide explains what else ends up there.
So the number next to VS Code in Applications is only the app. The steps here are the same in macOS 26 Tahoe and macOS 27.
How do you open these folders?
- In Finder, choose Go › Go to Folder.
- Type a path from the table, such as
~/, and press Return.Library/ Application Support/ Code - To see a folder's size, select it and choose File › Get Info.
~/ is hidden because its name starts with a period. To see it in your home folder, press Shift-Command-Period; press it again to hide it.
What is the .vscode folder inside a project?
Something else. A .vscode folder at the top of a project holds that project's settings, such as its tasks and debugging setup, and it's often shared with the project's code. It's small and it isn't a cache. Leave it alone; the space is in the ~/ folder in your home folder.
VS Code taking up space on a Mac: the extensions folder
Why is the extensions folder so big?
Every extension you install from the Extensions view goes into ~/, in a folder named after its publisher, name and version, such as ms-python.python-2026.4.0. Many are a few megabytes. Some carry whole programs with them.
Language support often comes with a language server, debuggers come with their adapters, and AI assistants often bundle a native program for your Mac's processor. Their folder names end in darwin-arm64 on Apple silicon. On the Mac measured here, one AI assistant's extension was about 860 MB per version.
Which kinds of extensions take the most space?
Size follows what an extension carries. On the Mac measured here, sorted from largest:
| Kind | Example | Size per version |
|---|---|---|
| AI assistant with a native program | OpenAI's Codex extension | About 860 MB |
| AI assistant | Anthropic's Claude Code extension | About 235 MB |
| Language server | Pylance, for Python | 109 MB |
| Database and data tools | Prisma, MongoDB | 52 to 59 MB |
| Git, formatting and linting | GitLens, Prettier, ESLint | 1 to 18 MB |
As a rule of thumb, an extension that bundles a program is large, and one that adds commands, colors or formatting is small. Removing ten small extensions frees less than one old version of a large one.
Why are there several versions of one extension?
When an extension updates, VS Code installs the new version next to the old one and marks the old one for removal. It lists the versions waiting to go in a hidden file named .obsolete in the extensions folder, and deletes them in a cleanup that runs when VS Code starts.
Until then, both versions take space. On the Mac measured here, three versions of each of two AI extensions were on disk at once, about 3.3 GB together, with the older two listed in .obsolete. The post on AI coding tools goes into these extensions in detail.
How do you see which extensions are largest?
VS Code's Extensions view doesn't show sizes, so use Finder:
- Choose Go › Go to Folder, type
~/and press Return..vscode/ extensions - Choose View › as List, then View › Show View Options, and select Calculate all sizes.
- Click the Size column heading to put the largest first.
The publisher and name at the start of each folder's name match the extension's ID, which the Extensions view shows on each extension's page.
How do you uninstall extensions you don't use?
- Click the Extensions icon in the Activity Bar, or press Shift-Command-X.
- Type
@installedin the search box to list everything installed. - Click the Manage button, the gear, next to an extension you don't use, and choose Uninstall.
- Click Restart Extensions when VS Code asks.
The VS Code extensions entry rates the folder Review first, with this as the way to remove them. Features that come from an extension stop working until you install it again.
Does uninstalling on one Mac affect your other Macs?
It can. If Settings Sync is on with Extensions selected, VS Code's documentation says it syncs your installed extensions and whether each is enabled. Removing an extension here can then change what your other machines have.
To keep an extension elsewhere while removing it here, exclude it from sync first: its actions in the Extensions view include an option for that. Extensions in remote windows, such as SSH sessions and dev containers, aren't synced at all.
What about extensions installed from a VSIX file?
VS Code can install an extension from a .vsix package file, with Install from VSIX in the Extensions view's menu. It installs the extension into the same extensions folder, so the file you chose is no longer needed afterwards.
Those files usually sit in your Downloads folder, where they stay until you remove them. VS Code's documentation also notes that extensions installed this way don't update automatically, so check them now and then for newer versions.
Does disabling an extension free space?
No. Disabling stops an extension from running, but its folder stays where it is. The @disabled filter in the Extensions view lists extensions you've disabled; any you're sure you won't turn on again can be uninstalled instead.
Is it safe to delete the whole extensions folder?
It uninstalls every extension at once. Nothing else breaks, and your settings stay, but each extension has to be found and installed again, and any data it kept elsewhere stays behind.
If you want a clean start, it's better to uninstall extensions one by one in the Extensions view. Folders VS Code has already marked for removal disappear on their own; there's no need to delete them by hand.
Before a big cleanup, you can export your profile from the Profiles editor with its Export action, to a file or a private GitHub gist. The export lists your extensions and settings, so you can bring back the ones you miss.

The caches in VS Code's data folder
Which caches does VS Code clean by itself?
VS Code's source code includes cleanup tasks for several of its folders. They run in the background after VS Code starts.
| Folder in Code | What it holds | VS Code's own cleanup |
|---|---|---|
CachedData | Compiled code, one folder per VS Code version | Folders older than about 3 months |
CachedExtensionVSIXs | Packages downloaded to install extensions | Keeps the newest of each, 20 at most |
logs | One folder of logs per session | Keeps the 9 most recent earlier sessions |
Cache, Code Cache, GPUCache | Electron's web, script and graphics caches | Rebuilt as VS Code runs |
The Insiders build trims CachedData after about a week instead of three months, because it updates every day.
Why can the downloaded packages folder still be large?
Because the limit is on how many, not on how big. The cleanup keeps the newest download of each extension, up to 20 extensions, and AI extensions can be over 100 MB each as packages.
On the Mac measured here, CachedExtensionVSIXs held 28 packages, 1.4 GB, including several versions of the same extensions that a later cleanup would remove. Each package is only the download an extension was installed from.
Is it safe to delete VS Code's caches?
Yes. The VS Code caches and logs entry rates them Safe: VS Code rebuilds them as it runs. It starts a little slower the first time afterwards, and logs from earlier sessions are gone, which only matters if you're reporting a bug.
The downloaded extension packages are the best part to remove. Extensions are already installed, so VS Code only needs a package again when it installs or updates an extension.
How do you clear them in Finder?
- Quit VS Code with Code › Quit Visual Studio Code, so nothing is writing to the folder.
- In Finder, choose Go › Go to Folder, type
~/and press Return.Library/ Application Support/ Code - Move any of these folders to the Trash:
CachedExtensionVSIXs,CachedData,Cache,Code Cache,GPUCacheandlogs. - Open VS Code to check it starts, then empty the Trash.
Leave every other folder in Code where it is, the User folder above all.
What about WebStorage, Local Storage and the other folders?
The Code folder also holds folders with names like WebStorage, Local Storage, Session Storage and Service Worker. They hold what web content inside VS Code has stored, the way a browser keeps site data, and they aren't listed as caches in the catalog.
On the Mac measured here, WebStorage was 668 MB, the largest folder after the downloaded packages. What fills it depends on your extensions. Leave these folders alone; removing them can reset what those views saved.
Your settings, history and project state
The User folder inside Code is the part that's yours. On the Mac measured here it was about 36 MB, and it holds things that can't be downloaded again.
What's in the User folder?
| Item in User | What it holds | Remove it? |
|---|---|---|
settings.json, keybindings.json, snippets | Your settings, shortcuts and snippets | No |
profiles | Your other profiles and their settings | Only through the Profiles editor |
History | Local history: earlier copies of files you saved | Entries, through the Timeline |
workspaceStorage | One folder of state per project you've opened | Old projects only, with care |
globalStorage | Extensions' own data, one folder per extension | Through the extension |
How much does local history keep?
Every time you save a file, VS Code can keep a copy of it as a local history entry, which you see in the Timeline view at the bottom of the Explorer. VS Code's documentation gives the defaults: up to 50 entries per file, and only files up to 256 KB.
So local history stays modest for most people. To change it, open Settings with Command-Comma and search for local history: you can lower the number of entries, exclude files, or turn it off. Single entries can be deleted from the Timeline.
Local history is also a safety net. Its Find Entry to Restore action brings back a file you deleted by accident, which is a good reason not to clear it to save a few megabytes.
What is workspaceStorage?
Every folder or workspace you open gets its own subfolder in ~/, where VS Code and extensions keep that project's state. Folders for projects you no longer have stay behind. The post on AI coding tools, linked above, explains how to tell which project each belongs to, since chat sessions are often stored there.
What is globalStorage?
VS Code gives each extension a folder of its own for data that isn't tied to a project, named after the extension's ID, in User/globalStorage. VS Code's documentation leaves it to each extension what to keep there and when to create it.
Most extensions keep little. Some keep more, such as chat history. Where an extension offers a command to clear its data, use it: the Java extension, for example, has Java: Clean Java Language Server Workspace in the Command Palette.
What are the Backups?
Hot exit. When you quit VS Code with unsaved changes, it keeps them and restores them the next time you open it. VS Code's documentation says those backups are stored in ~/.
The folder is only as large as your unsaved work. Never remove it while VS Code shows unsaved files, or those changes are lost.

Updates, Insiders and other copies of VS Code
What is the ShipIt folder in Caches?
VS Code updates itself on a Mac by downloading the next version into ~/ and installing it when you quit. A downloaded update is a full copy of the app, so it takes about as much space as VS Code itself.
The Squirrel update files (ShipIt) entry rates these folders Safe: if you remove one, VS Code downloads a waiting update again. Quitting and reopening VS Code lets the update install, which usually empties it anyway.
Can you stop VS Code downloading updates?
Yes. VS Code's documentation describes the Update: Mode setting: set it to none and VS Code stops updating itself. It's a trade-off, since updates bring security fixes, and you then have to keep VS Code up to date yourself.
For most people, letting updates install is the better way to keep this folder empty.
What if other computers connect to your Mac?
When you use Remote - SSH, VS Code installs a server on the computer you connect to, in a hidden folder named .vscode-server in that account's home folder. On your own Mac, that only matters if you connect to it from somewhere else.
If you do, the server's versions pile up in ~/ on the Mac. VS Code's documentation describes a command for the connecting computer, Remote-SSH: Uninstall VS Code Server from Host, which stops the server and deletes its folder. Older versions of the extension used a folder named .vscode-remote instead.
Should you keep VS Code Insiders?
The Insiders build is a separate app that runs side by side with the stable one. VS Code's documentation says it has isolated settings, configurations and extensions, so its data is in a folder of its own, named Code - Insiders, and its extensions are installed separately.
If you tried Insiders once and went back, it's a full second set: another app, another data folder and another copy of every extension you installed in it. Uninstall its extensions in its own Extensions view, then move the app to the Trash.
Universal, Apple silicon or Intel?
VS Code's download page lists Universal, Apple silicon and Intel builds for the Mac. The Universal build contains code for both kinds of processor, which is why it was 1.4 GB on the Mac measured here.
The Apple silicon or Intel build carries code for one processor only, so it's smaller. If your VS Code came as the Universal build and space is tight, downloading the build for your Mac's processor is an option; your settings and extensions stay where they are.
Can VS Code keep everything on an external drive?
Yes, with portable mode. VS Code's documentation describes it for the Mac: a folder named code-portable-data next to the app holds all of VS Code's data, extensions included, so the app and everything it keeps can sit together on another drive.
It isn't a menu option. The folder has to be created by hand, and Microsoft notes that portable mode doesn't work while macOS has the downloaded app in quarantine, which its steps clear in Terminal. It suits people comfortable with that; for everyone else, clearing caches and unused extensions is simpler.
How do you uninstall VS Code completely?
- Quit VS Code.
- In Finder, open Applications and move Visual Studio Code to the Trash, as VS Code's documentation describes.
- If you won't install it again, move its data folders to the Trash too:
~/,Library/ Application Support/ Code ~/and.vscode ~/..vscode-shared - Check your Caches folder for the ShipIt folder and, if you used the C/C++ extension, its
vscode-cpptoolscache.
Removing the data folders deletes your settings, extensions, local history and unsaved backups for good once you empty the Trash. If you might come back, keep them, or export your profile first.
Cursor, Windsurf and VSCodium
Editors built on VS Code keep the same layout under their own names, starting with a data folder named after the app in Application Support. Their caches are Safe in the catalog, for the same reasons as VS Code's. For IntelliJ, PyCharm and WebStorm, see JetBrains IDE caches.
Cursor and VSCodium don't share extensions with VS Code, so an extension installed in two editors is stored twice. Cursor's chat database and other AI-specific data are covered in the post on AI coding tools.
Extensions that keep data outside VS Code's folders
Some extensions put their largest files somewhere else on your Mac, where neither the extensions folder nor the data folder shows them.
Which extensions store data elsewhere?
| Extension | Where its data goes | How to manage it |
|---|---|---|
| C/C++ | ~/Library/Caches/vscode-cpptools | Its IntelliSense cache size setting |
| Dev Containers | Docker's disk image | Remote Explorer and Docker Desktop |
| Python | .venv folders inside your projects | The Python environments themselves |
| Java | Its language server's workspace data | Its Clean Workspace command |
How large can the C/C++ cache get?
The C/C++ extension caches precompiled headers to speed up IntelliSense. Its settings describe the limit: up to 5,120 MB per workspace by default, with actual use fluctuating around that value. On a Mac, the cache is in ~/.
To keep it smaller, open Settings and search for IntelliSense cache size, then lower the number of megabytes. A size of 0 turns the cache off. The folder sits in your Caches folder, so it can be moved to the Trash with VS Code quit; the extension builds it again.
Where do Dev Containers keep their space?
In Docker. The Dev Containers extension builds images and runs containers through Docker, so their size shows up inside Docker's own disk image, not in VS Code's folders. Remove containers you don't use from the Remote Explorer, and images in Docker Desktop.
The post on Docker Desktop disk space explains why Docker's disk image doesn't shrink by itself.
What about Python environments?
The Python extension finds and creates virtual environments, but they live in your projects, usually in .venv folders, not in VS Code's folders. The post on old Python environments explains which can go and what each costs.
A safe order for cleaning up VS Code
What does removing each part cost?
| Part | Level | What removing it costs | How it comes back |
|---|---|---|---|
| Downloaded extension packages | Safe | Nothing until an extension updates | By itself, when needed |
| Code, web and graphics caches | Safe | A slower first start | By itself |
| Logs | Safe | Logs of earlier sessions | New ones each session |
| A waiting update (ShipIt) | Safe | The update downloads again | By itself |
| Extensions you uninstall | Review | The features they add | Install them again |
| Local history and backups | Keep | Earlier versions and unsaved work | Not at all |
In what order should you clean up?
- Measure. Check
~/and.vscode/ extensions ~/with Get Info.Library/ Application Support/ Code - Uninstall extensions you don't use in the Extensions view, starting with the largest.
- Quit VS Code and reopen it so a waiting update installs and VS Code runs its own cleanups.
- Quit VS Code again, and save or close any unsaved files first.
- Move the cache folders listed above to the Trash in Finder.
- Check the C/C++ cache in your Caches folder, if you use that extension.
- Open VS Code to check everything works, then empty the Trash.
What should you never delete?
- The
Userfolder or the whole Code folder. Your settings, profiles, local history and per-project state are inside. - The
Backupsfolder while you have unsaved changes. - The whole
~/folder, unless you mean to remove every extension..vscode - A project's own
.vscodefolder. It's part of the project. - Anything a web page tells you to paste into Terminal. Commands that delete files can't be undone, and fake cleanup guides are a known way to install malware.
Will clearing caches make VS Code faster?
No. Clearing caches frees space and nothing else; the first start afterwards is slightly slower while VS Code rebuilds them. Uninstalling extensions you don't use also means fewer extensions for VS Code to load, besides the space.
How do you keep VS Code from filling up again?
- Uninstall extensions you've stopped using, rather than disabling them.
- Let updates install by quitting VS Code now and then, so the ShipIt folder doesn't hold an update for weeks.
- Clear the downloaded extension packages once in a while; they're copies.
- If you use the C/C++ extension, set its cache size to what your disk can spare.
- Remove an Insiders build you no longer use, with its extensions.
Which settings control how much VS Code keeps?
A few settings decide how much VS Code and one common extension keep. Open Settings with Command-Comma and search for each setting's ID:
| Setting | What it limits | Default |
|---|---|---|
workbench.localHistory.maxFileEntries | Saved copies kept per file | 50 |
workbench.localHistory.maxFileSize | Largest file local history copies | 256 KB |
update.mode | Whether VS Code updates itself | default |
C_Cpp.intelliSenseCacheSize | The C/C++ extension's cache, per workspace | 5,120 MB |
The defaults suit most Macs. The C/C++ cache is the one worth lowering on a small disk, since it's the only one measured in gigabytes.

How the app does it
Wombit explains these folders like everything else on the disk. Select one in the map or the list, and the inspector says what it is, how safe it is to remove and what removing it costs, from the catalog's entry. It reads only names, sizes and dates, and file names and paths never leave your Mac.
Cleanup lists them by level:
- VS Code's caches, downloaded extension packages and logs, the waiting update in ShipIt, and app caches in your Caches folder, such as the C/C++ extension's, are Safe. They count toward the safe total and start checked. VS Code should be quit first, and each item goes to the Trash, where you can put it back.
- VS Code's extensions folder is Review first. It's explained, with VS Code's own way to uninstall extensions, and never starts checked.
Your settings, local history, backups and per-project state aren't caches, and the app doesn't offer them for removal.
~/
Library/ Application Support/ Code/ {Cache,CachedData,CachedExtensionVSIXs,Code Cache,DawnGraphiteCache,DawnWebGPUCache,GPUCache,logs} Web, code and graphics caches, downloaded extension packages and session logs that Visual Studio Code keeps in its data folder.
Safe · Moves it to the Trash
~/
.vscode/ extensions The extensions you've installed in Visual Studio Code, in one folder for each extension.
Review first · Explained only: the app shows you how
~/
Library/ Caches/ *.ShipIt Squirrel update files (ShipIt)
Updates that apps built with Electron, such as VS Code, downloaded and staged here before installing them, plus the updater's logs.
Safe · Moves it to the Trash
~/
Library/ Caches/ * Data that apps and macOS services keep so they can load things faster. Apps create it again when they need it.
Safe · Moves it to the Trash
Seeing all of this is free. Removing it is PRO, one $4.99 payment with lifetime access. Every Pro tool's review is free to open, so you see what would go and why before you buy.
Frequently asked questions
Where does VS Code store its cache on a Mac?
In ~/Library/Application Support/Code, in folders such as Cache, CachedData, Code Cache, GPUCache and CachedExtensionVSIXs, next to a logs folder. They sit beside your settings in the User folder, so remove only the cache folders, with VS Code quit.
Is it safe to delete the Code folder in Application Support?
Not as a whole. Besides caches, it holds your settings, profiles, local history, per-project state and the backups of unsaved changes. Removing it resets VS Code and can lose unsaved work, while removing only the cache folders frees most of the space it can.
Where are VS Code extensions stored on a Mac?
In ~/.vscode/extensions, a hidden folder in your home folder, with one folder per installed extension version. Open it in Finder with Go › Go to Folder. VS Code Insiders, Cursor and VSCodium keep their own extensions separately.
What is the CachedExtensionVSIXs folder?
It holds the packages VS Code downloaded to install or update extensions. The extensions are already installed from them, so the folder is safe to remove with VS Code quit. VS Code keeps the newest package of each extension, up to 20, and removes the rest itself.
Why does VS Code keep old versions of extensions?
When an extension updates, VS Code marks the old version for removal and deletes it in a later cleanup, so both can be on disk for a while. Quitting and reopening VS Code gives that cleanup a chance to run. There's no need to delete the old folders by hand.
Does moving VS Code to the Trash remove its extensions and settings?
No. It removes only the app. VS Code's uninstall instructions name the folders to delete for a clean uninstall: the Code folder in Application Support, ~/.vscode and ~/.vscode-shared. Keep them if you might install VS Code again.
How big is VS Code on a Mac?
On the Mac measured for this post, the Universal build of the app was 1.4 GB, because it contains code for both Apple silicon and Intel processors. The Apple silicon and Intel builds are smaller. Extensions, caches and a waiting update can add several gigabytes more.
Does clearing VS Code's cache delete my settings or extensions?
No. Settings live in the User folder and extensions in ~/.vscode/extensions, apart from the caches. After clearing the caches, VS Code starts a little slower the first time while it rebuilds them, and earlier sessions' logs are gone.
Sources
- Uninstall Visual Studio Code · Microsoft
- Extension Marketplace · Microsoft
- User interface: Timeline and local history · Microsoft
- Basic editing: Hot Exit · Microsoft
- Visual Studio Code FAQ · Microsoft
- extensionDownloader.ts · Microsoft (VS Code source)