---
title: "OpenClaw (Clawdbot) Setup Guide: Your 24/7 AI Assistant on VPS or Mac Mini"
description: "Complete guide to setting up OpenClaw (formerly Moltbot/Clawdbot) on Hetzner VPS or Mac Mini. Covers installation, Telegram integration, LLM providers, skills, memory, and configuration."
date: 2026-01-26
categories: ["AI"]
tags: ["ai-tools","self-hosted","vps"]
---

import YouTubeEmbed from "@components/widgets/YouTubeEmbed.astro";
import Button from "@components/widgets/Button.astro";
import Notice from "@components/widgets/Notice.astro";
import ListCheck from "@components/widgets/ListCheck.astro";
import Accordion from "@components/widgets/Accordion.astro";
import Tabs from "@components/widgets/Tabs.astro";
import Tab from "@components/widgets/Tab.astro";

I've been running OpenClaw on a Hetzner VPS for over a week now. It's hooked up to Slack and I've been using GLM 4.7 with the coding plan. Recently switched to Gemini CLI with Gemini 3 Flash instead. Figured I'd share what I learned getting it set up and actually useful.

<Notice type="warning" title="Name Evolution: From Clawdbot to Moltbot to OpenClaw">
Yeah, this thing has had a bit of an identity crisis. Started as **Clawdbot**, became **Moltbot** after some trademark pressure, and now it's settled on **OpenClaw**. Install URL moved to `openclaw.ai` and all the commands are `openclaw` now. I might mention the old names here and there for context, but everything current points to OpenClaw.
</Notice>

OpenClaw is an open-source AI assistant that lives on a server 24/7 and chats with you through Telegram, WhatsApp, Slack, or Discord. Unlike ChatGPT or Claude where you go to their site, this comes to you. It remembers stuff across conversations and can ping you when something needs attention.

<YouTubeEmbed
  url="https://www.youtube.com/embed/9Txk3SpB6fg"
  label="I Built a 24/7 Personal AI Assistant (And It's Why Mac Minis are Sold Out!)"
/>

<Notice type="info" title="What This Guide Covers">
<ListCheck>
<ul>
<li>Mac Mini vs VPS hosting — which makes sense for you</li>
<li>Step-by-step installation on Hetzner or any Linux VPS</li>
<li>Telegram, WhatsApp, Slack, and Discord integration</li>
<li>LLM provider options (Anthropic, OpenAI, Gemini, local models)</li>
<li>Memory system and how to make things stick</li>
<li>Skills and config files for customization</li>
<li>Commands you'll actually use</li>
</ul>
</ListCheck>
</Notice>

If you're new to AI coding tools, our [AI Programming Beginners Guide](https://www.bitdoze.com/ai-programming-beginners-guide/) covers the basics. For running local models, see [how to set up Ollama with Docker](https://www.bitdoze.com/ollama-docker-install/). If you want something lighter, our [nanobot setup guide](/nanobot-setup-guide/) covers a 3,700-line alternative that installs with pip.

## What OpenClaw Actually Does

Most AI tools wait for you to ask something. OpenClaw actually does stuff — clears your inbox, schedules meetings, researches companies, follows up on tasks, runs automations on your server.

The architecture looks like this:

```
You (Telegram/WhatsApp/Slack)
    ↓
OpenClaw Gateway (running on VPS)
    ↓
LLM Provider (Anthropic, OpenAI, Gemini, etc.)
    ↓
Tools and Skills (file access, web search, calendar, etc.)
```

The Gateway just runs in the background on your server. Messages come in from your messaging app, get routed to whatever AI model you picked, and the model can actually run commands on your server — move files, run scripts, browse the web.

Everything stays on your machine except the actual AI calls. Your data isn't living on some company server somewhere.

## Mac Mini vs VPS: Which One to Choose

Kind of a funny situation — the OpenClaw community caused a minor run on Mac Mini M4s. People were buying them just to run this thing. Here's how to decide which route makes sense for you.

