Founder Codes
Feb 4, 2026 • 9 min read

Step-by-Step OpenClaw Setup for People Who Don't Live in the Terminal

Never touched Node.js? No problem. Step-by-step instructions to set up your own AI assistant on Slack and iMessage, even if you're not technical.

I set up an AI assistant that runs on a Mac Mini in my office 24/7. Took me a few hours to get working.

I treated it like hiring an actual assistant. Created its own Gmail account, its own iCloud account, completely separate identity. It has its own files and workspace. I use Syncthing (an open-source syncing tool) to share a folder between my main machine and the assistant’s Mac Mini, so we can both access the same context and memory files.

The setup is permanent infrastructure. It’s always on, always available across Slack and iMessage, and remembers everything.

Here’s exactly how to replicate it.

What OpenClaw Actually Is

OpenClaw is an open-source project by Peter Steinberger (founder of PSPDFKit) that lets you run an AI assistant across multiple channels (Discord, Telegram, iMessage, whatever you use) from a single self-hosted gateway.

A bit of history: Peter built this as a weekend project in late 2025. It started as Clawdbot, got renamed to Moltbot after Anthropic requested a trademark change, and became OpenClaw in early 2026. If you’ve heard those names, it’s the same project. It blew up fast (100k+ GitHub stars in two months) because it solved a real problem: making AI actually ambient instead of stuck in browser tabs.

Think of it like this: instead of AI being a website you visit, it becomes infrastructure that runs in the background of your life.

What that means practically:

  • Text your AI from your phone while walking the dog
  • @mention it in Discord for work questions
  • It remembers context across all conversations
  • You can give it tools: run code, search the web, control your browser
  • You own the setup. No third-party app with sketchy permissions.

The learning curve is real (this isn’t a consumer app), but once it’s running, it’s like having a capable assistant who never sleeps and never loses context.

GitHub: github.com/openclaw/openclaw (134k+ stars, MIT license) Docs: docs.openclaw.ai

Before You Start

You’ll need:

  • A computer that can stay on (Mac, Linux, or Windows with WSL2)
  • Node.js 22 or later (installation below)
  • Claude Code CLI or Codex CLI (installation below)
  • An API key OR OAuth login for Anthropic/OpenAI
  • 30-60 minutes for initial setup

Optional but useful:

  • A Discord server you control (for the Discord channel)
  • A Telegram account (for mobile access)

If you’ve never touched a terminal before, don’t worry. I’ll walk you through everything step by step.

Step 0: Install Prerequisites

Install Node.js

OpenClaw needs Node.js 22 or later. Check if you have it:

node --version

If you see v22.x.x or higher, you’re good. Skip to the next section.

If not, install Node.js:

On Mac:

# Using Homebrew (install Homebrew first from brew.sh if needed)
brew install node

# Or download installer from nodejs.org

On Windows: Download the installer from nodejs.org and run it.

On Linux:

# Ubuntu/Debian
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs

# Or use your package manager

Verify it installed:

node --version
npm --version

Install Claude Code or Codex

You’ll need one of these CLI tools to interact with Claude AI:

Claude Code (Anthropic’s official CLI):

# Install globally via npm
npm install -g @anthropic-ai/claude-code

# Verify installation
claude --version

Codex (Alternative CLI with more features):

# Install via npm
npm install -g @codex/cli

# Verify installation
codex --version

I use Codex because it has better integration with OpenClaw, but either works.

Step 1: Install OpenClaw

Open your terminal and run:

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

This downloads and installs the CLI tool. Once it’s done, you’ll have the clawdbot command available.

Verify it worked:

clawdbot --version

You should see a version number. If you get “command not found,” restart your terminal or check the install output for path issues.

Step 2: Run the Onboarding Wizard

This is where the magic happens. Run:

clawdbot onboard --install-daemon

The wizard walks you through:

  • Model authentication — Connect your Anthropic or OpenAI API key
  • Gateway configuration — Sets up the background service
  • Channel setup — Connect Discord, Telegram, or other platforms
  • Daemon installation — Makes it run automatically on startup

Follow the prompts. Most defaults are fine.

