🦞 OpenClaw Bootcamp
DAY 02 / 16
🦞
OpenClaw Bootcamp · Day 2

Install & First Run
Zero to Running Agent

Today is where it stops being theory. Node.js, one install command, onboarding wizard, Gateway running, dashboard open, first message sent, Telegram live. All of it.

macOS · Linux · Windows Step-by-Step Free Options Included
🦞 OpenClaw Bootcamp
DAY 02 / 16
What We Cover Today

Day 2 Agenda

💻

System Setup

Node 24 on macOS, Linux, and Windows. The right method per platform.

⬇️

Install + Onboard

One install command, then the onboarding wizard. What each step actually does.

🔑

API Keys

Anthropic, OpenAI, Gemini, and free Ollama. How to get one and which to pick.

🚀

First Run

Gateway up, dashboard open, first message. Confirming everything works end to end.

📁

Workspace Files

What lives in your workspace, what each file does, and what does not exist.

⚙️

Config File

How openclaw.json works. Where your keys and channels actually live.

✈️

Telegram

BotFather token, JSON config, pairing your account, first reply from your phone.

🔧

Troubleshooting

Port conflicts, key errors, command not found. Every fix in one place.

🦞 OpenClaw Bootcamp
DAY 02 / 16
Today's Goal

By the end you will have three things

01
OpenClaw installed and the Gateway running on your machine
02
Your first conversation with your agent through the Control UI
03
Telegram connected so you can text your agent from your phone
1
Install Node 24
2
Install OpenClaw
3
Run Onboarding
4
Gateway Running
5
First Message
6
Telegram Live
🦞 OpenClaw Bootcamp
DAY 02 / 16
60-Second Recap

Day 1 Recap

What OpenClaw is
  • A persistent agent daemon. Not a chatbot. Runs 24/7.
  • Gateway + Channels + Memory + Tools
  • Talks to you via WhatsApp, Telegram, Discord, iMessage
  • Supports 35+ AI model providers including free local ones
  • Agent behavior lives in plain Markdown files on disk
Today's focus

We build the foundation. Everything in Days 3 through 16 runs on top of what you do today.

The five-minute path

Install Node - run install script - run onboarding - start Gateway - open dashboard - send first message

🦞 OpenClaw Bootcamp
DAY 02 / 16
Before You Install

What You Need

🍎
macOS
  • macOS 12+
  • Node 24 recommended (22.14+ supported)
  • Homebrew for Node install
  • 500 MB disk
🐧
Linux
  • Ubuntu 20.04+ / Debian 11+ / Fedora
  • Node 24
  • curl available
  • bash or zsh
🪟
Windows
  • Windows 10 / 11
  • Native Windows supported (PowerShell)
  • ★ WSL2 recommended for full experience
  • Node via winget or WSL2 path
The one thing that matters most before anything else

Run node -v. If it prints v24 or v22.14 or higher, you're ready. If Node isn't installed, the next three slides cover every platform.

🦞 OpenClaw Bootcamp
DAY 02 / 16
macOS · Node Setup

Node.js on macOS

# Recommended: Homebrew (installs Node 24 automatically) brew install node # Or download directly from nodejs.org # nodejs.org → LTS download → run the .pkg installer # Or use a version manager (nvm, fnm, mise) fnm install 24 && fnm use 24 # fnm is fast and cross-platform nvm install 24 && nvm use 24 # nvm also works # Verify - you need v22.14.0 or higher, v24 recommended node -v # should print v24.x.x npm -v # should print 10.x.x or higher
Note

If you use a version manager like nvm or fnm, make sure it is initialized in your ~/.zshrc or ~/.bashrc. If it isn't, openclaw won't be found in new terminal sessions.

🦞 OpenClaw Bootcamp
DAY 02 / 16
Linux · Node Setup

Node.js on Linux

# Ubuntu / Debian (installs Node 24) curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - sudo apt-get install -y nodejs # Fedora / RHEL sudo dnf install nodejs # Or a version manager (works on all distros) fnm install 24 && fnm use 24 # Verify node -v # v24.x.x ✓

If you see openclaw: command not found later, run npm prefix -g and add that path's bin/ to your PATH.

