How to uninstall oMLX on Mac
oMLX is a macOS menu bar app and local LLM server for Apple silicon, from the jundot/omlx project (bundle ID app.omlx). Almost everything it keeps is in ~/.omlx: per its README the default model folder is ~/.omlx/models, settings go to ~/.omlx/settings.json (the source stores the server API key there too, if you set one), the SSD cache to ~/.omlx/cache, logs to ~/.omlx/logs, and the app writes its command shims to ~/.omlx/bin. Models can be many gigabytes. The folder can also be moved: the app's Storage setting writes the new location into ~/Library/Application Support/oMLX/base-path, and you can point the model directory somewhere else entirely, so look at where your models actually are before you decide anything. This guide covers the disk image from the project's GitHub release. The omlx formula in the project's Homebrew tap is a separate install of the server and is not covered here.
Quit and remove the app
- Copy out anything you want to keep from
~/.omlx, such as downloaded models orsettings.json, and from any model folder you pointed oMLX at. If you moved the data root,cat "$HOME/Library/Application Support/oMLX/base-path"prints where it is. - Stop the server and quit oMLX from its menu bar icon. If you installed the shim,
omlx stopstops the app-managed server. The server listens on port 8000 by default; the check below tells you whether it is gone. The app can also be set to start the server when it launches. - Open Finder, go to Applications and drag oMLX to the Trash. The app is large, about 1.8 GB, because it carries its own Python environment.
- Look for the shell and command leftovers in the table below. The app only edits a shell startup file after asking, and older versions linked
omlxinto a public bin folder.
The test registered no login item or launch agent.
Where the data lives
Press Shift + Command + G in Finder to open each path. Skip any path that is not on your Mac.
| Location | What it holds | What to do |
|---|---|---|
~/.omlx |
Models in models, settings.json, the SSD cache, logs and the bin shims; 8 KB in the test, only the two shims |
Copy what you need first, then remove, unless you keep the Homebrew formula or another oMLX. Mole lists it for review and selects it by default when eligible. |
~/Library/Application Support/oMLX |
The base-path pointer if you moved the data root, and possibly a small cli-path-prefs.json; empty in the test |
Read base-path first, then remove. Mole lists it for review and selects it by default when eligible. |
~/Library/Caches/app.omlx, ~/Library/HTTPStorages/app.omlx |
Cache and network storage | Remove. Selected by default. |
The folder getconf DARWIN_USER_CACHE_DIR prints, then app.omlx |
Temporary cache | Remove. Selected by default. |
A block between # oMLX: CLI shim path begin and # oMLX: CLI shim path end in ~/.zshrc, ~/.zprofile, ~/.zshenv, ~/.bashrc, ~/.bash_profile or ~/.profile |
A PATH line for ~/.omlx/bin, added only after the app asked |
Delete the block by hand if it is there. Mole does not edit shell startup files. |
/opt/homebrew/bin/omlx or /usr/local/bin/omlx |
A link older app versions made to ~/.omlx/bin/omlx; the Homebrew formula uses the same name |
Remove only if ls -l shows it pointing at .omlx/bin/omlx. |
Check the result
pgrep -il omlx
lsof -nP -iTCP:8000 -sTCP:LISTEN
ls -d /Applications/oMLX.app "$HOME/.omlx" "$HOME/Library/Application Support/oMLX" "$HOME/Library/Caches/app.omlx"
grep -n 'oMLX: CLI shim' "$HOME/.zshrc" "$HOME/.zprofile" "$HOME/.zshenv" "$HOME/.bashrc" "$HOME/.bash_profile" "$HOME/.profile" 2>/dev/null
ls -l /opt/homebrew/bin/omlx /usr/local/bin/omlx 2>/dev/null
- No output from
pgrepmeans oMLX and its server are not running. A printed line is a process still alive. - No output from
lsofmeans nothing listens on port 8000. A printed line names the process holding it, which can be an unrelated server if you changed the port or run another one. - For
ls -d,No such file or directorymeans that path is gone. A surviving~/.omlxis expected if you kept your models. - A
grepline is a PATH block still in that file. No output means none was found. Anls -lline shows a link and where it points; no output means neither link exists.
What Mole lists
Mole selects the app, ~/Library/Caches/app.omlx, ~/Library/HTTPStorages/app.omlx and the temporary cache row. It lists ~/Library/Application Support/oMLX and ~/.omlx for review and selects them by default when eligible. Mole does not know whether the Homebrew formula or a second copy still uses ~/.omlx, and it does not follow a moved data root or a model folder elsewhere, so untick ~/.omlx if you keep models there. Status shows oMLX as one row. Mole found no update channel for it, although the README describes an in-app updater; no update was run.
What this test covered
On November 9, 2026, oMLX-0.7.3-macos26-27.dmg from the project's GitHub release, whose checksum matched the download, was copied to Applications on a test Mac and opened once. The test removed it with a source-built Mole with every review row ticked. The first run moved the app and 4 rows to the Trash and left ~/.omlx, which held the two shims the app wrote at launch. After Mole's scanner was changed to list that folder, a repeat on the same package moved the app and 5 rows including ~/.omlx (8 KB) with no failures; a rescan then found nothing left. Status showed one oMLX row with 1 process, and Mole found no update channel; no update was run. No model was downloaded, the server was not started, and sign-in, the shell startup edit prompt, a moved data root, the Homebrew formula and Mole's notarized release build were not tested.
