Uninstall

Two paths:
  • Easy path if pllan is still installed.
  • Manual service removal if the CLI is gone but the service is still running.

Easy path (CLI still installed)

Recommended: use the built-in uninstaller:
pllan uninstall
Non-interactive (automation / npx):
pllan uninstall --all --yes --non-interactive
npx -y pllan uninstall --all --yes --non-interactive
Manual steps (same result):
  1. Stop the gateway service:
pllan gateway stop
  1. Uninstall the gateway service (launchd/systemd/schtasks):
pllan gateway uninstall
  1. Delete state + config:
rm -rf "${PLLAN_STATE_DIR:-$HOME/.pllan}"
If you set PLLAN_CONFIG_PATH to a custom location outside the state dir, delete that file too.
  1. Delete your workspace (optional, removes agent files):
rm -rf ~/.pllan/workspace
  1. Remove the CLI install (pick the one you used):
npm rm -g pllan
pnpm remove -g pllan
bun remove -g pllan
  1. If you installed the macOS app:
rm -rf /Applications/Pllan.app
Notes:
  • If you used profiles (--profile / PLLAN_PROFILE), repeat step 3 for each state dir (defaults are ~/.pllan-<profile>).
  • In remote mode, the state dir lives on the gateway host, so run steps 1-4 there too.

Manual service removal (CLI not installed)

Use this if the gateway service keeps running but pllan is missing.

macOS (launchd)

Default label is ai.pllan.gateway (or ai.pllan.<profile>; legacy com.pllan.* may still exist):
launchctl bootout gui/$UID/ai.pllan.gateway
rm -f ~/Library/LaunchAgents/ai.pllan.gateway.plist
If you used a profile, replace the label and plist name with ai.pllan.<profile>. Remove any legacy com.pllan.* plists if present.

Linux (systemd user unit)

Default unit name is pllan-gateway.service (or pllan-gateway-<profile>.service):
systemctl --user disable --now pllan-gateway.service
rm -f ~/.config/systemd/user/pllan-gateway.service
systemctl --user daemon-reload

Windows (Scheduled Task)

Default task name is Pllan Gateway (or Pllan Gateway (<profile>)). The task script lives under your state dir.
schtasks /Delete /F /TN "Pllan Gateway"
Remove-Item -Force "$env:USERPROFILE\.pllan\gateway.cmd"
If you used a profile, delete the matching task name and ~\.pllan-<profile>\gateway.cmd.

Normal install vs source checkout

Normal install (install.sh / npm / pnpm / bun)

If you used https://pllan.ai/install.sh or install.ps1, the CLI was installed with npm install -g pllan@latest. Remove it with npm rm -g pllan (or pnpm remove -g / bun remove -g if you installed that way).

Source checkout (git clone)

If you run from a repo checkout (git clone + pllan ... / bun run pllan ...):
  1. Uninstall the gateway service before deleting the repo (use the easy path above or manual service removal).
  2. Delete the repo directory.
  3. Remove state + workspace as shown above.