How to Install OpenClaw: macOS, Windows & Linux Server (+ Skills Setup)
OpenClaw is the fastest-growing open-source AI agent in history — a personal assistant you run on your own machine and reach through apps you already use (Telegram, Discord, WhatsApp, and more). This guide gets you from zero to your first conversation in under 10 minutes, then shows you how to extend it with Skills.
Press Cmd + Space, type Terminal, hit Enter.
This script detects whether you have Node.js, installs it if not, then installs OpenClaw and starts the setup wizard automatically.
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
brew install node@22, then re-run the installer.The wizard will ask you:
- Which AI model to use (Claude, OpenAI, Gemini, or local via Ollama)
- Your API key for that provider
- Which messaging channel to connect (Telegram is easiest to start)
claude-sonnet-4-6 — good balance of speed and capability.# You should see: gateway: running
Open the dashboard in your browser anytime:
Your shell can't find the global npm binary. Add this to your ~/.zshrc (or ~/.bashrc):
Then run source ~/.zshrc and try again.
sharp error mentioning libvips, run:SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g openclaw@latestOpen PowerShell as Administrator and run:
This installs Ubuntu by default. Restart when prompted, then open the Ubuntu app from the Start menu — that's your Linux terminal.
Same script as macOS/Linux — it detects your environment automatically.
If you prefer not to use WSL2, open PowerShell and run:
Same as macOS — choose your AI model, enter your API key, and connect a messaging channel.
If openclaw isn't found, add the npm global bin to your PATH:
$env:PATH += ";$(npm prefix -g)"
The script installs Node.js 22+ if needed, then installs OpenClaw globally via npm.
If the wizard didn't start automatically:
The --install-daemon flag sets OpenClaw to start automatically on server reboot — important for headless servers.
The daemon flag above handles this. Verify it's set up correctly:
# Look for: daemon: enabled, gateway: running
Since there's no GUI on a server, Telegram is the easiest way to chat with your agent. During onboarding, choose Telegram as your channel. You'll get a bot link to message from your phone.
openclaw doctor to check for any config issues after setup.openclaw doctor # diagnose config issues
openclaw dashboard # open browser UI (tunnels to local)
openclaw update # update to latest version
✅ Before moving on — quick sanity check
openclaw statusshows gateway: running- You've entered an API key for at least one AI model
- You can send a message to your agent and get a reply
Part 2 — Installing Skills
Skills are what turn OpenClaw from a chatbot into an actual agent.
Each skill is a folder with a SKILL.md file — a plain-text
instruction set that tells your agent how to use a specific tool or workflow.
Install a skill, and your agent immediately knows how to use it. No restart needed.
ClawHub is the official skill registry — over 13,000 community skills. Install its CLI once:
clawhub search "calendar"
clawhub search "github"
ClawHub uses vector search, so plain descriptions work just as well as exact names.
clawhub install email
Skills install into ./skills/ in your current directory by default. Your agent picks them up immediately — no restart needed.
Send a message to your agent that would trigger the skill. For example, after installing the email skill:
Check my unread emails from today
Any public GitHub repo with a SKILL.md at its root can be installed directly:
A skill is just a folder with one required file:
touch ~/.openclaw/workspace/skills/my-skill/SKILL.md
Open SKILL.md in any editor and write your instructions in plain Markdown. The agent reads this file and follows whatever you write in it.
~/.openclaw/workspace/skills/
🦞 You're all set
OpenClaw is evolving fast — run openclaw update regularly to stay current.
When you're comfortable with the basics, explore
ClawHub for community skills,
and check the official docs for connecting more channels like WhatsApp, Discord, and Slack.