Arch Linux is one of the cleaner ways to run OpenClaw because the package ecosystem stays current. That means less fighting with old Node versions and fewer distro-specific workarounds. The tradeoff is obvious: Arch gives you flexibility, but it expects you to know what you are doing.
This guide uses an Arch-specific workflow: install the right toolchain, verify Node.js, run OpenClaw properly, optionally isolate it behind a dedicated service user, and keep it alive with systemd. If you do not want to maintain Arch yourself, Ampere.shis the simpler route. After setup, you can connect channels like Telegram, WhatsApp, and Discord.
Requirements
| System | Details |
|---|---|
| OS | Arch Linux x86_64 (latest rolling release) |
| Host | 20KGS9HK00 ThinkPad X1 Carbon 6th |
| Kernel | 6.19.6-arch1-1 |
| Shell | bash 5.3.9 |
| Resolution | 1920×1080 |
| Window Manager | DWM |
| Display Server | X11 |
| CPU | Intel i7-8650U (8) @ 4.200GHz |
| GPU | Intel Kaby Lake-R GT2 [UHD Graphics 620] |
| Memory | 1219MiB / 15728MiB |
| Packages | 971 (pacman) + yay |
Step 1 — Install the toolchain
Start with a full system sync, then install the packages OpenClaw depends on. On Arch, this is usually the only package prep you need.
sudo pacman -Syu --needed base-devel git cmake python nodejs npm curlIf you like keeping Arch utilities in the AUR too, you can still install helpers like yay, but OpenClaw itself does not require it.
Step 2 — Verify Node.js
Check that your Arch package gives you a recent enough Node build before you install anything else.
node --version
npm --versionIf your version is older than Node 22.16, update first. Arch usually keeps this current, which is one reason it is easier than older Debian-style systems.
Step 3 — Install OpenClaw
Once the toolchain is ready, run the official installer.
curl -fsSL https://openclaw.ai/install.sh | bashStep 4 — Fix PATH if needed
On some Arch setups the install works, but your shell does not immediately see the global npm bin path. Fix that before moving on.
export PATH="$(npm prefix -g)/bin:$PATH"
source ~/.bashrc
openclaw --helpStep 5 — Create a service user (optional, but safer)
If you are giving OpenClaw browser access, terminal access, or long-running automations, isolating it behind a dedicated user is cleaner than running everything as your main Arch account.
sudo useradd -m -s /bin/bash openclaw
sudo passwd openclaw
sudo mkdir -p /home/openclaw/ai/openclaw
sudo chown -R openclaw:openclaw /home/openclaw/aiIf you use the dedicated user, switch into it before onboarding so the config and runtime files are created in the right home directory.
sudo -u openclaw -i
cd /home/openclawIf you just want a personal local setup, skip this and keep using your own account.
Step 6 — Run onboarding
Onboarding creates the config, validates your provider key, and sets up the gateway.
openclaw onboardDuring onboarding you will choose your provider, paste your API key, and configure how the agent should run. Do not skip this step — the install is not complete until onboarding succeeds.
Step 7 — Start it with systemd
The Arch-friendly way to keep OpenClaw alive after logout is a systemd user service.
mkdir -p ~/.config/systemd/user
nano ~/.config/systemd/user/openclaw.service[Unit]
Description=OpenClaw Personal AI Agent
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/env openclaw start
Restart=always
RestartSec=10
[Install]
WantedBy=default.targetsystemctl --user daemon-reload
systemctl --user enable --now openclaw
sudo loginctl enable-linger $USERThat last command keeps the user service alive even when there is no active login session.
Step 8 — Verify the gateway
Before connecting any channels, make sure OpenClaw is actually running.
openclaw gateway status
openclaw doctorIf both commands look healthy, your Arch setup is working and you can move on to channels.
Step 9 — Connect channels
Once the base setup works, connect the channels you actually want to use. For most people, that means Telegram, WhatsApp, Discord, iMessage, or Notion. If you want more context on the agent itself before wiring every channel, see what OpenClaw is.
At this point the full setup is complete: packages installed, Node verified, OpenClaw installed, onboarding done, service enabled, gateway verified, and channels ready to connect.
If you do not want to maintain Arch, packages, and uptime yourself, Ampere.sh is still the simpler route.
Troubleshooting
openclaw: command not found
Your shell usually has not picked up the npm global path yet.
export PATH="$(npm prefix -g)/bin:$PATH"
source ~/.bashrcnode-gyp or build dependency errors
On Arch, this usually means Python or build tools were missing when npm tried to compile dependencies.
sudo pacman -S --needed base-devel python cmake gitsystemd service does not stay up
Make sure the user service was enabled correctly and lingering is on.
systemctl --user status openclaw
loginctl show-user $USER | grep LingerPlaywright or browser features fail
If you use browser automation heavily, install the supporting system libraries first, then install Chromium for Playwright.
sudo pacman -S nspr nss alsa-lib atk at-spi2-core cups dbus expat fontconfig freetype2 gdk-pixbuf2 glib2 gtk3 libdrm libx11 libxcb libxcomposite libxdamage libxext libxfixes libxi libxrandr libxrender libxtst pango mesa
npx playwright install chromiumFrequently Asked Questions
Does OpenClaw work on Arch Linux?
Do I need nodejs-lts on Arch Linux for OpenClaw?
Should I run OpenClaw as my main Arch user?
Can I keep OpenClaw running after logout on Arch Linux?
What is the easiest alternative to self-hosting OpenClaw on Arch Linux?
Run OpenClaw Without Maintaining Arch Yourself
If you want OpenClaw without package churn, service setup, and system maintenance, run it on Ampere.sh instead and keep the focus on your agent — not the OS.
Explore Ampere.sh →