Skip to content

Install OpenClaw v2026.7.1: Self-Hosted AI Assistant Guide

Deploy OpenClaw, the open source personal AI assistant, on your own hardware. Covers npm install, Docker, common install errors, and Node runtime gotchas.

6 min readIntermediate

The number one mistake people make installing OpenClaw is running npm install at the root of a source checkout. It looks like it works. It doesn’t. The repo is a pnpm workspace, and bundled plugins load from extensions/* – plain npm install at the repo root is not a supported source setup per the README. Everything appears fine until a skill fails to resolve at runtime and you have no idea why.

So let’s do the opposite. This guide walks through deploying OpenClaw – the open source personal AI assistant maintained at github.com/openclaw/openclaw – the way the release engineers actually run it. We’re using the latest beta at time of writing, v2026.7.1-beta.5 (tagged July 11, 2026). If you need production stability, pin the last stable train from the same releases page.

Why self-host it in the first place

OpenClaw is a personal AI assistant that runs as a local daemon on your own hardware. It owns your identity across the chat platforms you already use, executes tools on your behalf, and – the part that actually matters – doesn’t route your prompts through someone else’s server unless you explicitly point it at one. The Gateway is the control plane. The assistant is the product.

The interesting part isn’t the feature list. Every competitor tutorial reprints the same 20+ supported channels. What’s actually worth understanding is that this project ships fast. The GitHub tracker shows an average release frequency of about 17 hours between versions – 305 releases and counting as of mid-2026. That has real consequences for how you install and maintain it.

System requirements (the real ones)

The docs are casual about hardware but strict about Node. Get this wrong and nothing will start.

Component Minimum Recommended
Node.js Node 22.19+ Node 24
Package manager npm (global install only) pnpm (required for source)
OS macOS, Linux, Windows macOS or Linux for the Gateway daemon

Windows works, but if you’re going the source-checkout route it used to trip on a llama.cpp setup step that blocked or slowed down installs – patched in v2026.6.11. On anything older, upgrade first or use the npm global package instead of building from source.

Install path: the fast one

Two supported paths. Most readers should take the first. Take the second only if you plan to modify the code.

# Fast path - global npm package
npm install -g openclaw@latest

# Or with pnpm (recommended if you already use it)
pnpm add -g openclaw@latest

# Install the Gateway daemon (launchd/systemd user service)
openclaw onboard --install-daemon

That last command is the one tutorials skip. Without openclaw onboard --install-daemon, the Gateway isn’t registered as a user service – close the terminal and your assistant goes quiet. Onboard also walks through model provider auth, workspace setup, and channel pairing interactively.

Install path: source checkout (only if you’re contributing)

Read the first paragraph of this article again before running these commands. Yes, pnpm. Not npm. Not yarn.

git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install

# First-run setup (or after resetting local OpenClaw config)
pnpm openclaw setup

# Optional: prebuild the Control UI before startup
pnpm ui:build

# Dev loop with auto-reload
pnpm gateway:watch

One gotcha you’ll never see in a tutorial: if you already have pnpm installed globally from another project, older OpenClaw versions would run against that global version instead of the one the repo expects. Turns out the fix shipped quietly in v2026.6.11 – git-based installs now use the repository’s pinned pnpm version even when another global pnpm is present. So: upgrade to a recent version and stop worrying about it.

First-time configuration

After onboard finishes, your config lives at ~/.openclaw/openclaw.json. Two other files matter immediately:

  • SOUL.md – plain markdown defining your agent’s personality and default behavior. Rewrite it. The starter is generic.
  • MEMORY.md – where the agent writes what it learns across sessions. Do not manually edit it unless the agent is stopped.
  • openclaw.json – model selection, tool permissions, channel settings.

Pick a model provider during onboard. If you already have an OpenAI or Anthropic key, paste it. For local models, point it at an OpenAI-compatible endpoint (Ollama, LM Studio, or vLLM all work) – you’ll enter the base URL and a dummy key during onboard.

Run openclaw doctor immediately after onboard. Per the README, it surfaces risky or misconfigured DM policies – the same checks the release CI uses. Better to catch a red flag now than after your agent auto-replies to spam at 3 AM.

Verify it’s actually working

Three checks. Don’t skip.

  1. openclaw --version – sanity check. Should return your installed version string.
  2. openclaw doctor – full config audit. Fix anything red before proceeding.
  3. Ping the agent: openclaw agent --message "Ship checklist" --thinking high. A reply means the model connection is live.

Want to test channel delivery too? openclaw message send --target +1234567890 --message "Hello from OpenClaw" proves the outbound path through whatever channel you paired.

Common errors (from actual release notes)

These aren’t hypothetical. Each one is a real bug that got a numbered fix in a real release.

  • Onboarding fails installing the ‘gog’ skill on macOS. The Homebrew tap it depended on was removed. Fixed in v2026.6.11 – if you’re on older, either upgrade or skip that skill during onboard.
  • Windows source install hangs. The llama.cpp setup step. Use the npm global install instead, or upgrade to v2026.6.11+.
  • Docker pulls a stale image. The Docker Hub mirror at openclaw/openclaw was only added in v2026.6.11 alongside GHCR. Older tutorials pointing at GHCR alone may leave you on stale tags – check the v2026.6.11 release notes for the current pull commands.

Upgrading and the release-cadence trap

OpenClaw ships almost daily. That sounds great until you take a vacation.

Upgrade with your chosen channel: openclaw update --channel stable for production, --channel beta for new features, --channel dev if you enjoy pain. Config migrations run automatically. If you’re jumping more than a few weeks, read the release notes first.

Uninstall is symmetric. Stop the daemon, remove the package, delete config:

openclaw gateway stop
npm uninstall -g openclaw
rm -rf ~/.openclaw

That last line will wipe your SOUL.md and MEMORY.md. Back them up if you might come back.

FAQ

Is OpenClaw actually free?

The software is MIT-licensed. No subscription. Model costs are yours – OpenAI, Anthropic, or your local GPU’s electricity bill.

Can I run this on a Raspberry Pi or a $5/month VPS?

Yes, if you point it at a cloud model so the Pi skips inference. Text-only channels like Telegram or Slack work fine on low-spec hardware. Voice features and iMessage need better latency – a home machine beats a cheap VPS there.

Which install path should I pick if I just want it working?

npm global install, then openclaw onboard --install-daemon. Source checkout is for contributors.

Next step: open a terminal, run node --version, and if it’s below 22.19 install Node 24 before you touch anything else. That single check prevents about half the install failures you’d otherwise chase.