Install
Table of Contents
- Overview
- Prerequisites
- Step 1: Download and Run the Install Script
- Step 2: GUI Setup Wizard (Browser)
- After Install: Adding Skills and Packages
- Platform-Specific Notes
- Upgrading / Re-running the Installer
- What the Installer Does
- Uninstall
Overview
AcaClaw installation is a two-step process:
| Step | Interface | What happens |
|---|---|---|
| Step 1 | Terminal (one command) | Downloads and installs OpenClaw, AcaClaw plugins, Miniforge, and academic skills |
| Step 2 | Browser (GUI wizard) | Guides you through discipline selection, AI provider setup, workspace configuration, and security level |
Step 1 requires a terminal because it installs system packages — things like Node.js packages, Conda environments, and CLI tools. This is the only time you need a terminal.
Step 2 opens automatically in your browser once installation finishes. The GUI wizard handles every interactive choice — no terminal menus, no typing config values manually.
AcaClaw does not run a separate GUI application. It serves its own browser UI on its gateway port (http://localhost:2090). OpenClaw’s built-in admin dashboard remains available on the default gateway (http://localhost:18789). Two gateways, two ports, two frontends.
After install, you never need the terminal again. Skills, discipline packages, configuration, and backup are all managed through the browser GUI. See Web GUI for details.
Platform Support
| Platform | Status | Notes |
|---|---|---|
| Linux (Ubuntu, Debian, Fedora, etc.) | Phase 1 — Available now | Full support via CLI install script |
| macOS (Intel & Apple Silicon) | Phase 1 — Available now | Full support via CLI install script |
| Windows (WSL2) | Phase 1 — Available now | Installs inside WSL2 Linux, launches via Windows browser |
Prerequisites
| Requirement | Version | How to check |
|---|---|---|
| Node.js | 22 or newer | node --version |
| npm | (comes with Node.js) | npm --version |
| Docker (optional) | Any recent version | docker --version |
Docker is only needed if you want Maximum security mode (all code runs in containers).
If you don’t have Node.js, install it from nodejs.org.
Step 1: Download and Run the Install Script
Open a terminal and run:
curl -fsSL https://acaclaw.com/install.sh | bash
Or download the script first and inspect it:
curl -fsSL https://acaclaw.com/install.sh -o install.sh
less install.sh # review the script
bash install.sh
The script installs everything automatically:
[acaclaw] System: linux x86_64
[acaclaw] Node.js 22.14.0 ✓
[acaclaw] npm 10.9.2 ✓
── Step 1: OpenClaw ──
[acaclaw] Installing OpenClaw...
[acaclaw] OpenClaw installed ✓
── Step 2: Scientific Python Environment ──
[acaclaw] Installing Miniforge...
[acaclaw] Miniforge installed ✓
── Step 3: AcaClaw Plugins ──
[acaclaw] @acaclaw/workspace installed ✓
[acaclaw] @acaclaw/backup installed ✓
[acaclaw] @acaclaw/security installed ✓
[acaclaw] @acaclaw/academic-env installed ✓
── Step 4: Academic Skills ──
[acaclaw] 6 academic skills installed from ClawHub ✓
── Opening setup wizard in your browser...
At the end, the script starts the OpenClaw gateway and opens the setup wizard in your browser.
Step 2: GUI Setup Wizard (Browser)
Once installation completes, your browser opens to http://localhost:2090/ with the AcaClaw setup wizard.
Why a web app wizard instead of a native binary?
A terminal install script cannot safely launch a native GUI application across all OSes due to quarantines and smart screens.
Instead, the installer attempts to launch the setup wizard as a Standalone App Window (a “dock app” without browser tabs or address bars) using your existing Chrome or Edge installation. If a supported browser isn’t found, it gracefully falls back to opening a standard browser tab.
This provides a native app experience while remaining completely local and trusted by your OS.
Wizard screens
Screen 1 — Discipline
Choose your primary research field. This determines which scientific packages are pre-installed in your Conda environment.
| Discipline | What it adds |
|---|---|
| General | Python + R scientific stack (NumPy, SciPy, Pandas, tidyverse, ggplot2) |
| Biology | Biopython, scikit-bio, BiocManager |
| Chemistry | RDKit, molecular analysis tools |
| Medicine | lifelines (survival analysis), pydicom, R survival |
| Physics | Astropy, lmfit (curve fitting) |
You can add more disciplines later from the GUI.
Screen 2 — AI Provider
- Choose provider: Anthropic, OpenAI, Google AI, or OpenClaw Web
- Enter your API key (with link to “How to get an API key”)
- Test connection button to verify the key works
- Select your preferred model
Screen 3 — Workspace Location
- Default:
~/AcaClaw/ - Change button to pick a different directory
- Shows the workspace structure that will be created
Screen 4 — Security Level
| Level | What it does | Requires Docker? |
|---|---|---|
| Standard (recommended) | File operations restricted to workspace, command deny-lists, audit trail, automatic backup | No |
| Maximum | Everything above + all code runs inside Docker containers. Full isolation. | Yes |
Screen 5 — Ready
- Summary of all choices
- “Finish Setup” button
- Progress indicator while the Conda environment is created for your discipline
After setup, the wizard redirects to the AcaClaw dashboard. Installation is complete.
After Install: Adding Skills and Packages
Everything after initial setup is done through the browser GUI — no terminal needed.
Installing new skills
Open the Skills tab in the browser → click ClawHub → browse or search → click Install. The gateway calls skills.install over WebSocket and shows progress in the browser.
Adding a new discipline
Open the Environment tab → click Add Discipline → select Chemistry, Biology, etc. The gateway calls acaclaw.env.install which runs conda env create in the background. A progress bar shows installation status. When done, the new environment and packages are immediately available.
Installing individual packages
Open the Environment tab → click Install Package → type the package name. This runs conda install in the active environment via the gateway. No terminal.
How it works underneath
The browser never runs commands directly. It sends WebSocket messages to the gateway, which spawns the actual process (clawhub install, conda install, conda env create). Progress events stream back over the WebSocket and display in the browser as a progress bar. If installation fails, the error message appears in the browser.
Platform-Specific Notes
Linux
curl -fsSL https://acaclaw.com/install.sh | bash
- Works on any distribution with Node.js 22+
- The browser wizard opens via
xdg-open http://localhost:2090/ - If no display server is available (headless/SSH), the script prints the URL to visit manually
- Desktop integration: installs a
.desktopfile — AcaClaw appears in your app launcher and can be pinned to the dock
macOS
curl -fsSL https://acaclaw.com/install.sh | bash
- Supports both Intel (x86_64) and Apple Silicon (arm64)
- Requires Xcode Command Line Tools (the script prompts you if missing)
- Gatekeeper does not interfere — the script installs CLI tools and npm packages, not unsigned
.appbundles - The browser wizard opens via
open http://localhost:2090/ - Desktop integration — 3-layer launch guarantee:
- Dock / Launchpad:
AcaClaw.appin~/Applications/— search “AcaClaw” in Spotlight or Launchpad - Desktop icon: Finder alias on
~/Desktop/— always visible, double-click to launch - Browser bookmark:
http://localhost:2090/— if layers 1 and 2 both fail, this always works
- Dock / Launchpad:
Windows (WSL2)
# Inside WSL2 terminal
curl -fsSL https://acaclaw.com/install.sh | bash
The install script auto-detects WSL2 (via WSL_DISTRO_NAME or /proc/version) and runs the standard Linux install path with four WSL2-specific additions:
How WSL2 differs from native Linux
| Aspect | Native Linux | WSL2 |
|---|---|---|
| Install location | ~/.openclaw/, ~/.acaclaw/ |
Same (inside WSL2 filesystem) |
| Node.js / Conda / plugins | Installed in WSL2 | Same |
| Gateway process | Runs in WSL2 | Same — localhost:2090 auto-forwards to Windows |
| App window | PWA via Linux Chrome/Edge | Opens Windows-side browser via cmd.exe /c start |
| Setup wizard | Opens in Linux browser | Opens in Windows browser (API key entry on Windows side) |
| Desktop shortcut | .desktop file |
.lnk on Windows Desktop (launches via wsl.exe) |
| Workspace symlink | N/A | Symlink on Windows Desktop → ~/AcaClaw/ |
1. Standalone app window via Windows browser
WSL2 does not have a native display server. Instead of trying to open a Linux browser (which requires WSLg or an X server), the installer launches the Windows-side browser directly:
# Detected by install.sh when PLATFORM=wsl2
cmd.exe /c start "" "http://localhost:2090/"
WSL2 automatically forwards localhost ports to Windows, so http://localhost:2090/ opens the AcaClaw UI in the user’s default Windows browser (typically Edge or Chrome).
For the standalone app window experience (no address bar, no browser tabs), the installer attempts Chromium --app mode on the Windows side:
# Try Edge first (pre-installed on Windows 10/11)
"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe" \
--app="http://localhost:2090/" --no-first-run --disable-fre &
# Fallback: Chrome
"/mnt/c/Program Files/Google/Chrome/Application/chrome.exe" \
--app="http://localhost:2090/" --no-first-run &
# Final fallback: regular browser tab
cmd.exe /c start "" "http://localhost:2090/"
This gives users the same frameless app window experience as macOS (WKWebView) and native Linux (PWA), but using Windows Edge/Chrome.
2. Setup wizard opens on Windows side
The setup wizard (API key entry, discipline selection, security level) opens in the Windows browser, not inside WSL2. This is important because:
- Users copy-paste API keys from Windows password managers / browser sessions
- Windows is the primary desktop environment; WSL2 is the compute backend
- No dependency on WSLg or X11 forwarding
The install script detects WSL2 and calls cmd.exe /c start instead of xdg-open:
case "$PLATFORM" in
wsl2)
# Open in Windows browser, not WSL2 Linux browser
cmd.exe /c start "" "$SETUP_URL" 2>/dev/null || true
;;
esac
3. Workspace symlink on Windows Desktop
After creating ~/AcaClaw/ inside WSL2, the installer creates a Windows shortcut on the user’s Desktop that points to the WSL2 workspace folder:
Windows Desktop/
AcaClaw Workspace.lnk → \\wsl$\Ubuntu\home\user\AcaClaw\
This lets users browse their research files from Windows Explorer without navigating the \\wsl$\ path manually. Created via PowerShell:
$desktop = [Environment]::GetFolderPath('Desktop')
$shell = New-Object -ComObject WScript.Shell
$shortcut = $shell.CreateShortcut("$desktop\AcaClaw Workspace.lnk")
$shortcut.TargetPath = "\\wsl$\$distro\home\$user\AcaClaw"
$shortcut.Description = "AcaClaw Research Workspace (WSL2)"
$shortcut.Save()
4. App shortcut on Windows Desktop
A second .lnk shortcut is created on the Windows Desktop to launch AcaClaw:
Windows Desktop/
AcaClaw.lnk → wsl.exe -d Ubuntu -- bash ~/.acaclaw/start.sh
Double-clicking this shortcut:
- Starts the gateway inside WSL2 (if not already running)
- Opens
http://localhost:2090/in the Windows browser as a standalone app window - No terminal window stays open (the shortcut runs minimized)
Created via PowerShell:
$shortcut.TargetPath = "wsl.exe"
$shortcut.Arguments = "-d $distro -- bash $HOME/.acaclaw/start.sh"
$shortcut.WindowStyle = 7 # Minimized
WSL2 desktop integration summary
After install, the Windows Desktop has two shortcuts:
| Shortcut | Target | Purpose |
|---|---|---|
| AcaClaw | wsl.exe -- bash ~/.acaclaw/start.sh |
Launch the app (gateway + browser window) |
| AcaClaw Workspace | \\wsl$\Ubuntu\home\user\AcaClaw\ |
Open research files in Windows Explorer |
Prerequisites for WSL2
| Requirement | How to check | Notes |
|---|---|---|
| WSL2 installed | wsl --version in PowerShell |
Windows 10 2004+ or Windows 11 |
| Ubuntu (or any distro) | wsl -l -v in PowerShell |
Ubuntu 22.04+ recommended |
wslpath available |
which wslpath in WSL2 |
Ships with all modern WSL2 distros |
| Edge or Chrome on Windows | Pre-installed on Windows 10/11 | For standalone app window |
Node.js, npm, and Conda are installed inside WSL2 by the install script — no Windows-side Node.js needed.
Upgrading / Re-running the Installer
The install script is idempotent — safe to re-run at any time. It detects existing components and applies the upgrade principle: replace app files, preserve user data.
Upgrade principle
Replace app code. Keep user data.
| Category | Examples | On upgrade |
|---|---|---|
| App files (replaceable) | Plugins, UI, management scripts, conda env YAMLs | Always replaced with latest version |
| User data (precious) | Skills, config (API keys, model choices), workspace files, audit logs, backups, conda envs | Preserved — never deleted or overwritten |
| Infrastructure (heavy) | Node.js, OpenClaw, Miniforge | Skipped if version is sufficient; upgraded if too old |
Version tracking
The installer saves the installed version to ~/.acaclaw/config/version.txt. On re-run:
No version.txt → fresh install (full setup wizard)
Version found → upgrade (skip wizard, replace app files, keep data)
Per-component behavior
| Component | If already present | Action taken |
|---|---|---|
| Node.js | Version ≥ 22 found | Skip |
| Node.js | Version < 22 found | Auto-upgrade via nvm |
| OpenClaw | Version ≥ minimum | Skip |
| OpenClaw | Version < minimum | Upgrade via npm |
| Miniforge | Directory exists | Skip |
Conda env (acaclaw) |
Environment exists | Skip |
| AcaClaw plugins | Plugin directory exists | Replace — always copies fresh plugin files |
| UI assets | ~/.openclaw/ui/ exists |
Replace — deploys new build, removes stale chunks |
| Management scripts | start.sh, stop.sh, uninstall.sh |
Replace — always copies latest |
| Conda env YAMLs | ~/.acaclaw/env/conda/ |
Replace — copies latest environment definitions |
| WeChat plugin | Installed | Replace — reinstalls with latest patches |
| Skills | ~/.openclaw/skills/ has content |
Skip — user may have installed custom skills |
| AcaClaw config | ~/.openclaw/openclaw.json exists |
Merge — preserves user settings (see below) |
| AcaClaw config | No existing config | Create fresh from template |
| Plugin config | plugins.json exists |
Merge — preserves user customizations (custom deny/allow lists, retention, discipline) |
| Plugin config | No existing config | Create fresh with defaults |
| Security mode | security-mode.txt exists |
Preserve — keeps user’s chosen mode |
Workspace (~/AcaClaw/) |
Directory exists | Skip — never touches user files |
| Desktop shortcut | Already installed | Skip |
| Audit logs | ~/.acaclaw/audit/ |
Keep |
| Backups | ~/.acaclaw/backups/ |
Keep |
| Gateway process | Running on port 2090 | Kill and restart |
| Setup wizard | Setup already completed | Skip — goes straight to dashboard |
Configuration merge on upgrade
When the installer detects an existing ~/.openclaw/openclaw.json, it merges AcaClaw defaults on top while preserving your settings:
| Setting | Behavior |
|---|---|
| API keys | Preserved from existing config |
| Model selection | Preserved — your chosen model is not overwritten |
| Web / browser config | Preserved |
Conda pathPrepend |
Updated to current Miniforge path |
| Gateway port / mode | Set to AcaClaw defaults if not already set |
| Agent list | Replaced with AcaClaw template (model choice preserved) |
| Tool restrictions | Replaced with AcaClaw template (web config preserved) |
| Model providers | Defaults added for missing providers; existing providers untouched |
If no existing config is found, a fresh config is created from the AcaClaw template.
Legacy cleanup
The installer automatically removes artifacts from older AcaClaw versions:
openclaw-gateway-acaclaw.service— legacy systemd unit that used~/.openclaw-acaclaw/profile isolation (no longer used)acaclaw-gateway.servicewith--profileflag — stale service from older installs that causes 503 errors- Stale gateway process on port 2090 — killed via
lsoforssbefore starting a fresh gateway
Running the installer again
# Upgrade to latest version — keeps all your data
curl -fsSL https://acaclaw.com/install.sh | bash
# Skip Conda if you only want to update OpenClaw/plugins
bash install.sh --no-conda
On upgrade, the installer:
- Detects
~/.acaclaw/config/version.txt→ enters upgrade mode - Shows
Upgrading AcaClaw from X.Y.Z to A.B.Cin the banner - Replaces app files (plugins, UI, scripts)
- Preserves user data (skills, config, workspace, audit, backups)
- Skips the setup wizard (opens dashboard directly)
- Updates
version.txtto the new version
What the Installer Does
For transparency, here is exactly what the install script does:
| Step | Action | Location |
|---|---|---|
| 1 | Installs OpenClaw via npm (auto-selects fastest registry, with timeout) | Global (npm install -g openclaw) |
| 2 | Installs Miniforge (Conda) (GitHub + Tsinghua/BFSU mirrors) | ~/.acaclaw/miniforge3/ |
| 3 | Copies AcaClaw plugins | ~/.openclaw/extensions/ |
| 4 | Installs academic skills from ClawHub (with mirror fallback) | ~/.openclaw/skills/ |
| 5 | Writes AcaClaw config | ~/.openclaw/openclaw.json (copies existing API keys) |
| 6 | Copies management scripts (start.sh, stop.sh, uninstall.sh) |
~/.acaclaw/ |
| 6a | Saves installed version | ~/.acaclaw/config/version.txt |
| 6b | Creates desktop shortcut (app + workspace) | Platform-specific (see below) |
| 7 | Registers systemd user service, starts gateway, opens browser wizard | openclaw gateway run → http://localhost:2090/ |
Desktop shortcut (step 6b) by platform:
| Platform | App shortcut | Workspace shortcut |
|---|---|---|
| Linux | .desktop file in ~/.local/share/applications/ |
— |
| macOS | AcaClaw.app in ~/Applications/ |
— |
| WSL2 | AcaClaw.lnk on Windows Desktop → wsl.exe -- bash start.sh |
AcaClaw Workspace.lnk on Windows Desktop → \\wsl$\...\AcaClaw\ |
Steps 6–6b run before the gateway starts. This ensures management scripts and desktop shortcuts are always available, even if the gateway or browser launch fails (common on WSL2 due to systemd quirks).
The browser wizard then:
| Step | Action | Location |
|---|---|---|
| 8 | Creates Conda environment for your discipline | ~/.acaclaw/miniforge3/envs/acaclaw-* |
| 9 | Saves discipline + provider config | ~/.openclaw/openclaw.json (via gateway API) |
| 10 | Creates workspace directory structure | ~/AcaClaw/ |
Nothing is installed outside these directories. Nothing is sent to the internet (except npm/conda package downloads and the API key test).
Config Files Written by the Installer
The install script writes the following config and settings files. On upgrade (re-running the installer over an existing install), all files below are overwritten unless noted.
~/.openclaw/ (OpenClaw profile directory)
| File | Line(s) | Method | Create / Overwrite | Purpose |
|---|---|---|---|---|
openclaw.json |
1522–1577 | Python merge | Merge-overwrite (preserves user API keys, model choices) | Main gateway + agent + model config |
openclaw.json |
1585–1601 | Python write | Create (only when no existing config) | Fresh config from template |
openclaw.json |
1613–1664 | Python read-modify-write (called 3×) | Overwrite | Apply required overrides: auth, controlUi, plugins.allow, WeChat channel |
openclaw.json.bak |
1518 | cp -f |
Overwrite | Backup before merge |
~/.acaclaw/config/ (AcaClaw config directory)
| File | Line(s) | Method | Create / Overwrite | Purpose |
|---|---|---|---|---|
version.txt |
1883 | echo > |
Overwrite | Installed AcaClaw version |
conda-prefix.txt |
1179 | echo > |
Overwrite | Path to Miniforge installation |
security-mode.txt |
1759 | conditional | Preserved on upgrade | default or maximum; on upgrade reads existing value, on fresh install writes chosen mode |
plugins.json |
1767–1823 | merge / create | Merged on upgrade | AcaClaw plugin settings; on upgrade user customizations (custom deny commands, allowed domains, retention days, discipline) are preserved and merged with new defaults |
setup-pending.json |
2009 / 2021 | cat > << heredoc |
Overwrite | Wizard state; setupComplete: true on upgrade, false on fresh install |
~/AcaClaw/.acaclaw/ (workspace metadata)
| File | Line(s) | Method | Create / Overwrite | Purpose |
|---|---|---|---|---|
workspace.json |
1699–1706 | cat > << heredoc |
Create-only (skipped if ~/AcaClaw/ exists) |
Workspace name, discipline, creation timestamp, workspace ID |
~/.acaclaw/miniforge3/.condarc (Conda channel config)
| File | Line(s) | Method | Create / Overwrite | Purpose |
|---|---|---|---|---|
.condarc |
1062 | cat > << heredoc |
Overwrite | Mirror channel config (when mirror test passes) |
.condarc |
1080 | cat > << heredoc |
Overwrite | Official conda-forge config (when no mirror works) |
.condarc |
1137 | cat > << heredoc |
Overwrite | Retry with official conda-forge after mirror failure |
Other files copied by the installer
| File(s) | Line(s) | Method | Purpose |
|---|---|---|---|
~/.openclaw/extensions/* (plugins) |
1214 | cp -r |
AcaClaw plugin directories |
WeChat patches (channel.ts, login-qr.ts) |
1259, 1261 | cp -f |
Patch WeChat plugin source |
| UI dist assets | 1293 | cp -r |
Web GUI static files |
Agent IDENTITY.md / SOUL.md |
1749 | cp |
Agent identity files into workspace |
start.sh, stop.sh, uninstall.sh |
1866 | cp -f |
Management scripts (copied before gateway start) |
environment-*.yml |
1877 | cp -f |
Conda environment definitions |
Note:
~/.condarc(user-level) is temporarily backed up and removed during install, then restored on exit via a shell trap. It is never permanently modified.
Network Mirrors & Timeout Configuration
The installer automatically falls back to faster mirrors when primary sources are slow or unreachable. This is especially useful behind firewalls or in regions where GitHub/npm are throttled.
Fallback chain per source:
| Source | Primary | Mirror fallback(s) |
|---|---|---|
| nvm (Node.js installer) | github.com/nvm-sh/nvm |
gitee.com/mirrors/nvm |
| Node.js binaries | nodejs.org/dist/ |
npmmirror.com/mirrors/node/ |
| Git clone | github.com HTTPS |
GitHub proxy (ghproxy.com) → SSH |
| npm packages | registry.npmjs.org |
registry.npmmirror.com |
| Miniforge | github.com releases |
Tsinghua mirror → BFSU mirror |
| Conda channels | conda-forge (official) |
Tsinghua mirror → BFSU mirror |
| ClawHub skills | clawhub.com |
cn.clawhub-mirror.com |
Override via environment variables:
All mirror URLs and timeouts are configurable. Set these before running the install script:
# nvm install script mirror (for China users behind GFW)
export NVM_MIRROR="https://gitee.com/mirrors/nvm/raw/master/install.sh" # default
# Node.js binary download mirror (auto-detected, or set manually)
export NVM_NODEJS_ORG_MIRROR="https://npmmirror.com/mirrors/node/" # default: auto-detect
# GitHub mirror proxy (for git clone when github.com is slow)
export GITHUB_MIRROR="https://ghproxy.com" # default
# ClawHub skill registry mirror
export CLAWHUB_MIRROR="https://cn.clawhub-mirror.com" # default
# Per-skill install timeout (seconds) before falling back to mirror
export CLAWHUB_SKILL_TIMEOUT=15 # default
# npm install timeout (seconds) for openclaw and clawhub CLI
export NETWORK_TIMEOUT=60 # default
Example: use a custom GitHub mirror and longer timeouts on a slow connection:
GITHUB_MIRROR="https://mirror.ghproxy.com" NETWORK_TIMEOUT=120 bash install.sh
If you already have OpenClaw installed: AcaClaw writes its config to ~/.openclaw/openclaw.json, merging your existing API keys and model settings on top of AcaClaw defaults. Your API keys, model choices, and web config are preserved. See Upgrading / Re-running the Installer for the full merge behavior. Uninstalling AcaClaw removes both AcaClaw and OpenClaw (~/.acaclaw/ and ~/.openclaw/).
Uninstall
AcaClaw can be uninstalled two ways: from the browser GUI or from the terminal.
Note: Uninstalling AcaClaw removes both AcaClaw (
~/.acaclaw/) and OpenClaw (~/.openclaw/), including config, plugins, sessions, conda environments, and gateway services. Your research data (~/AcaClaw/) is never touched.
Option 1: Browser GUI (Settings page)
Open AcaClaw in your browser → navigate to Settings → click the Uninstall tab.
The Uninstall tab shows:
- What will be removed and what stays untouched
- Uninstall — removes both AcaClaw and OpenClaw
Click a button, confirm, and the uninstall runs with a live progress log. No terminal needed.
Option 2: Terminal
bash ~/.acaclaw/uninstall.sh
Script options
| Flag | Description |
|---|---|
--yes / -y |
Skip confirmation prompt |
--keep-backups |
Keep backup files in ~/.acaclaw/backups/ |
What gets removed
| Item | Path |
|---|---|
| OpenClaw directory (config, plugins, sessions, UI) | ~/.openclaw/ |
| AcaClaw conda environments (acaclaw, acaclaw-bio, etc.) | conda env list |
| AcaClaw config and audit data | ~/.acaclaw/ |
| AcaClaw-installed Miniforge | ~/.acaclaw/miniforge3/ |
| AcaClaw desktop shortcut | App launcher / Desktop |
| AcaClaw gateway service | acaclaw-gateway.service |
| OpenClaw gateway service | openclaw-gateway.service |
| OpenClaw + ClawHub CLI | npm global packages |
What stays untouched
| Item | Path |
|---|---|
| Your research data | ~/AcaClaw/ |
| System conda installations | ~/miniconda3/, ~/miniforge3/, etc. |
| Node.js itself | system install |
The uninstall scripts never remove ~/AcaClaw/ automatically — your research files are yours.