π― Quick Answer
There are two ways to set up OpenClaw on a Mac.
The easiest way is to download Atomic Bot, a native Mac app that packages OpenClaw into a standard installer and lets you get started simply by dragging the icon into your Applications folder. No terminal, no dependencies to manage β it handles all of that in the background.
The other way is to install OpenClaw manually through the command line:
bashcurl -fsSL https://openclaw.ai/install.sh
bashopenclaw onboard --install-daemonThis gives you more control but requires you to be comfortable working in Terminal. This guide walks through both approaches β if you'd rather skip the CLI entirely, jump to the Atomic Bot section.
π€ What Is OpenClaw (And Why Set It Up Locally)?
OpenClaw is an open-source AI agent gateway. It's a piece of software that runs on your computer and acts as a bridge between you and an AI model like Claude, Gemini, or GPT-4. You interact with it through messaging apps you already use β Telegram, WhatsApp, Discord, Slack, or email β and it carries out tasks on your behalf.
What makes it different from something like ChatGPT is that OpenClaw runs entirely on your own machine. Your credentials, conversation history, and workflows never leave your computer. The AI model still runs in the cloud (unless you're using a local model through Ollama), but everything else β the memory, the skills, the routing β lives on your hardware.
It's also not tied to a single AI provider. You configure which model you want to use during setup, and you can switch providers at any time without losing your data or reconfiguring your skills.
People use OpenClaw for things like email triage, calendar management, GitHub monitoring, research automation, and multi-channel customer support. It's one of the fastest-growing open-source projects on GitHub right now, with over 250K stars and hundreds of thousands of monthly installs.
The catch is that setting it up through the command line takes some effort. There's a multi-step installation process, a configuration wizard, channel setup, and a handful of things that can go wrong along the way. It's all documented, but it's not something you'd hand to someone who's never opened Terminal before. That's actually the problem Atomic Bot was built to solve β but more on that later.
π» System Requirements
Before you start, make sure your Mac meets these specs:
If you don't have Node.js installed, the installer script will detect that and install it for you as part of the setup process.
π OpenClaw CLI Setup: 4 Methods

Method 1: Installer Script (Recommended for CLI Users)
This is the simplest CLI path. The script checks your environment, installs Node.js if it's missing, and launches the onboarding wizard once everything is in place.
Open Terminal and run:
bashcurl -fsSL https://openclaw.ai/install.shOnce the script finishes, start the onboarding wizard:
bashopenclaw onboard --install-daemonThe --install-daemon flag tells the wizard to also create a launchd service, which means OpenClaw will start automatically whenever your Mac boots up. Without this flag, you'd need to manually start the gateway each time with openclaw gateway start.
This method works for most people who are comfortable in Terminal. The sections below cover alternative approaches if you need more control.
Method 2: npm / pnpm (Manual Install)
If you already have Node 22+ installed and prefer to manage your global packages yourself, you can install OpenClaw directly through npm or pnpm.
With npm:
npm install -g openclaw@latest
openclaw onboard --install-daemonWith pnpm:
bashpnpm add -g openclaw@latest
pnpm approve-builds -g
openclaw onboard --install-daemonThe pnpm approve-builds step is required because OpenClaw includes native modules (openclaw, node-llama-cpp, and sharp) that need to be compiled during installation. If you skip this step, the build will fail with permission errors.
Getting Sharp build errors? If you have libvips installed globally through Homebrew (which is common on Macs), the Sharp image library may try to link against it and fail. You can force it to use prebuilt binaries instead:
SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g openclaw@latestMethod 3: From Source (For Contributors)
If you want to modify OpenClaw's code, contribute to the project, or build a custom version:
bashgit clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm ui:build
pnpm build
pnpm link --global
openclaw onboard --install-daemonThis clones the full repository and builds from source, then links the CLI globally so you can run openclaw commands from anywhere. Useful if you're developing custom skills or want to test changes before they're released.
This clones the full repository and builds from source, then links the CLI globally so you can run openclaw commands from anywhere. Useful if you're developing custom skills or want to test changes before they're released.
Method 4: Docker (Best Isolation)
If you want to keep OpenClaw completely isolated from the rest of your system, Docker is the best option. This is especially relevant if you plan to run third-party skills that execute arbitrary code β Docker sandboxes them so they can't touch anything outside the container.
bashgit clone https://github.com/openclaw/openclaw
cd openclaw
./docker-setup.sh
docker compose up -d
To verify that everything started correctly:
bashdocker compose run --rm openclaw-cli statusThe Docker setup mounts your config and workspace directories from the host machine into the container, so your agent data, memories, and skill configurations persist even when you stop and restart the containers.
βοΈ Onboarding & Configuration
Regardless of which installation method you chose, the next step is the onboarding wizard. It runs automatically with the installer script, or you can trigger it manually with openclaw onboard.Β
Here's what each setting means and what to pick.
- Workspace Location β this is where OpenClaw stores all of its data: agent configurations, conversation memories, skill files, and logs. The default is ~/.openclaw, and there's rarely a reason to change it.
- AI Provider β you'll pick which AI model OpenClaw should use for generating responses. Anthropic's Claude is the strongest option for production use. Google's Gemini has a free tier that works well for experimenting before you commit to a paid API.
- Gateway Bind β this determines which network interfaces the OpenClaw gateway listens on. "Loopback" means only processes running on your Mac can connect to it, which is the safest option for personal use. "LAN" allows other devices on your local network to reach it.
- Daemon Install β if you say yes, the wizard creates a launchd service that starts OpenClaw automatically when your Mac boots. If you say no, you'll need to remember to run openclaw gateway start manually whenever you want to use it.
- Remote Access β this enables TUI (terminal UI) access from other machines over the network. Leave it disabled unless you have a specific reason to manage OpenClaw from a different computer.
Once onboarding is done, run these three commands to make sure everything
bashopenclaw doctor # scans for common config problems
openclaw status # shows whether the gateway is running
openclaw dashboard # opens the web-based management UI in your browserIf all three come back without errors, your setup is complete.
π± Connecting Channels
At this point OpenClaw is installed and running, but it doesn't have a way to communicate with you yet. The next step is to connect it to a messaging platform.
Telegram (Easiest Starting Point)
Telegram is the fastest channel to set up because it has a straightforward bot API with no approval process.
- Open Telegram and search for @BotFather β this is Telegram's official tool for creating bots
- Follow the prompts to create a new bot and copy the token it gives you
- Back in Terminal, enable the Telegram plugin and restart the gateway:
openclaw plugins enable telegram
openclaw gateway restartAdd the bot token to your workspace config file
Open your new bot in Telegram and send it a message β if everything is connected, it will respond
From this point on, you can interact with your OpenClaw agent directly through Telegram on your phone or desktop.
bashopenclaw plugins enable whatsapp
openclaw gateway restart
openclaw channels login
The channels login command generates a QR code in your terminal. Scan it with the WhatsApp app on your phone to link the session. If you're planning to use this in production, it's worth dedicating a separate phone number to keep your personal WhatsApp account separate.
Discord
Go to the Discord Developer Portal and create a new application.
Add a bot to the application, copy the token, and use the OAuth2 URL generator to invite the bot to your server.
Enable the Discord plugin in OpenClaw:
bashopenclaw plugins enable discord
openclaw gateway restartYou'll also need to add the bot token and your server's guild ID to the OpenClaw config file.
Email (SMTP)
OpenClaw can send and receive emails through SMTP. Set your mail server credentials as environment variables so OpenClaw can pick them up:
bashexport SMTP_HOST=smtp.gmail.com
export SMTP_PORT=587
export SMTP_USER=your@gmail.com
export SMTP_PASS=your-app-passwordIf you're using Gmail, you'll need to generate an App Password in your Google Account settings β your regular Gmail password won't work here because of Google's security restrictions.
π Security Hardening
OpenClaw agents can access your email, calendar, files, and any other service you connect through skills. That makes security configuration important, especially if you're running it on a machine that's connected to the internet.
Loopback binding is enabled by default, which means the gateway only accepts connections from your own machine. If you change this to allow LAN or remote access, make sure you understand that anyone who can reach port 18789 on your network can interact with your agent.
API keys should be stored in environment variables, not pasted directly into config files. Config files can end up in backups, git repos, or crash logs β environment variables are harder to accidentally leak.
Docker sandboxing is worth enabling if you're running any skills you didn't write yourself. When sandboxing is active, skill code executes inside a container and can't access your host filesystem or network directly. Enable it in your workspace config:
{
"sandbox": {
"enabled": true,
"provider": "docker"
}
}
- Updates β run openclaw update at least once a week. OpenClaw is actively developed and security patches ship regularly.
- Backups β your entire OpenClaw setup lives in ~/.openclaw. Backing up that directory is all you need to restore everything on a new machine.
If you've opened the gateway to your local network, add firewall rules to restrict which IP ranges can connect:
bashsudo ufw deny 18789/tcp
sudo ufw allow from 192.168.1.0/24 to any port 18789π§ Troubleshooting
What do do if youβre seeing these errors:
openclaw command not found
This usually means your shell doesn't know where npm installed the global binary. Check the current state of things:
node -v
npm prefix -g
echo "$PATH"Then add the npm global bin directory to your shell configuration:
bashecho 'export PATH="$(npm prefix -g)/bin:$PATH"' >> ~/.zshrc
source ~/.zshrcSharp Build Errors
If the Sharp image library fails to compile during installation, force it to download prebuilt binaries instead:
SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g openclaw@latestIf that still doesn't work, install the native build toolchain and try again:
npm install -g node-gypGateway Won't Start
Check the logs first to see what's actually going wrong:
bashopenclaw gateway logsIf the error mentions port 18789, another process may already be using it:
lsof -i :18789You can either stop whatever's using that port or change the gateway port in your OpenClaw config. Then restart:
openclaw gateway restartπ Skip the CLI: Set Up OpenClaw with Atomic Bot
Everything above works, but it assumes you're comfortable working in Terminal, managing Node.js, editing config files, and debugging errors when things don't go as planned. If that's not you β or if you just don't want to spend 15 minutes on something that should be simple β Atomic Bot exists specifically for this reason.
Atomic Bot is a native macOS application that packages the entire OpenClaw installation into a standard Mac app experience.Β
Hereβs how to install OpenClaw with AtomicBot:
Step 1: Download Atomic Bot
- Go to atomicbot.ai
- Click Download App
- Open the .dmg file
- Drag Atomic Bot into your Applications folder

Step 2: Install OpenClaw
- Open Atomic Bot from Applications
- Click Install OpenClaw
- Follow on-screen instructions
- Done β

Step 4: Send Your First Message
Open the messaging app you just connected and send /start to your new agent. It will:
- Introduce itself
- Show you available commands
- Walk you through configuring which skills you want active (email, calendar, browser, files, weather, Google Sheets)
From here on out you're using OpenClaw through your regular messaging app. Atomic Bot stays in the background, handling updates and keeping the gateway running.

Both approaches result in the same thing β a fully functional OpenClaw agent running locally on your Mac. The difference is how much of the process you want to see and control.
β FAQ
Is OpenClaw free?
Yes, OpenClaw is fully open-source. The software itself costs nothing. You'll pay for AI provider API usage (Anthropic, Google, OpenAI) based on how much you use it, and for your own hardware or server if you're not running it on your Mac.
What AI models does OpenClaw support?
Anthropic Claude 3.5 and 4.x (recommended for production), Google Gemini 2.0 and 2.5 (free tier available for experimentation), OpenAI GPT-4.x, and local models through Ollama or LM Studio (still considered experimental).
Can I run OpenClaw on a VPS instead of my Mac?
Yes. In fact, AtomicBot lets you easily run OpenClaw in the cloud. Providers like DigitalOcean, Hetzner, and Linode all work well. The recommended spec is 2 vCPU, 4 GB RAM, and 40 GB SSD running Ubuntu 22.04 LTS. Use the same installer script from this guide on a fresh OS β avoid third-party marketplace images, since they often come with unexpected configurations.
Can I run multiple agents?
Yes. You create separate directories under ~/.openclaw/agents/ β one for personal tasks, one for work, one for monitoring, or whatever separation makes sense for your use case. You can switch between them using CLI commands or through your chat interface.