### Mac Mini M4 Advantages

| Feature | Mac Mini | VPS |
|---------|----------|-----|
| iMessage support | Yes | No |
| Native macOS apps | Yes | No |
| Local model inference | Excellent (M4 chip) | Limited |
| Power consumption | ~10W idle | N/A (hosted) |
| Upfront cost | $599-1299 | $0 |
| Monthly cost | ~$3 electricity | $5-50 |
| Physical access required | Yes | No |

If you want iMessage, Mac Mini is your only choice. The M4 chip also handles local models well if you're trying to avoid API bills. But you need solid home internet and power — no outages.

### VPS Advantages

For most people, a VPS is the better call:

<ListCheck>
<ul>
<li>No hardware to maintain or keep running</li>
<li>Redundant power and network</li>
<li>Can access from anywhere without port forwarding</li>
<li>Easier to set up and migrate</li>
<li>Lower entry cost — $5.49/month at Hetzner gets you started</li>
</ul>
</ListCheck>

I'm using a [Hetzner CX33](https://www.bitdoze.com/hetzner-cloud-review/) (4 vCPU, 8GB RAM) for €5.49/month. It handles OpenClaw comfortably with plenty of headroom for other services.

<Notice type="success" title="Get Started with Hetzner">
[Get €20 credit](https://go.bitdoze.com/hetzner), [Hostinger VPS](https://go.bitdoze.com/hostinger-vps) when you sign up through our referral link. That covers nearly 4 months of running OpenClaw.
</Notice>

### When to Choose Mac Mini

- You need iMessage as your primary channel
- You want to run local models (Llama, Mistral) to avoid API costs
- You prefer hardware you physically control
- You already have a Mac Mini sitting around

### When to Choose VPS

- Telegram, WhatsApp, Slack, or Discord are your primary channels
- You don't want to deal with home networking
- You need 24/7 uptime without worrying about power outages
- You're okay paying for API calls

## Installation on Hetzner VPS

Takes about 20 minutes start to finish. I'm using Hetzner, but these steps work on pretty much any Ubuntu VPS.

### Create the Server

1. Go to [Hetzner Cloud Console](https://console.hetzner.cloud/)
2. Create a new project named `openclaw`
3. Click **Create Server**
4. Select:
   - **Location**: Germany (cheapest) or your nearest region
   - **Image**: Ubuntu 24.04
   - **Type**: CX33 (4 vCPU, 8GB RAM) — €5.49/mo
   - **IPv4**: Keep enabled
5. Add your SSH key (generate one with `ssh-keygen -t ed25519` if you don't have one)
6. Name it `openclaw` and create

Wait 30 seconds for the server to boot, then grab the IP address.

### Install OpenClaw

SSH into your server:

```bash
ssh root@YOUR_SERVER_IP
```

Update the system and install Node.js 22:

```bash
apt update && apt upgrade -y
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install -y nodejs
```

Install OpenClaw and run the onboarding wizard:

```bash
curl -fsSL https://openclaw.ai/install.sh | bash
```

The wizard walks you through everything:
- Local vs Remote gateway selection
- Model authentication (API keys or OAuth)
- Channel setup (Telegram, WhatsApp, etc.)
- Background service installation

## LLM Provider Options

OpenClaw works with several AI providers. Here's the breakdown:

### Anthropic (Claude)

This is what I'd recommend for most people. Two ways to connect:

**API Key** (recommended):
1. Go to [console.anthropic.com](https://console.anthropic.com/)
2. Create an API key (starts with `sk-ant-`)
3. Paste it when the wizard asks

**Claude Code OAuth** (uses your subscription):
If you have Claude Pro/Max, you can use your subscription instead of paying for API credits:
```bash
claude setup-token
```
This generates a token you paste into the wizard. Works with Claude Code CLI.

### OpenAI

For GPT-5 and Codex models:
1. Go to [platform.openai.com](https://platform.openai.com/)
2. Create an API key
3. Enter it during onboarding

If you have a ChatGPT Plus or Codex subscription, you can use OAuth similar to Claude Code.

### Google Gemini

I've been using Gemini 3 Flash recently. It's fast and cheap:

```bash
openclaw configure --section models
```

For Gemini CLI OAuth setup, the wizard will prompt you to authenticate through Google.

### Local Models (Ollama)

If you want to avoid API costs entirely, OpenClaw works with [Ollama](https://www.bitdoze.com/ollama-docker-install/). Install Ollama on your server:

```bash
curl -fsSL https://ollama.ai/install.sh | sh
ollama pull llama3.2
```

Then configure OpenClaw to use local models in your config.

### Cost Comparison

| Provider | Model | Typical Monthly Cost |
|----------|-------|---------------------|
| Anthropic | Claude Sonnet 4.5 | $15-50 |
| Anthropic | Claude Opus 4.5 | $50-150 |
| OpenAI | GPT-5 | $20-70 |
| Google | Gemini 3 Flash | $10-30 |
| Local | Llama 3.2 (Ollama) | $0 (compute only) |

Costs bounce around a lot depending on how much you use it. Keep an eye on your first month's bill. For cheaper alternatives like MiniMax M2.5 and GLM-5, see our [nanobot setup guide](/nanobot-setup-guide/) which covers providers that cost a fraction of Anthropic and OpenAI.

If you want to use your existing Claude or ChatGPT subscription with other tools, check out [VibeProxy](https://www.bitdoze.com/vibeproxy-ai-subscriptions-guide/) for routing subscription access.

## Channel Setup

### Telegram (Easiest)

1. Open Telegram and search for **@BotFather**
2. Send `/newbot`
3. Choose a name and username for your bot
4. Copy the bot token BotFather gives you
5. Search for **@userinfobot** and send any message to get your user ID
6. Paste both into the OpenClaw wizard

The user ID goes in `allowFrom` to restrict who can talk to your bot. Without this, anyone who finds your bot can chat with it.

### WhatsApp

WhatsApp uses QR login:

```bash
openclaw channels login
```

Scan the QR code from WhatsApp > Settings > Linked Devices. Your personal WhatsApp number becomes the bot's number — messages you send to yourself go to OpenClaw.

### Slack

For teams:
1. Create a Slack app at [api.slack.com/apps](https://api.slack.com/apps)
2. Add Bot Token Scopes: `chat:write`, `app_mentions:read`, `im:history`, `im:read`, `im:write`
3. Install to your workspace
4. Copy the Bot User OAuth Token
5. Paste into OpenClaw config

I run OpenClaw in a dedicated Slack channel. Mention @openclaw to interact.

### Discord

1. Create a Discord application at [discord.com/developers](https://discord.com/developers/applications)
2. Create a bot user and copy the token
3. Invite the bot to your server with appropriate permissions
4. Add the token to OpenClaw config

## Memory System

OpenClaw remembers stuff from previous chats. The memory setup has a few parts:

### How Memory Works

- **Short-term**: Current conversation context
- **Long-term**: Facts about you stored in `~/.openclaw/workspace/MEMORY.md` and `~/.openclaw/workspace/USER.md`
- **Semantic search**: Finds relevant past conversations (requires OpenAI API for embeddings)

### Making Things Stick

If OpenClaw keeps forgetting something, just tell it straight up:

> "Remember: I prefer meeting invites on Google Calendar, not Outlook."

It stores this in your memory files. You can also edit them directly:

```bash
nano ~/.openclaw/workspace/USER.md
```

Add your preferences, work context, project details — anything you want it to always know.

### Memory and Config Files

Workspace files live in `~/.openclaw/workspace/`. For the full list of configuration options, see the [AGENTS.default reference](https://docs.openclaw.ai/reference/AGENTS.default).

| File | Purpose |
|------|---------|
| `~/.openclaw/workspace/USER.md` | Your personal info and preferences |
| `~/.openclaw/workspace/SOUL.md` | Bot personality and behavior rules |
| `~/.openclaw/workspace/MEMORY.md` | Long-term memories it accumulates |
| `~/.openclaw/workspace/AGENTS.md` | Agent configuration for specialized tasks |

## Config Files

The main config lives at `~/.openclaw/config.json` (note: this is directly in `~/.openclaw/`, not in the workspace subfolder). Key sections:

### Model Configuration

```json
{
  "agents": {
    "defaults": {
      "model": {
        "primary": "anthropic/claude-sonnet-4-5",
        "fallback": ["google/gemini-3-flash"]
      }
    }
  }
}
```

### Channel Settings

```json
{
  "channels": {
    "telegram": {
      "enabled": true,
      "token": "YOUR_BOT_TOKEN",
      "allowFrom": ["YOUR_USER_ID"]
    }
  }
}
```

### Editing Config

Use the built-in configure command:

```bash
openclaw configure --section channels
openclaw configure --section models
```

Or edit directly and restart:

```bash
nano ~/.openclaw/config.json
openclaw gateway restart
```

For MCP (Model Context Protocol) integration, see our [MCP Introduction for Beginners](https://www.bitdoze.com/mcp-introduction-beginners/).

## Skills

Skills are basically reusable workflows OpenClaw can execute. They add capabilities beyond just chatting.

### Built-in Skills

Some capabilities work immediately:
- File management (organize folders, find files)
- Web search (requires Brave API key)
- Calendar and email (with proper authentication)
- Running scripts and commands

### Adding Skills

Browse community skills at the OpenClaw registry. Install with:

```bash
openclaw skill install skill-name
```

### Creating Custom Skills

Skills are defined in `~/.openclaw/workspace/skills/`. A skill is basically a prompt template with parameters:

```markdown
# Research Skill

Research {topic} and provide:
- 3 key findings
- Relevant sources
- Next steps
```

You can also ask OpenClaw to create skills for you:

> "Create a skill that checks my GitHub repos for new issues every morning."

### Custom Skill Folders

Load skills from a custom location:

```json
{
  "skills": {
    "paths": ["~/.openclaw/workspace/skills", "~/my-custom-skills"]
  }
}
```

### Coding Tool Skills (Claude Code, Codex, Gemini CLI)

One of OpenClaw's most powerful skills lets it control AI coding tools directly. If you have Claude Code, OpenAI Codex CLI, or Gemini CLI installed on your server, OpenClaw can orchestrate them to build entire applications.

This means you can message OpenClaw from your phone:

> "Use Claude Code to create a FastAPI app with user authentication and deploy it to my server."

And OpenClaw will:
1. Launch Claude Code (or Codex/Gemini CLI)
2. Pass your requirements as prompts
3. Monitor the coding session
4. Report back when it's done or if it hits issues

**Setting it up:**

Make sure your coding tool CLI is installed and authenticated on the server:

```bash
# For Claude Code
claude --version
claude login

# For Gemini CLI
gemini --version

# For OpenAI Codex
codex --version
```

Then tell OpenClaw what's available:

> "I have Claude Code installed. When I ask you to build something, use it to write the code."

OpenClaw stores this in memory and uses the appropriate tool when you request coding tasks. This effectively turns your $20/month Claude subscription into an on-demand development team you can command from Telegram.

For more on these coding tools, see our [AI coding tools comparison](https://www.bitdoze.com/ai-coading-tools/).

## Scheduled Jobs and Reminders

OpenClaw can run cron jobs for scheduled stuff. This is where it stops being just a chatbot and starts actually automating things.

### Setting Up Reminders

Simple reminders work out of the box:

> "Remind me to check server logs every Monday at 9am."

> "In 3 hours, remind me to review the pull request."

> "Every Friday at 5pm, send me a summary of what I accomplished this week."

OpenClaw stores these and proactively messages you at the scheduled time.

### Cron-style Scheduling

For more complex schedules, OpenClaw supports cron expressions:

> "Run a disk space check every day at midnight."

> "Every 6 hours, check if my website is responding and alert me if it's down."

Behind the scenes, OpenClaw uses the server's cron system. You can view scheduled jobs:

```bash
openclaw cron list
```

### Proactive Notifications

Unlike ChatGPT or Claude web, OpenClaw messages you first. Set up monitoring:

> "Monitor my server's CPU usage. If it goes above 80% for more than 5 minutes, message me."

> "Watch my inbox for emails from [client]. When one arrives, summarize it and send to me immediately."

This "heartbeat" functionality runs periodic checks and surfaces relevant updates without you asking.

### Example: Daily Standup Assistant

Here's a practical automation I use:

> "Every weekday at 8:30am:
> 1. Check my calendar for today's meetings
> 2. Scan my email for urgent items
> 3. Look at my GitHub notifications
> 4. Send me a single message summarizing all of this"

One message in Telegram and I know exactly what needs attention before I open my laptop.

## Enhancing OpenClaw with Agno and Python Scripts

This is where it gets fun. [Agno](https://www.bitdoze.com/agno-get-start/) is a Python framework for building AI agents. Pair it with [uv](https://www.bitdoze.com/uv-get-start/) for fast package management and you can build scripts that OpenClaw runs for you.

### Why Agno + OpenClaw?

OpenClaw handles the messaging side. Agno handles the complex AI work — multi-agent setups, RAG pipelines, tool use. The flow goes:

- You message OpenClaw on Telegram
- OpenClaw runs your Agno script
- Agno does the actual work — research, analysis, whatever
- Results come back through OpenClaw

### Setting Up the Environment

Install uv on your server (it's much faster than pip):

```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```

Create a scripts directory for OpenClaw:

```bash
mkdir -p ~/openclaw-scripts
cd ~/openclaw-scripts
uv init
uv add agno openai duckduckgo-search
```

### Example: Research Agent Script

Create a research agent that OpenClaw can invoke:

```python
#!/usr/bin/env python3
# ~/openclaw-scripts/research_agent.py
# /// script
# requires-python = ">=3.11"
# dependencies = ["agno", "openai", "duckduckgo-search"]
# ///

import sys
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.duckduckgo import DuckDuckGoTools

def research(topic: str) -> str:
    agent = Agent(
        model=OpenAIChat(id="gpt-4o"),
        tools=[DuckDuckGoTools()],
        instructions=[
            "You are a research assistant.",
            "Search the web for current information.",
            "Provide concise, factual summaries.",
        ],
        markdown=True,
    )
    
    response = agent.run(f"Research this topic and provide key findings: {topic}")
    return response.content

if __name__ == "__main__":
    topic = " ".join(sys.argv[1:]) if len(sys.argv) > 1 else "AI agents"
    print(research(topic))
```

Make it executable:

```bash
chmod +x ~/openclaw-scripts/research_agent.py
```

### Connecting Scripts to OpenClaw

Tell OpenClaw about your scripts:

> "I have a Python script at ~/openclaw-scripts/research_agent.py that does web research. When I ask you to research something complex, run it with uv like this: `uv run ~/openclaw-scripts/research_agent.py [topic]`"

Now you can message:

> "Research the latest developments in autonomous AI agents"

OpenClaw runs your Agno script, which spawns its own AI agent to do web searches, and returns the results.

### Example: Multi-Agent Team

For complex tasks, create an Agno squad:

```python
#!/usr/bin/env python3
# ~/openclaw-scripts/content_team.py
# /// script
# requires-python = ">=3.11"
# dependencies = ["agno", "openai", "duckduckgo-search"]
# ///

import sys
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.duckduckgo import DuckDuckGoTools

def create_content(topic: str) -> str:
    researcher = Agent(
        name="Researcher",
        model=OpenAIChat(id="gpt-4o"),
        tools=[DuckDuckGoTools()],
        instructions=["Research topics thoroughly", "Find current data and trends"],
    )
    
    writer = Agent(
        name="Writer", 
        model=OpenAIChat(id="gpt-4o"),
        instructions=["Write clear, engaging content", "Use the research provided"],
    )
    
    # Researcher gathers info
    research = researcher.run(f"Research: {topic}")
    
    # Writer creates content based on research
    article = writer.run(
        f"Write a blog post about {topic} using this research:\n\n{research.content}"
    )
    
    return article.content

if __name__ == "__main__":
    topic = " ".join(sys.argv[1:]) if len(sys.argv) > 1 else "AI trends"
    print(create_content(topic))
```

Message OpenClaw:

> "Run the content team script for 'best practices for Docker security'"

For more Agno examples, check out our [Agno multi-agent guide](https://www.bitdoze.com/agno-squad/) and [Agno with MCP tools](https://www.bitdoze.com/agno-mcp-tools-context7/).

### Practical Script Ideas

Scripts you might build:

<ListCheck>
<ul>
<li>**Market research bot**: Agno agent that searches news, analyzes sentiment, summarizes findings</li>
<li>**Code reviewer**: Script that reads a GitHub PR and provides feedback</li>
<li>**Meeting prep**: Agent that researches attendees before a call</li>
<li>**Competitor monitor**: Daily check of competitor websites and social media</li>
<li>**Content repurposer**: Turn a blog post into social media threads</li>
</ul>
</ListCheck>

The pattern is always:
1. Write an Agno script for the complex task
2. Store it in your scripts directory
3. Tell OpenClaw how to run it
4. Trigger it via message or schedule

## Commands Reference

### Gateway Management

| Command | Description |
|---------|-------------|
| `openclaw status` | Check if everything is running |
| `openclaw gateway start` | Start the gateway in foreground |
| `openclaw gateway restart` | Restart the background service |
| `openclaw gateway stop` | Stop the service |
| `openclaw logs --follow` | View live logs |
| `openclaw health` | Run health checks |

### Chat Commands

Send these in your messaging app:

| Command | Description |
|---------|-------------|
| `/new` | Start a fresh conversation |
| `/model` | Switch AI models |
| `/compact` | Compress long conversations |
| `/status` | Bot status info |
| `/verbose on` | Show detailed responses |
| `/verbose off` | Hide internal messages |
| `stop` or `abort` | Cancel a running task |

### Configuration

| Command | Description |
|---------|-------------|
| `openclaw configure` | Interactive config editor |
| `openclaw onboard` | Re-run setup wizard |
| `openclaw reset` | Reset to defaults |
| `openclaw doctor` | Diagnose common issues |

## Practical Uses

Stuff that actually works:

### Morning Briefings

> "Every weekday at 7am, check my calendar and email, then send me a summary of what needs attention today."

### Research Tasks

> "Research the top 5 competitors to [company]. Give me a one-page summary with strengths and weaknesses."

### File Management

> "Organize my Downloads folder. Put PDFs in Documents/PDFs, images in Pictures, and delete anything older than 30 days."

### Code Assistance

> "Review the latest commit in my repo and flag any security concerns."

### Reminders and Follow-ups

> "Remind me to follow up with [person] about [topic] in 3 days."

### What Requires More Setup

These work but need custom skills or integrations:
- Full email management with auto-responses
- Trading alerts and market monitoring
- Multi-platform social media posting
- CRM integration

See our [best AI coding tools](https://www.bitdoze.com/ai-coading-tools/) article for tools that handle specific developer workflows.

## Troubleshooting

### Bot Not Responding

```bash
openclaw status --all
openclaw logs --follow
```

Usually one of these:
- Gateway crashed or isn't running
- API key expired or got rotated
- Channel token is wrong or expired

### Pairing Code Required

Default security requires approving new senders:

```bash
openclaw pairing list telegram
openclaw pairing approve telegram <code>
```

### Context Too Large

Long conversations hit token limits:

```
/compact
```

Or start fresh:

```
/new
```

### SSH Connection Issues

If SSH asks for a password when you have a key:

```bash
ssh -i ~/.ssh/id_ed25519 root@YOUR_SERVER_IP
```

### Need to Redo Setup

```bash
openclaw reset
openclaw onboard --install-daemon
```

## Security Considerations

OpenClaw has access to your server. Some things to think about:

<ListCheck>
<ul>
<li>Use `allowFrom` to restrict who can message your bot</li>
<li>Create a separate email/GitHub for the bot if it needs account access</li>
<li>Review the sandbox settings if running on a machine with sensitive data</li>
<li>Keep API keys out of memory files and conversations</li>
<li>Monitor API usage — runaway tasks can burn through credits</li>
</ul>
</ListCheck>

The default pairing mode means unknown senders get a code instead of bot access. Don't disable this unless you understand the implications.

## What's Next

Once you have OpenClaw running:

1. **Customize personality**: Edit `~/.openclaw/workspace/SOUL.md` to change how it communicates
2. **Add your context**: Fill in `~/.openclaw/workspace/USER.md` with your work and preferences
3. **Check all config options**: See the [AGENTS.default reference](https://docs.openclaw.ai/reference/AGENTS.default) for the full list of settings
4. **Install useful skills**: Browse the OpenClaw skill registry
5. **Add web search**: Get a [Brave API key](https://brave.com/search/api/) for web browsing capability
6. **Connect more tools**: GitHub, Google Drive, calendar integrations

The [official docs](https://docs.openclaw.ai/) have detailed setup guides for specific integrations.

<Accordion label="Frequently Asked Questions" group="faq" expanded="true">

**Do I need technical skills to set up OpenClaw?**

Basic command line comfort helps. If you can SSH into a server and copy-paste commands, you can set it up. The wizard handles most complexity.

**How much does it cost to run?**

VPS: ~$5.50/month at Hetzner. API costs: $15-100/month depending on usage and model choice. Total: $20-110/month for most users.

**Can multiple people use one OpenClaw?**

Yes. Add multiple user IDs to `allowFrom`. Each person gets their own conversation context. For teams, Slack or Discord work better than individual Telegram bots.

**Does it work on Windows?**

Use WSL2 (Windows Subsystem for Linux). Native Windows support is untested and has compatibility issues.

**Can I run it on a Raspberry Pi?**

Yes, but it's borderline. Pi 4/5 with 4GB+ RAM works. Expect slower performance and occasional memory issues with larger conversations.

**What's the difference between stable and beta?**

Stable gets tested features. Beta gets new stuff first but may have bugs. For production use, stick with stable. To try new features: `openclaw update --beta`

</Accordion>

OpenClaw isn't magic. It's a tool for running AI assistants that fit into how you already work. Setup is a bit of work, no doubt. But having an assistant that's actually available 24/7 and does stuff — not just chats about doing stuff — has been worth the hassle for me.

Before exposing your instance to the internet or installing skills from ClawHub, read the [OpenClaw security guide](/openclaw-security-guide/) covering CVE-2026-25253 and the 40+ vulnerability fixes shipped in recent releases.

If you want to explore what else is out there, check out our [OpenClaw alternatives](/openclaw-alternatives/) roundup covering NanoClaw, nanobot, memU, and bitdoze-bot. For a detailed walkthrough of nanobot with MiniMax M2.5 and GLM-5, see our [nanobot setup guide](/nanobot-setup-guide/). If you'd rather run models locally instead of paying for APIs, see our [OpenClaw with Ollama guide](/openclaw-ollama-local-models/) for hardware recommendations and configuration. Once OpenClaw is running, you might also want a proper UI for it — our [best OpenClaw dashboards](/best-openclaw-dashboards/) guide covers nine community-built options from full multi-agent orchestration to lightweight terminal monitors.