Copedal

Tool guide

Drive mover

Your system drive fills up because the agent writes where the tools default to, not where you would choose. This moves those folders to a second drive and leaves a junction behind, so every path in every config keeps working.

Last checked: 13 November 2026 Environment: Windows 11 · macOS 14+ Time: 20–30 minutes, including the check

What this fixes

Four folders do most of the damage on a Windows machine: a browser's download folder, the temp folder, the package caches for Node and Python, and whatever folder your agent treats as its home. On macOS the first, third and fourth are the same suspects. Model files and video renders are the usual reason it happens at all — a single 4 GB download is one afternoon of cleanup later.

Moving a folder normally means every program that pointed at the old path breaks. That is why this guide moves the folder and leaves a junction (Windows) or a symlink (macOS) at the old location. To the agent, the path has not changed.

Do this

  1. Measure before you move. On Windows, right-click the drive in File Explorer, open Properties, and note free space. Then find the heavy folders with Get-ChildItem $env:USERPROFILE -Directory -Force | ForEach-Object { $s = (Get-ChildItem $_.FullName -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum; [pscustomobject]@{Folder=$_.Name; GB=[math]::Round($s/1GB,1)} } | Sort-Object GB -Descending. In PowerShell 7 you can shorten that with -Parallel, but the plain version finishes in a couple of minutes and does not need anything installed.
  2. Close everything that writes there. Agents, terminals, browsers, package managers. A file held open makes the move half-fail, and half-moved folders are the ones that cost you a day.
  3. Create the destination first. D:\data\Downloads, D:\data\temp, D:\agent-work. Not D:\Downloads at the drive root — root-level folders are the first thing a cleanup script touches.
  4. Move with robocopy, not drag-and-drop. robocopy "C:\Users\me\Downloads" "D:\data\Downloads" /E /MOVE /R:1 /W:1 /LOG:D:\data\move-downloads.log. Copy, verify, then delete: /MOVE only deletes after a successful copy, and the log is your evidence if something is missing later.
  5. Leave the junction. New-Item -ItemType Junction -Path "C:\Users\me\Downloads" -Target "D:\data\Downloads". On macOS, ln -s /Volumes/Data/Downloads ~/Downloads. A junction needs no admin rights and behaves like a real folder to almost every program.
  6. Fix the settings that still say C:. A junction covers reads and writes, not a program's own idea of where it is. Check the browser's download path, the package manager's cache path (npm config set cache D:\data\npm-cache), and the agent's working-directory setting. If the agent has a "home" folder in its config, change that too — otherwise it keeps writing to the junction, which works, but leaves you with no idea where the space went.
  7. Verify with the same command you used to measure, then open a file from the old path and confirm it is the same file.

Where this goes wrong

  • Moving AppData wholesale. Some of it moves fine and some of it hard-codes the path in a registry value you will not find until a program refuses to start. Move the specific cache folders inside it, one at a time.
  • Junction over an existing folder. New-Item -ItemType Junction fails if the path already exists, and a script that "helpfully" deletes the target first will delete your data. Delete the now-empty original folder yourself, then create the junction.
  • OneDrive. If the folder lives under OneDrive, the client follows the junction and can re-sync everything, or mark files online-only at the new location. Pause sync before moving, and exclude the destination from backup if you do not want it duplicated.
  • Deleting the junction "to clean up". rmdir on a junction removes the link; rmdir /s on some tools follows it and deletes the real folder. Use cmd /c rmdir "C:\Users\me\Downloads" without /s.

Checklist

  • Free space on C: went up by roughly the size you moved.
  • The old path still opens, and the files in it are the moved files.
  • The agent's own config points at the new path, not only at the junction.
  • The move log is kept for a week. It is the only record of what went where.