🦞 OpenClaw Bootcamp
DAY 02 / 16
Windows · Node Setup

Node.js on Windows

Native Windows (PowerShell)
# Recommended: winget winget install OpenJS.NodeJS.LTS # Or Chocolatey choco install nodejs-lts # Or direct download: nodejs.org
WSL2 (Recommended for full experience)
# Enable WSL2 in PowerShell (admin) wsl --install # Reboot, then open Ubuntu terminal # Inside WSL2: install Node via fnm fnm install 24 && fnm use 24
Native vs WSL2

Both work. Native Windows covers core CLI and Gateway use. WSL2 gives you the full Linux experience and is recommended if you want the complete feature set. The install script detects which path you're on.

🦞 OpenClaw Bootcamp
DAY 02 / 16
Step 1 of 2

Run the Installer

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

Downloads and runs the install script. Installs the openclaw CLI globally via npm.

Windows (PowerShell)
iwr -useb https://openclaw.ai/install.ps1 | iex

Native Windows installer. Handles the same steps as the curl version via PowerShell.

What the script does

The script runs npm install -g openclaw and gives you the openclaw command everywhere in your terminal. Other install paths exist (Docker, Nix, direct npm) but the script is the fastest.

🦞 OpenClaw Bootcamp
DAY 02 / 16
Step 2 of 2

Run Onboarding

openclaw onboard --install-daemon
🔑

Model + Auth

Choose your AI provider, paste your API key. Covers Anthropic, OpenAI, Google, Ollama, and 35+ others.

📁

Workspace

Sets the workspace path (default ~/.openclaw/workspace) and seeds all bootstrap files.

📡

Channels (optional)

Connect WhatsApp, Telegram, Discord right now - or skip and add them later.

Daemon + Health Check

--install-daemon registers the Gateway as a system service so it starts automatically on login. Ends with a live health check.

🦞 OpenClaw Bootcamp
DAY 02 / 16
Onboarding Step 1

Which Model to Pick

RECOMMENDED
🟠

Claude 3.5 Sonnet

Anthropic. Best reasoning, writing, and coding. A few cents a day for normal use.

GREAT
🟩

GPT-4o

OpenAI. Strong at vision and multimodal. Good if you're already on the OpenAI platform.

BUDGET
🟢

Gemini 1.5 Flash

Google. Very cheap at $0.075 per million tokens. Great for high-frequency automated tasks.

FREE
🦞

Ollama (Local)

Runs on your hardware. Zero cost, zero external API calls. Full deep dive on Day 3.

You can switch any time by re-running openclaw configure or editing your config file.

🦞 OpenClaw Bootcamp
DAY 02 / 16
Quick Explainer

What Is an API Key

🔑

Your key, your bill

You pay the AI provider directly. No middleman. For light daily use on Claude Sonnet that's a few cents a day.

🔒

Stays on your machine

The onboarding wizard stores your key in ~/.openclaw/credentials/. It never leaves your machine.

🅾

Free tiers exist

Anthropic and Google give free credits to new accounts. Ollama is always free. You can start without a credit card.

Security Warning

Treat your API key exactly like a password. Never paste it into a chat message, screenshot, or public file. If you accidentally expose one, rotate it immediately from the provider's dashboard.

🦞 OpenClaw Bootcamp
DAY 02 / 16
API Key Setup

Anthropic API Key

  • 01

    Go to console.anthropic.com

    Create an account if you don't have one. New accounts receive free credits - no payment method required to start.

  • 02

    Click 'Get API Keys' in the sidebar

    Then click 'Create Key'. Name it 'openclaw' so you know what it's for later.

  • 03

    Copy the key immediately

    It starts with sk-ant-. It's only shown once. Save it somewhere before closing the page.

  • 04

    Set a spending limit

    Go to Billing. Set a monthly cap. Five dollars is a reasonable start - protects you from a runaway automated task.

  • 05

    Paste it into the onboarding wizard

    When the wizard asks for your API key, paste it in. That's the only place it needs to go.

🦞 OpenClaw Bootcamp
DAY 02 / 16
API Key Setup

OpenAI and Gemini Keys

