Screen showing the OpenClaw installation and onboard setup process

Overview

What is OpenClaw

OpenClaw is a Node.js-based open-source framework that lets developers build autonomously operating AI agents.

It can be integrated with various models such as Claude and GPT.

Tasks like reading files, running commands, and calling external services can be connected as tools to automate them.

Official site: OpenClaw

Key Features

  • Multimodal input, processes multiple forms of input such as text, images, and files.
  • Tool integration, extends functionality by attaching capabilities such as file system access, web search, and API calls as tools.
  • Security-first design, provides mechanisms such as sandboxing, access control, and whitelisting.
  • Extensible structure, easy to add features through a plugin-based approach.

Installation

OpenClaw provides an installation script.

It also installs required utilities such as Node.js together.

Installation docs: https://docs.openclaw.ai/install

Default Installation Mode

The default installation enters onboard (interactive initial setup) right after installation.

Once the setup is finished, it moves on to the run step.

1# macOS / Linux / WSL2
2curl -fsSL https://openclaw.ai/install.sh | bash
3
4# Windows (PowerShell)
5iwr -useb https://openclaw.ai/install.ps1 | iex
If you only need a manual installation

If you want to install only, without onboard, use the option below.

1# macOS / Linux / WSL2
2curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard
3
4# Windows (PowerShell)
5& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard

After installation, proceed in the order below.

1# Configure
2openclaw onboard
3
4# Run
5openclaw gateway start

Default Installation Screen

Default installation screen after running the installation script

Initial Setup (onboard)

If you proceed with the default installation mode, you enter onboard after installation.

The setup proceeds through an interactive UI.

The configuration file is written to ~/.openclaw/openclaw.json by default.

Even if you interrupt onboard midway, you can resume editing by running it again.

If needed, you can also reset and configure it again.

1. Agree to the Security Warning

Security warning agreement screen at the first step of onboard

⚠️ **Security Warning — Please Read Carefully**

OpenClaw is a hobby project and is still in beta.
Unexpected issues or incomplete features may exist.
This bot can read files or execute tasks when tools are enabled.
A malicious prompt could trick the bot into performing unsafe actions.
If you are not familiar with basic security and access control, running OpenClaw is not recommended.
Get help from someone experienced before enabling tools or exposing it to the internet.

Important: OpenClaw can read files or execute commands once tools are enabled.

If exposed externally it can become very dangerous, so it is safer not to connect it to a public channel with the default settings as-is.

For example, if you ask the chatbot to read a file, it may output it verbatim.

Example screen where the chatbot outputs a file’s content verbatim after being asked for it

2. Choose Installation Mode

Screen for choosing the installation mode in onboard

Screen showing the OpenClaw installation and onboard setup process

Manual mode is used when you want to specify the gateway and workspace manually.

Choose Gateway (usually the local machine)

Screen for directly specifying the gateway in Manual mode

Specify Workspace Path

Default path is ~/.openclaw/workspace

Screen for specifying the workspace path

3. Choose Model and Auth Provider

Screen for choosing the model and auth provider to use

Just enable the provider(s) you need.
Once selected, it walks you through the authentication process.

Claude (Anthropic) example

Some agents are installed automatically.

In some cases a manual installation is required.

Screen for installing the Claude agent

Verify the token

1claude setup-token  

Screen for checking the token issued via claude setup-token

You can usually keep the default for model selection.

You can change it anytime if needed.

Screen for selecting the model to use

Cloud models like ChatGPT may incur usage-based billing if you use an API key method.
However, even if you use a subscription account, there is a way to integrate without an API key, so it’s worth checking out.

  • ChatGPT: OpenAI Codex (ChatGPT OAuth)
  • Claude: Anthropic token (paste in setup-token)
  • Gemini: Google Gemini CLI OAuth

4. Choose Channel

Screen for choosing the messenger channel to connect

Screen showing the OpenClaw installation and onboard setup process

Choose the messenger channel you want.
Telegram is often chosen because it’s free.

Create and enter a Telegram bot token

A Telegram bot isn’t created or managed through an admin console — you create and manage it by chatting with @BotFather.