When it asks about channels, I recommend starting with just one (Discord or Telegram) until you’ve got it working. You can add more later.

Step 3: Set Up Model Authentication

You have two options for connecting to AI providers:

Option 1: OAuth Login (Easiest)

Note: OAuth setup requires following visual steps. For detailed screenshots and walkthrough, see the OpenClaw onboarding docs.

For Anthropic (Claude):

clawdbot models auth login --provider anthropic

This opens a browser where you log in with your Anthropic account. No API key needed. Follow the prompts in your browser and authorize OpenClaw to access your Claude account.

For OpenAI/Codex:

clawdbot models auth login --provider openai

Same process - browser opens, you log in, authorize access.

Option 2: API Key (More Expensive that OAuth)

If you prefer using an API key directly:

For Anthropic:

clawdbot models auth paste-token

Then select “Anthropic” and paste your API key from the Anthropic Console.

For OpenAI/Codex:

clawdbot models auth paste-token

Select “OpenAI” and paste your API key from the OpenAI API dashboard.

Set Your Default Model

After authenticating, choose which model to use by default:

# For Claude Sonnet (fast, general purpose)
clawdbot models set anthropic/claude-sonnet-4-5

# For Claude Opus (complex reasoning, planning)
clawdbot models set anthropic/claude-opus-4-5

# For OpenAI
clawdbot models set openai/gpt-4o

# For Codex 5.2 (coding with extended thinking)
clawdbot models set openai/codex-5.2

Check your setup worked:

clawdbot models status

You should see your provider listed with a green “authenticated” status.

My Personal Model Setup

I run three models for different use cases:

  • Claude Sonnet 4.5 (default) - Quick responses, general questions, drafting
  • Claude Opus 4.5 - Complex reasoning, planning, strategic decisions
  • Codex 5.2 - Coding tasks with extended thinking time

You can switch models on the fly by mentioning them in your message, or set up routing rules in the config to automatically use the right model based on the task.

Optional: Claude Setup Token

If you want to use the same auth across multiple machines, you can generate a setup token:

clawdbot models auth export-token

This gives you a token you can use on another machine:

clawdbot models auth import-token YOUR_TOKEN_HERE

Handy if you’re syncing OpenClaw across a laptop and desktop.

Step 4: Connect Your First Channel

I use iMessage and Slack for most of my OpenClaw interactions. iMessage is always with me, and Slack is where I already live for work. Below are setup instructions for the most popular channels:

For Slack (What I Use):

  1. Go to api.slack.com/apps and click Create New App
  2. Choose “From scratch”
  3. Give it a name (mine is called Knox) and select your workspace
  4. Go to OAuth & Permissions in the sidebar
  5. Scroll down to Bot Token Scopes and add these scopes:
    • app_mentions:read - Read messages that mention your bot
    • channels:history - Read messages in public channels
    • channels:read - View basic channel info
    • chat:write - Send messages
    • groups:history - Read messages in private channels (if needed)
    • im:history - Read direct messages
    • im:read - View direct message info
    • im:write - Send direct messages
    • users:read - View people in workspace
  6. Scroll up and click Install to Workspace
  7. Copy the Bot User OAuth Token (starts with xoxb-)
  8. Go to Event Subscriptions in sidebar
  9. Toggle “Enable Events” to On
  10. Under Subscribe to bot events, add:
    • app_mention - When someone @mentions the bot
    • message.im - Direct messages to the bot
  11. Save changes

Back in terminal:

clawdbot config set channels.slack.token YOUR_BOT_TOKEN
clawdbot config set channels.slack.enabled true
clawdbot gateway restart

Important: After restarting, go back to Slack API settings → Event Subscriptions and set the Request URL to your OpenClaw gateway endpoint. OpenClaw will show this URL in the logs when it starts.

For Discord:

  1. Go to the Discord Developer Portal
  2. Create a new application
  3. Go to “Bot” → Add Bot → Copy the token
  4. Enable “Message Content Intent” under Privileged Gateway Intents
  5. Invite the bot to your server with the OAuth2 URL generator (select bot scope + Send Messages permission)

Back in terminal:

clawdbot config set channels.discord.token YOUR_BOT_TOKEN
clawdbot config set channels.discord.enabled true
clawdbot gateway restart