OpenAI
  • 01Go to platform.openai.com and sign in
  • 02Click API Keys in the left sidebar
  • 03Click 'Create new secret key' - starts with sk-
  • 04Add a payment method and set a usage limit
Google Gemini
  • 01Go to aistudio.google.com and sign in
  • 02Click 'Get API key' in the top bar
  • 03Create a new key - free tier includes generous limits
  • 04Starts with AIza - copy immediately

All keys go into the onboarding wizard when prompted. You only need the one matching your chosen provider.

🦞 OpenClaw Bootcamp
DAY 02 / 16
Gateway Commands

Running the Gateway

# If you ran onboard --install-daemon, it starts automatically. # To start manually: openclaw gateway # Install as a background service (auto-start on login) openclaw gateway install # Check if it's running openclaw gateway status # Open the Control UI in your browser openclaw dashboard # View logs openclaw logs
Port 18789 by default Dashboard: http://127.0.0.1:18789
🦞 OpenClaw Bootcamp
DAY 02 / 16
What You Should See

Reading Gateway Status

Gateway: bind=loopback (127.0.0.1), port=18789 Dashboard: http://127.0.0.1:18789/ Probe target: ws://127.0.0.1:18789 Probe note: Loopback-only; only local clients connect. Runtime: running Service: LaunchAgent (loaded)
GOOD SIGN

Port 18789 and Runtime: running. The Gateway is up, the dashboard is accessible at localhost:18789.

PROBLEM SIGN

Runtime: unknown or 'Missing config' means onboarding wasn't completed. Run openclaw doctor.

NEXT STEP

Run openclaw dashboard and the Control UI opens in your browser automatically.

🦞 OpenClaw Bootcamp
DAY 02 / 16
Control UI · http://127.0.0.1:18789

The Dashboard

The sidebar on the left is your main navigation. Here is what each tab does.

💬

Chat

Converse with your agent. Full message history, streaming responses, tool call logs inline.

📋

Sessions

Session history, usage per session, and session management. Search past conversations.

💓

Heartbeat

Scheduled tasks. See the last run output and countdown to the next tick. Pause or resume.

🧠

Memory

Browse your agent's memory files. View and search what it has stored about you.

🔧

Tools

See which tools are active and recent tool call logs. Browser, exec, web search, and more.

🎯

Skills

Browse and manage installed skill packs and workspace-specific skills.

📡

Channels

Connection status for all configured channels - Telegram, WhatsApp, Discord, and others.

⚙️

Config

Edit openclaw.json via a form UI or raw JSON editor. Changes hot-reload automatically.

🦞 OpenClaw Bootcamp
DAY 02 / 16
Dashboard · Chat Tab

Your First Message

OpenClaw Agent
online
👤
Hello, what's your name and what can you do?
🦞
Hey! I'm your OpenClaw agent. I can browse the web, run commands, remember things about you, send messages, and run scheduled tasks automatically...
TEST 1

Hello, what's your name and what can you do?

Basic response. Confirms the model is connected.

TEST 2

Search the web for today's top AI news.

Triggers the web search tool. Watch for the tool call log inline.

TEST 3

My name is [name] and I live in [city]. Remember this.

Tests the memory tool. Check the Memory tab in the dashboard after.

🦞 OpenClaw Bootcamp
DAY 02 / 16
~/.openclaw/workspace/

Your Workspace Files

SOUL.md

Persona, tone, and boundaries. Loaded every session.

AGENTS.md

Operating instructions: rules, priorities, how to behave. Loaded every session.

USER.md

Who you are and how the agent should address you.

IDENTITY.md

Agent name, vibe, and emoji. Created during the bootstrap ritual.

TOOLS.md

Notes about your tools and conventions. Does not control tool availability.

HEARTBEAT.md

Optional checklist for scheduled heartbeat runs. Keep it short.

memory/YYYY-MM-DD.md

Daily memory log. One file per day, append-only.

MEMORY.md

Optional curated long-term memory. Only load in private sessions.

BOOT.md

Optional startup checklist for gateway restarts. Keep it very short.

Config lives at ~/.openclaw/openclaw.json, not in the workspace. API keys in ~/.openclaw/credentials/. More on the next slide.

