Where Colima keeps its data
Colima is built on Lima. For the default profile the Lima instance is named colima, and the files live under ~/.colima unless you moved them (see below):
~/.colima/_lima/colima/: the VM, including its root disk. Current Lima names that filedisk. Older instances may still havediffdisk.~/.colima/_lima/_disks/colima/datadisk: the container data disk. Colima 0.9.0 and newer put images, containers and volumes here for instances created on those versions. Docker, containerd and Incus use this disk. Kubernetes does not.~/.colima/default/colima.yaml: the profile config.disk:is the container data ceiling (100 GiB by default).rootDisk:is the VM root filesystem (20 GiB by default).~/Library/Caches/colima: downloaded VM images and other assets, unlessCOLIMA_CACHE_HOMEis set.
colima list prints the short profile name, such as default. A profile you name work shows up as work, but its Lima instance and data disk use colima-work: ~/.colima/_lima/colima-work/, ~/.colima/_lima/_disks/colima-work/datadisk, and config at ~/.colima/work/colima.yaml. Commands take the short name: colima delete work.
If COLIMA_HOME is set, use it instead of ~/.colima. When it is unset, Colima uses ~/.colima if that directory exists, otherwise $XDG_CONFIG_HOME/colima or ~/.config/colima if one of those exists, and otherwise ~/.colima on a Mac. If LIMA_HOME is set, Lima's files are there instead of <COLIMA_HOME>/_lima.
Measure before you delete anything
These commands only read sizes. They delete nothing. The globs below cover the default instance and any colima-* profile without counting the data disks twice.
du -sh ~/.colima/_lima/colima* ~/.colima/_lima/_disks/* ~/Library/Caches/colima 2>/dev/null
colima list
du shows the space the files really take on your Mac. The DISK column of colima list is the disk: ceiling from that profile's config, not the space in use and not rootDisk. The two numbers are often far apart, because the VM disk is sparse: it only takes up the blocks that have been written. ls -lh and Finder show the logical size. The same gap is why Docker.raw stays huge after a prune on Docker Desktop.
Next, ask Docker what is inside the disk. Colima must be running for this. For a profile other than default, start that profile first (colima start work).
colima status
docker system df
The RECLAIMABLE column tells you how much each type (images, containers, local volumes, build cache) could free inside the VM. That number does not show up on your Mac until step 3 below.
Step 1: Prune Docker data, lowest risk first
Run these in order and check docker system df between them. You can stop as soon as you have enough space. Each command asks before it deletes. Do not add -f until you know what it will remove.
# Dangling build cache only. Safe. Add -a to remove all unused build cache.
docker builder prune
# Dangling images (untagged layers left over from rebuilds). Safe.
docker image prune
# Stopped containers. Check the list first; logs and files inside them go away.
docker ps -a --filter status=exited
docker container prune
# Every image not used by a container. Images you still need get pulled again later.
docker image prune -a
Leave volumes for last, and check them by hand. Volumes are where databases and other persistent data live. docker volume prune removes unused anonymous volumes. docker volume prune -a also removes unused named volumes, including a local Postgres or Redis dataset that no container still references. A volume counts as unused when no container references it, so pruning stopped containers can make a database volume eligible. List them first and remove only the ones you know:
docker volume ls
docker volume rm <volume-name>
docker system prune -a removes stopped containers, unused networks, every image not used by a container, and unused build cache. It leaves volumes alone unless you add --volumes, and --volumes removes unused anonymous volumes only, not named ones.
Step 2: Clear Colima's download cache
Colima caches the VM images it downloads. Once a VM is created, it does not need them, so this cache is safe to empty:
colima prune
It asks before it deletes, then empties the Colima cache directory (~/Library/Caches/colima on a Mac, or COLIMA_CACHE_HOME if you set it). colima prune --all also runs Lima's prune, which clears Lima's download cache. The next time you create a new VM, Colima downloads the image again. This does not touch containers, images or volumes.
Step 3: Give the freed space back to macOS
Pruning frees space inside the VM, but the disk file on your Mac can stay the same size. Colima's FAQ covers this. On Colima 0.5.0 and newer, unused space is released when the VM starts, so a restart is enough:
colima restart
To trim without a restart, run fstrim inside the VM. The FAQ's command is fstrim -a. Add -v if you want a line per filesystem. For a profile other than default, pass --profile (or -p) with the short name from colima list:
colima ssh -- sudo fstrim -a
colima ssh --profile work -- sudo fstrim -a
Run the du command from above again to see the result. On Colima 0.4.x or older, the host file does not shrink after a prune. Upgrade with brew upgrade colima, then colima restart. Recreate the VM only if you still need a new VM image. colima delete on an instance created before 0.9.0 removes its container data with the VM, so do not recreate one of those just to trim.
Step 4: Remove profiles you no longer use
Each profile has its own VM and, from Colima 0.9.0, its own data disk. Old ones are easy to forget. colima delete asks before it removes anything unless you pass --force.
colima list
colima delete <profile-name>
For an instance created with Colima 0.9.0 or newer, colima delete keeps the container data disk, so the data comes back on the next colima start of that profile. Instances created before 0.9.0 keep container data on the VM disk, so deleting the instance deletes that data too. Kubernetes is not stored on the separate disk. To remove a 0.9.0-or-newer profile's container data as well, add --data:
colima delete <profile-name> --data
Only do this when nothing in that profile's volumes matters to you.
Step 5: Reset everything (last resort)
If the disk is huge, you have tried the steps above, and you are happy to pull images and rebuild from scratch, you can start over. This deletes every image, container and volume in the default profile. Back up or dump any database volumes first.
colima delete --data
colima start
Can I make the Colima disk smaller?
The disk: value in colima.yaml (100 GiB by default) is a ceiling for container data, not the space the file takes today. rootDisk: (20 GiB by default) is a separate ceiling for the VM's root filesystem. Colima can grow disk: on the next start (version 0.5.3 and newer), but it cannot shrink a disk that already exists. Usually you don't need a smaller ceiling. After a prune and a trim, the file on your Mac only holds what is still in use. If you want a lower ceiling anyway, recreate the VM with colima delete --data and then colima start --disk 60, using whatever size you need.
What not to do
- Don't delete files in
~/.colima/_limaby hand while Colima is running. You can corrupt the VM and lose volumes you meant to keep. - Don't run
docker volume prune -awithout readingdocker volume lsfirst. - Don't expect Finder or
ls -lhto show the change. They report the logical size of the sparse file.du -shshows what it actually uses.
The easier option: DevCleaner
DevCleaner is a macOS app that measures developer caches and sorts them by risk. Its Docker rows run Docker's prune commands for the same categories as Step 1: build cache, dangling images, unused images, stopped containers and unused volumes. Those commands use the default Docker context, not a DOCKER_HOST value that exists only in your terminal. When that context is Colima, Colima has to be running, the same as for the manual commands.
Build cache and dangling images are rated Safe and selected by default. The build-cache row removes all unused build cache (docker builder prune -a), not only dangling cache. Unused images and stopped containers are rated Warning. Unused volumes are rated Danger, stay off until you select them, and are removed with docker volume prune -a, which includes unused named volumes. On a new Free install, the scan includes every row and Safe cleanup is free. Warning and Danger cleanup needs Pro.
DevCleaner does not measure or trim Colima's VM disk. It does not run colima prune, fstrim or colima delete. Use the steps above for the download cache, handing space back to macOS, and removing a profile. It is useful when Docker is one of several things filling your disk, next to Xcode builds or old node_modules folders.
In the current release, cleanup deletes files permanently by default. Moving them to the Trash is optional: turn on Move to Trash instead of deleting permanently in Settings, General, Cleaning. The first manual clean asks which you prefer. Docker prune commands do not use that setting. They delete the objects they remove.
Pro is $19.99 a year or $59 lifetime and covers up to 3 devices (Mac or Linux). A 14-day Pro trial does not charge a card and does not start a subscription.
FAQ
- Is it safe to delete the ~/.colima folder?
- Not while Colima is running, and not if you want to keep anything inside it. Deleting it removes every profile, VM, image, container and volume. For a clean slate, colima delete --data for each profile does the same thing in a controlled way. On an instance created before Colima 0.9.0, colima delete without --data already removes that instance's container data, because it lives on the VM disk.
- Why didn't my Mac get space back after docker system prune?
- The prune freed space inside the VM, not on your Mac. On Colima 0.5.0 or newer, run colima restart, or colima ssh -- sudo fstrim -a, then check with du -sh. Finder and ls -lh show the sparse file's logical size, not the space it uses.
- What does colima prune delete?
- Only Colima's cache of downloaded assets, such as VM images. On a Mac that is ~/Library/Caches/colima unless COLIMA_CACHE_HOME is set. It does not touch your containers, images or volumes. colima prune --all also prunes Lima's download cache.
- Does colima delete remove my Docker volumes?
- For an instance created with Colima 0.9.0 or newer, no. Container data stays on its own disk and comes back with colima start. Add --data to remove it. An instance created before 0.9.0 keeps that data on the VM disk, so colima delete removes it with the VM. Kubernetes data is not on the separate disk.
References and scope
Reviewed on October 20, 2026 against Colima 0.10.3 (the latest release that day, published June 4, 2026), the Colima FAQ and prune command, Docker's prune docs, and the current DevCleaner release. Paths assume macOS, Colima's own Lima directory, and the default cache location. Sizes depend on your images and volumes. Nothing here promises a specific amount of recovered space.
- Colima FAQ: disk space recovery, disk size, deleting container data, and where config lives.
- Colima source for colima prune: the prune command empties the download cache and, with
--all, also prunes Lima's cache. - Docker docs: prune unused objects
See the sizes before you delete
DevCleaner shows Docker build cache, images, containers and volumes by risk before it removes anything. Colima's VM disk, download cache and profiles still use the commands above.
Download DevCleaner ↓