Uninstall Dalo
This guide removes Dalo without leaving broken Dalo-owned symlinks in agent folders.
1. Inspect Current State
Run:
dalo target detect
dalo status
dalo doctor
If doctor reports broken/foreign/missing owned symlinks or real entries at owned paths, clear those records first:
dalo resolve list
dalo resolve remove-owned <target>:<slot>
resolve list prints the exact owned IDs accepted by remove-owned, for example
generic:helper. The removal command removes Dalo-owned symlinks or drops stale
ownership records. It does not delete real user directories.
2. Unlink Targets
Unlink each target Dalo knows about:
dalo target unlink codex
dalo target unlink claude
dalo target unlink openclaw
dalo target unlink hermes
dalo target unlink generic
Only run the targets you actually linked. target unlink updates Dalo state. It does not delete real files from the target directory.
Then run sync once so Dalo removes the owned symlinks that are no longer desired:
dalo sync
sync removes Dalo-owned symlinks and stale ownership records. It does not delete unmanaged real directories.
Run dalo status again and confirm sync no longer reports owned target entries.
3. Disable Instruction Packs
If you enabled instruction packs, remove their managed blocks:
dalo instructions list
dalo instructions disable <pack> <instruction-file>
Dalo only removes the pack's managed block. Content outside Dalo markers is preserved.
4. Disable Autosync
Before removing the Dalo binary or store, inspect and remove any installed autosync job:
dalo autosync status
dalo autosync uninstall
If status reports autosync: not installed, there is no scheduler job to
remove and you can continue. autosync uninstall is also safe to run in that
case.
For an installed job, Dalo disables the native scheduler before deleting its
artifacts: the per-user launchd agent plist on macOS, the per-user systemd
service and timer on Linux, or only Dalo's marked block in your crontab. It
also removes the store's autosync.toml, autosync-run.toml, autosync.log,
and autosync-error.log; other crontab entries and scheduler jobs are left
alone.
If you used a custom store, use the same path for both commands:
dalo --store <store-path> autosync status
dalo --store <store-path> autosync uninstall
5. Remove the Store
After target symlinks and instruction blocks are removed, delete the store directory:
rm -rf ~/.dalo
Use the path from dalo status if you used --store or DALO_STORE.
Adopted skills live in the local source under the store. Back up anything in local/skills/ or local/instructions/ before deleting the store if you want to keep it.
6. Uninstall the Binary
If installed through Homebrew:
brew uninstall dalo
If installed through npm:
npm uninstall --global getdalo
rm -rf ~/.cache/dalo
npx getdalo does not install a global launcher, but it uses the same cache; remove
~/.cache/dalo if you no longer want the downloaded release binary. If you set
DALO_CACHE_DIR, remove that directory instead.
If installed through Cargo:
cargo uninstall dalo
Cargo Binstall uses Cargo's installation directory as well; use the same
cargo uninstall dalo command after confirming it refers to the Dalo binary.
If managed by mise's GitHub Releases backend:
mise uninstall -g github:sebastian-software/dalo
Older installations that still use the deprecated ubi backend can be removed
with mise uninstall -g ubi:sebastian-software/dalo.
If installed with the hosted installer or from a GitHub release archive, remove
the copied dalo binary from wherever you placed it on PATH (by default,
~/.local/bin/dalo). The hosted installer always verifies checksums; manual
archives should be checksum-verified before installation as shown in the
installation guide.
Also remove the adjacent .dalo-install-channel receipt when it was created by
the hosted installer.
7. Final Check
Inspect the agent folders you had linked, such as:
ls -la ~/.agents/skills
ls -la ~/.claude/skills
ls -la ~/.hermes/skills
Remove only broken symlinks that point into the deleted Dalo store. Leave real directories and project/user-authored files in place.
Source: docs/uninstall.md