🦞 OpenClaw Bootcamp
DAY 02 / 16
~/.openclaw/openclaw.json

The Config File

// ~/.openclaw/openclaw.json (JSON5 format) { agents: { defaults: { workspace: "~/.openclaw/workspace", model: { primary: "anthropic/claude-sonnet-4-6", }, heartbeat: { every: "30m" }, } }, channels: { telegram: { enabled: true, botToken: "YOUR_TOKEN_HERE", dmPolicy: "pairing", } } }
FORMAT

JSON5: supports comments and trailing commas. Edit directly, via openclaw configure, or through the Config tab in the dashboard.

HOT RELOAD

The Gateway watches this file and applies changes automatically. No restart needed for most config edits.

NOT IN VERSION CONTROL

This file holds credentials and secrets. Never commit it to Git. API keys live in ~/.openclaw/credentials/, separate from the workspace.

🦞 OpenClaw Bootcamp
DAY 02 / 16
Workspace File Deep Dive

SOUL.md Explained

# Your agent's SOUL.md ## Persona Your agent's name, tone, and vibe. How direct, warm, or technical to be. ## Communication Style How to format replies. When to ask vs when to act. ## Boundaries What the agent will not do. Hard limits you define here.
WHAT IT IS

Plain Markdown. Loaded at the start of every session. Your agent reads this to know how to present itself and what it won't do.

HOW TO EDIT

Open ~/.openclaw/workspace/SOUL.md in any text editor. Changes take effect on the next conversation.

DAY 7 DEEP DIVE

We rewrite SOUL.md from scratch on Day 7 to match exactly how you want your agent to communicate. For now, just read it.

🦞 OpenClaw Bootcamp
DAY 02 / 16
Workspace File Deep Dive

HEARTBEAT.md Explained

# HEARTBEAT.md -- optional checklist # Keep this short to avoid token burn. # The agent reads this on every heartbeat tick. - Check for any pending tasks in memory - Send a morning briefing at 8am - Stay silent if nothing needs attention
WHAT IT IS

An optional tiny checklist your agent reads during scheduled heartbeat runs. It is guidance text, not a scheduling config.

HOW SCHEDULING WORKS

Heartbeat interval is set in openclaw.json via agents.defaults.heartbeat.every. Example: "30m", "2h". Not inside HEARTBEAT.md itself.

KEEP IT SHORT

The docs say: keep HEARTBEAT.md short to avoid token burn. Every heartbeat run loads this file. A long file means cost on every tick.

🦞 OpenClaw Bootcamp
DAY 02 / 16
Telegram Setup · Step 1 of 3

Get Your Bot Token from BotFather

  • 01

    Open Telegram and find @BotFather

    Search for exactly @BotFather. It has a blue verified checkmark. This is the official Telegram bot creation service.

  • 02

    Send /newbot

    BotFather asks for a display name (what shows in the chat header) and then a username. Username must be unique globally and end in 'bot'.

  • 03

    Copy your bot token

    BotFather replies with a long string of numbers and letters separated by a colon. That is your bot token. Copy it.

  • 04

    Keep it safe

    Your bot token is your bot's identity on Telegram. Treat it like a password. Don't share it or post it publicly.

🦞 OpenClaw Bootcamp
DAY 02 / 16
Telegram Setup · Step 2 of 3

Add Telegram to Your Config

// ~/.openclaw/openclaw.json { channels: { telegram: { enabled: true, botToken: "YOUR_TOKEN_HERE", dmPolicy: "pairing", groups: { "*": { requireMention: true } } } } }
THREE WAYS TO ADD IT

A) Edit openclaw.json directly (shown left)
B) Run openclaw configure for interactive setup
C) Use the Config tab in the dashboard

IMPORTANT NOTE

There is no openclaw channels login telegram command. Telegram does not use that flow. Config in JSON is the correct method.

HOT RELOAD

The Gateway watches your config file. Save the file and the change takes effect automatically. No manual restart needed.

🦞 OpenClaw Bootcamp
DAY 02 / 16
Telegram Setup · Step 3 of 3

Pair Your Account

# Start the Gateway openclaw gateway # In Telegram, message your bot # It replies with a pairing code # Back in terminal: list pending pairs openclaw pairing list telegram # Approve your account openclaw pairing approve telegram <CODE>
WHY PAIRING