For Telegram:

  1. Message @BotFather on Telegram
  2. Send /newbot and follow the prompts
  3. Copy the token it gives you
clawdbot config set channels.telegram.token YOUR_BOT_TOKEN
clawdbot config set channels.telegram.enabled true
clawdbot gateway restart

For iMessage (Mac Only):

iMessage is the most seamless channel if you’re on Mac. The bot reads from your Messages database. This is where I talk to my assistant 80% of the time.

Requirements:

  • Mac with macOS (won’t work on Windows/Linux obvs)
  • Full Disk Access permission for Terminal

Setup:

  1. Grant Full Disk Access:

    • Open System SettingsPrivacy & SecurityFull Disk Access
    • Click the + button
    • Add your Terminal app (or iTerm, whatever you use)
    • You may need to restart Terminal
  2. Enable iMessage in OpenClaw:

clawdbot config set channels.imessage.enabled true
clawdbot config set channels.imessage.phoneNumber YOUR_PHONE_NUMBER
clawdbot gateway restart
  1. Text yourself to test. The bot will respond to messages sent to the phone number you configured.

Note: iMessage requires your Mac to stay on and connected to iMessage. It reads from the local Messages database at ~/Library/Messages/chat.db.

Step 5: Verify It’s Working

Check the status:

clawdbot status

You should see your channels listed as “connected” or “healthy.”

Now go to Discord or Telegram and message your bot. If everything’s working, it’ll respond using Claude (or whatever model you configured).

First message might take a few seconds. That’s normal.

Step 6: Make It Actually Useful

A bare AI assistant is just ChatGPT with extra steps. The power comes from customization.

Give It Context About You

Create a workspace folder and add a SOUL.md file that tells the AI who it’s talking to:

# About Me

You're an assistant for Cat, founder of BestSelf.co.

I run an ecommerce business and use AI heavily in operations.
I have ADHD. Keep responses concise and actionable.
I prefer bullet points over paragraphs.
Don't ask clarifying questions unless absolutely necessary.

Point OpenClaw to this workspace:

clawdbot config set agents.defaults.workspace /path/to/your/workspace
clawdbot gateway restart

Now every conversation starts with that context loaded.

Give It Memory

OpenClaw can read and write to files in your workspace. I use a memory/ folder for daily logs, project notes, and anything I want the AI to remember across sessions.

The AI will automatically reference these when relevant.

Give It Tools

The default setup lets the AI browse the web, run code, and more. You can customize what tools are available in the config.

For security, I recommend keeping the sandbox mode on (default) until you’re comfortable with what the AI can do.

What I Actually Use It For

Work:

  • Quick questions while I’m away from my desk
  • Drafting emails and messages from my phone
  • Debugging code when I’m not at my laptop
  • Research that continues across devices

Life:

  • The Nextdoor cable-organizing hire (I’ll write about this separately)
  • Meal planning and grocery lists
  • Random questions while walking the dog
  • Reminders and task management

The key insight: I use AI 10x more now that it’s ambient. The friction of opening a browser tab and starting a new conversation was bigger than I realized.

Troubleshooting

Bot not responding:

  • Check clawdbot status — is the channel connected?
  • Check clawdbot logs — any errors?
  • Make sure you enabled Message Content Intent (Discord) or the bot token is correct

“No API key found” errors:

  • Run clawdbot models status to check auth
  • Re-run clawdbot models auth login --provider anthropic if needed

Config issues:

  • Run clawdbot doctor --fix to auto-repair common problems

The Bottom Line

Setting up OpenClaw took me about an hour the first time. Now I have an AI assistant that:

  • Lives on my phone, Discord, and laptop
  • Knows who I am and how I like to work
  • Has memory across conversations
  • Can actually do things (not just chat)

It’s not a consumer product with a slick onboarding flow. It’s infrastructure. But once it’s running, it fundamentally changes how available AI is in your daily life.

If you’re the kind of person who’s reading a newsletter called “Founder Codes,” you can probably handle the setup.

Get more founder codes

Technical systems and operational tactics for founder-operators. Delivered weekly.

No spam. Unsubscribe anytime.