How to uninstall Devin on Mac
Devin Desktop is the IDE that used to be called Windsurf, and it still installs as Devin.app with the bundle ID com.exafunction.windsurf. Before you remove it, decide what to keep: Devin's Memories & Rules page says Cascade's auto-generated memories and your global rules live only on your Mac in ~/.codeium/windsurf/memories/, and the local Devin agent keeps its session history under ~/.local/share/devin. Moving only the app to the Trash leaves both in place. This guide covers the official download from devin.ai and the Homebrew cask devin-desktop.
Quit Devin
- Save your work and quit Devin from its app menu or with Command-Q.
- Search for Devin in Activity Monitor and check that its processes have exited. The editor runs a language server and a bundled
devinagent next to the main window, and they should close with it. - Open System Settings › General › Login Items & Extensions and turn off any Devin entry that is still listed. None was added in this test.
Move Devin to Trash
Open the Applications folder in Finder and move Devin to Trash. Devin's getting-started page describes the same step: make sure it is not running, then drag it from Applications to the Trash.
Where Devin keeps its files
In Finder, press Shift + Command + G and check each location. Skip the ones that do not exist.
| Location | What it holds | What to do |
|---|---|---|
~/Library/Application Support/Devin |
Editor data: settings, workspace state, backups and logs (83 MB in this test) | Back up anything you want to keep, then remove it |
~/.local/share/devin |
The local agent's session database cli/sessions.db, its logs and plugins (log path per Devin's CLI troubleshooting page) |
Keep it if you use the separate Devin CLI or want your sessions back after reinstalling |
~/.config/devin |
config.json, a global AGENTS.md, mcp_config.json and skills, shared with the Devin CLI (per Devin's configuration page) |
Keep it while you use the Devin CLI |
~/.cache/devin |
Cached remote configuration and telemetry state | Keep while the standalone CLI uses it; trash this exact folder only after confirming it is no longer shared |
~/.devin |
Editor launch arguments and extensions | Safe to remove once the app is gone |
~/.codeium/windsurf |
Cascade chat history in cascade (per Devin's troubleshooting page), memories and memories/global_rules.md, global skills and a bin folder, carried over from Windsurf |
Copy out the memories and rules you want, then remove it yourself if nothing else from Codeium or Windsurf uses it |
~/.devin-shared |
Storage shared with the standalone Devin CLI | Keep it if the Devin CLI is installed |
~/Library/Caches/com.exafunction.windsurf, ~/Library/HTTPStorages/com.exafunction.windsurf, ~/Library/Preferences/com.exafunction.windsurf.plist |
Cache, web storage and preferences | Remove with the app |
The descriptions of ~/.local/share/devin, ~/.cache/devin, ~/.devin and ~/.devin-shared come from what this test observed on disk; Devin's documentation names the log, configuration and memory paths.
Remove the PATH line Devin added
On first launch in this test, Devin added a line to ~/.zshrc that puts ~/.codeium/windsurf/bin on your PATH. Mole does not edit shell configuration files. Find the line first:
grep -n 'codeium/windsurf' ~/.zshrc ~/.bashrc ~/.profile
Each result shows the file, the line number and the line. A missing file can be skipped; a permission or read error leaves its contents unknown. A successfully read file with no match does not mention that folder. Open the file in a text editor, delete only the line Devin added, save, and open a new Terminal window. Leave the line alone if you still use something installed in ~/.codeium/windsurf/bin.
Check the result
pgrep -il devin
ls -d /Applications/Devin.app
ls -d "$HOME/Library/Application Support/Devin" ~/.local/share/devin ~/.config/devin ~/.codeium/windsurf
command -v devin
- No output from
pgrepmeans this process-name pattern found no match, not that every Devin helper has exited. Check Activity Monitor and verify executable paths for remaining editor, agent or standalone CLI processes before deleting more. ls -d /Applications/Devin.appprinting the path means the app is still there.- The second
ls -dprints each folder that still exists and reports "No such file or directory" for the rest. A surviving~/.local/share/devinmeans the agent-data folder remains; open it to check the sessions you chose to keep.~/.codeium/windsurfsurviving is expected when you chose to keep it or used only Mole's own removal list, which does not list that folder; a separate manual removal is a different choice. command -v devinshows what this shell resolves for that name, which can be a file path, alias, function or another command. If it is an actual file path, inspect its target to determine whether it belongs to a retained standalone CLI; keep shared folders while that installation needs them. No output means only that this shell cannot resolve the name.
If you installed it with Homebrew
The devin-desktop cask's uninstall step quits Devin, unloads the updater job com.exafunction.windsurf.ShipIt and removes the devin-desktop command Homebrew linked. Its zap list trashes ~/.devin, ~/Library/Application Support/Devin, the app's caches, web storage, preferences and recent-documents entry, and it has an rmdir step for ~/.codeium/windsurf, which removes that folder only when it is empty. Running brew uninstall --cask --zap devin-desktop yourself trashes those whatever you ticked in Mole. It does not name ~/.local/share/devin, ~/.config/devin or ~/.cache/devin. Homebrew Devin Desktop cask
To keep the editor's data folder, leave --zap out:
brew uninstall --cask devin-desktop
Mole never adds --zap for this cask, because ~/.devin sits outside ~/Library. It removes the app and the rows you selected instead.
Removing Devin does not cancel a Devin or Windsurf plan or delete your account. For other AI coding tools and what they leave behind, see Clean Up AI Coding Tools on Mac: Caches, CLIs, Transcripts.
What Mole lists
When you remove Devin with Mole:
- Preferences, caches, web storage, temporary caches and the recent-documents entry filed under
com.exafunction.windsurfare selected by default, and so are the rebuildable caches and logs inside~/Library/Application Support/Devin(Cache,Code Cache,GPUCache,DawnGraphiteCache,DawnWebGPUCache,Crashpad,blob_storage,logs). ~/Library/Application Support/Devin,~/.devin,~/.cache/devinand~/.config/devinare listed unchecked when Remove data and settings with apps in General > Cleaning is off. Turning it on can preselect eligible app data; keep shared configuration and caches unchecked while using the standalone Devin CLI, and back up editor settings before deleting them.~/.local/share/devincontains agent sessions and remains unchecked even with that option on. Review it individually and keep it while the standalone CLI or wanted session history still needs it.~/.codeium/windsurfand~/.devin-sharedare not listed, since other Codeium and Devin tools can use them.- The PATH line in
~/.zshrcis not changed.
What this test covered
Devin 3.10.35 was downloaded from the official site, copied into Applications, signed in and used for one small code-reading question on September 28, 2026. On September 29 it was quit and removed with a development build of Mole with every row ticked, in a run with other AI apps. Before removal Mole's Status page showed Devin as one row of 21 processes using 1.58 GB. The app, ~/Library/Application Support/Devin, ~/.devin, ~/.local/share/devin, ~/.cache/devin and ~/.config/devin went to the Trash. ~/.codeium/windsurf, ~/.devin-shared and the PATH line in ~/.zshrc stayed. No login item was added before or after. An earlier run on September 21, 2026 removed Devin 3.10.31 and 41.5 MB of support data; ~/.devin was not listed then. The Homebrew cask, the standalone Devin CLI, the bundled devin command's own uninstall option and signing out were not tested.