OpenClaw uses a pairing system by default. Anyone can message your bot username, but only approved accounts get responses. Codes expire after 1 hour.

DM POLICY OPTIONS

pairing - approve each user (default)
allowlist - explicit list of allowed IDs
open - anyone can message
disabled - no DMs

SUCCESS

Send a message from Telegram and get a reply. That's your own AI agent running on your own machine, responding through an app you already use.

🦞 OpenClaw Bootcamp
DAY 02 / 16
Common Errors

Troubleshooting

EADDRINUSE port 18789

Something else is on port 18789. Run lsof -i :18789, kill the PID, or change gateway.port in your config to 18790.

openclaw: command not found

npm global bin is not on your PATH. Run npm prefix -g and add <prefix>/bin to your PATH in ~/.zshrc or ~/.bashrc.

401 AuthenticationError

Wrong or malformed API key. Re-run openclaw configure and paste the key fresh. Check for extra whitespace.

Node version too old

You need v22.14 or higher. Run node -v. Upgrade with fnm install 24 then npm install -g openclaw@latest.

EACCES permission denied (npm)

Global npm has a permissions issue. Switch to a user-writable prefix: npm config set prefix ~/.npm-global and add it to PATH.

FIRST COMMAND FOR ANY ERROR

Run openclaw doctor. It checks every dependency, config key, and running service and tells you exactly what is wrong.

🦞 OpenClaw Bootcamp
DAY 02 / 16
Build These From Day One

Security Habits

  • 01 Never commit openclaw.json to Git. It can hold credentials. Add it to .gitignore immediately. The workspace itself is safe to commit.
  • 02 Keep exec in confirm mode. Your agent will ask before running any shell command. That's a safety net, not a limitation. Day 13 covers when to adjust this.
  • 03 Use pairing mode for Telegram. The default dmPolicy: 'pairing' means you approve each user before they get responses. Leave it on.
  • 04 Keep the Gateway on localhost. Port 18789 should not be exposed publicly. If you need remote access, use SSH tunneling.
  • 05 Set API spending limits. Every provider has a monthly cap option. Set one at $5-$10 to start. Stops a runaway heartbeat from generating an unexpected bill.
🦞 OpenClaw Bootcamp
DAY 02 / 16
Bookmark This

Essential CLI Commands

# Gateway openclaw gateway # start openclaw gateway install # register as service openclaw gateway status # check it's running openclaw logs # view logs # Dashboard + Chat openclaw dashboard # open Control UI openclaw chat # terminal chat
# Config + Setup openclaw onboard # full setup wizard openclaw configure # re-configure # Telegram pairing openclaw pairing list telegram openclaw pairing approve telegram <CODE> # Diagnostics openclaw doctor # full health check openclaw update # upgrade to latest
🦞 OpenClaw Bootcamp
DAY 02 / 16
Before Day 3

Day 2 Homework

  • 01

    Get to a green gateway status

    Run openclaw gateway status. It should show Runtime: running on port 18789. If not, run openclaw doctor.

  • 02

    Send three test messages in the dashboard

    A basic hello. A web search. Tell your agent something about yourself and ask if it remembered. Check the Memory tab after.

  • 03

    Connect Telegram and text your agent

    BotFather token, add to openclaw.json, pair your account with openclaw pairing approve. Get a reply from your phone.

  • 04

    Read SOUL.md and AGENTS.md

    Open them in a text editor. Just read them. Note what you want to change. Day 7 is SOUL day - knowing what's there gives you a head start.

  • 05

    Run openclaw doctor

    Make sure every check passes. If something fails, post the exact output in the community at skool.com/sprint.

🦞 OpenClaw Bootcamp
DAY 02 / 16
Day 2 Complete

Your agent is running

Gateway installed and running
First message sent via dashboard
Telegram live from your phone
COMING UP ON DAY 3
Models and Ollama

All 35+ providers OpenClaw supports. How to run Llama 3 and Qwen completely offline for $0/month. Benchmarks, cost breakdown, and a live model switching demo.

35+
Providers
$0
with Ollama
1
Command to switch