Screen for creating a bot by chatting with Telegram’s @BotFather

Screen showing the OpenClaw installation and onboard setup process

Screen showing the OpenClaw installation and onboard setup process

5. Choose Skills

Screen for choosing the skills to use

Screen showing the OpenClaw installation and onboard setup process

OpenClaw provides additional functionality in forms such as skills and plugins.
By default, it’s fine to start by turning on only the skills you need.

Tasks you have it perform repeatedly can later be turned into a skill and attached.

Example settings needed for advanced features

It’s safer to enable these only when you need tasks like the following.

  • Searching for places on Google Maps
  • Image generation
  • Searching Notion data
  • Speech-to-text (STT)
  • Text-to-speech (TTS)

Google Places

This is the Google API key setup needed for place search.

Example: “Recommend a highly rated restaurant in Gangnam-gu, Seoul”

Screen for setting the Google Places API key for place search

Image Generation (Gemini, Nano Banana)

Set this up when using Gemini-based image generation features.

Screen for setting up the Gemini (Nano Banana) image generation skill

Notion

Used when referencing data from Notion pages.

Screen for setting up the Notion integration skill

Image Generation (OpenAI)

Screen for setting up the OpenAI image generation skill

Whisper (STT)

Converts a voice file into text.

If you send a message by voice in Telegram, it can convert it to text for processing.

Screen for setting up Whisper (STT), which converts speech to text

ElevenLabs (TTS)

Used to convert text into speech.

Screen for setting up ElevenLabs (TTS), which converts text to speech

6. Configure Hooks

Screen for choosing the hooks to use

Notes per item
boot-md

  • Automatically runs BOOT.md when the gateway starts, loading the initial instructions.

bootstrap-extra-files

  • Automatically injects initial workspace files using glob or path patterns.
  • Personally, I’d recommend enabling everything except this option.
  • Specifying the wrong path can pollute the workspace.

command-logger

  • Logs all command events to a central audit log file.

session-memory

  • Automatically saves the session context to memory when /new is run.

7. Run the Bot

Screen for running the bot after finishing onboard setup

💡

If execution permission is required on macOS

Screen requesting execution permission on macOS

Choose whether to run with the TUI or the Web UI.

The web UI looks more convenient, but if you plan to use a channel-based assistant, the TUI is enough too.

Run screen

Screen after the gateway has started running

8. Telegram User Authentication

Screen for starting user authentication by sending a message to the Telegram bot

After creating the bot, sending it a message starts the user authentication process.
Authentication is required because just any user shouldn’t be able to access OpenClaw through the bot.

The authentication code is delivered as a Telegram message.

Just copy the guided command and run it manually in the terminal.

Screen for entering, in the terminal, the authentication code received via Telegram

9. Decide How You’re Addressed and the Bot’s Name

Screen for deciding the user’s form of address and the bot’s name

💡 Decide the name the bot will call you and the name you’ll call the bot.
After configuring this, you can chat with it like a regular ChatGPT.

10. Example

Example screen of actually chatting with the bot after finishing setup

Screen showing the OpenClaw installation and onboard setup process

Errors and Solutions


Node Requirement Mismatch

Cause: needs 22.12 or higher, but 20.11 is in use

1❯ openclaw help
2openclaw requires Node >=22.12.0.
3Detected: node 20.11.1 (exec: /Users/plzhans/.nvm/versions/node/v20.11.1/bin/node).

Solution

  • Installed in the global scope, but the global node version in use is 20.11
  • Solution based on the global scope
 1# Check version
 2❯ node -v
 3
 4# Check the running process
 5ps -ef | grep openclaw
 6
 7# Note: even if you kill the process, if it's registered as a service or launcher it will auto-restart
 8# If it's registered as a service or launcher, you need to stop the launcher
 9# For mac: find the running openclaw
10launchctl list | grep openclaw
11
12# Stop the running openclaw
13launchctl unload ~/Library/LaunchAgents/ai.openclaw.gateway.plist
14
15
16# Install the new version and change the default version
17nvm install 22
18nvm use 22
19nvm alias default 22