OpenClaw, formerly known as ClawBot and MoltBot, is a personal AI agent that you run on your own infrastructure and that uses a language model (LLM) of your choice, locally or remotely. OpenClaw executes tasks autonomously and can manage your mailbox (including your calendar), work with browsers, run code on your computer, and much more.
You control OpenClaw via a chat app of your choice such as WhatsApp, Telegram, or Signal, and it also has a web dashboard. In this guide, youโll install OpenClaw on a Linux server (or order a ready-to-go OpenClaw VPS) and connect it to an external LLM provider such as OpenAIโs GPT, or a locally hosted model via Ollama.
Looking for inspiration for what people use OpenClaw for? Take a look at https://openclaw.ai/showcase.
OpenClaw uses โskillsโ to learn new capabilities. These can be developed by third parties and are freely available via Clawhub. Only install trusted โskillsโ/plugins. Malicious skills have recently been spotted in public registries; review the source code before use and never copy-paste suspicious shell commands.
ย
Installing OpenClaw
ย
Step 1
Connect to your VPS via SSH or the VPS console.
ย
Step 2
First, update your server so the latest software packages are available:
ย
Ubuntu:
sudo apt -y update && sudo apt -y upgradeAlmaLinux/Rocky Linux/CentOS Stream:
sudo dnf -y updateย
Step 3
OpenClaw requires a number of dependencies/adjustments before, during, and after the installation/configuration process, namely:
- NodeJS 22 or newer.
- NPM: A package manager that is installed by default with NodeJS. However, some additional configuration is needed so the OpenClaw executable can be used. The npm bin directory is not automatically recognized by your OS. You can fix this by adding the npm bin directory to $PATH (an environment variable that tells your OS where executable files are located).
- Brew: To use skills (i.e., what OpenClaw can do besides chatting), you also need Homebrew.ย
Copy and paste the code below depending on your operating system:
Ubuntu / Debian:ย
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo bash
sudo apt -y install nodejs
echo 'export PATH="$(npm prefix -g)/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo >> ~/.bashrc
grep -qxF 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv bash)"' ~/.bashrc \
|| echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv bash)"' >> ~/.bashrc
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv bash)"
sudo apt -y install build-essentialAlmaLinux / Rocky Linux / CentOS Stream:
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo bash
sudo dnf -y install nodejs
echo 'export PATH="$(npm prefix -g)/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo >> ~/.bashrc
grep -qxF 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv bash)"' ~/.bashrc \
|| echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv bash)"' >> ~/.bashrc
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv bash)"
sudo dnf -y update && sudo dnf -y groupinstall "Development Tools" && sudo dnf -y install gcc-c++ makeย
Step 5
Install OpenClaw via an installer script (recommended) or Docker.ย
Installer script (recommended)
Run the official installer script:
curl -fsSL https://openclaw.ai/install.sh | bash
This installs the openclaw CLI (Command Line Interface). By default, an onboarding process starts after installation, which weโll go through in detail in the next section. If you skip or interrupt the onboarding process now, you can start it manually after installation with the command:ย
openclaw onboard --install-daemon
--install-daemon creates a systemd service so the gateway keeps running in the background.
Docker (containerized gateway)
Step 1
First, install Docker and Docker Compose (v2). Start and enable the Docker service:
sudo apt -y update && sudo apt -y install docker.io docker-compose-plugin sudo systemctl enable --now docker
ย
Step 2
Clone the OpenClaw repo and run the Docker setup script:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
./docker-setup.sh
This builds the image, runs the onboarding process (see the next section), and starts the gateway via Compose.ย
ย
Step 3
Open the dashboard and pair your browser (if needed).
Show the dashboard URL without opening it automatically:
docker compose run --rm openclaw-cli dashboard --no-open
(Optional) approve a pairing request
docker compose run --rm openclaw-cli devices list
docker compose run --rm openclaw-cli devices approve
Use the CLI container to pair and link channels.
ย
The OpenClaw onboarding process
ย
The onboarding process has started, and weโll walk through it in detail below. Did you interrupt the process or not start it yet? Then run the command now:
openclaw onboard --install-daemonDuring this process, you adjust selections with the arrow keys. When there are multiple selectable options, use the space bar to make a selection, and in each step press Enter to confirm your choice.
ย
Step 1
First, youโll see a security warning. We recommend reading it carefully; OpenClaw can, depending on your configuration, gain deep access to things like your computer/server, social accounts, and email, and it can cause serious damage if itโs not configured securely (hosting OpenClaw on a VPS already reduces a number of risks).
โ Security โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ
โ Security warning โ please read. โ
โ โ
โ OpenClaw is a hobby project and still in beta. Expect sharp edges. โ
โ This bot can read files and run actions if tools are enabled. โ
โ A bad prompt can trick it into doing unsafe things. โ
โ โ
โ If youโre not comfortable with basic security and access control, donโt run OpenClaw. โ
โ Ask someone experienced to help before enabling tools or exposing it to the internet. โ
โ โ
โ Recommended baseline: โ
โ - Pairing/allowlists + mention gating. โ
โ - Sandbox + least-privilege tools. โ
โ - Keep secrets out of the agentโs reachable filesystem. โ
โ - Use the strongest available model for any bot with tools or untrusted inboxes. โ
โ โ
โ Run regularly: โ
โ openclaw security audit --deep โ
โ openclaw security audit --fix โ
โ โ
โ Must read: https://docs.openclaw.ai/gateway/security โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏOpenClaw then asks for explicit permission to continue the onboarding process. Select โYesโ with the arrow keys and press โEnterโ to give permission.
โ I understand this is powerful and inherently risky. Continue?
โ โ Yes / โ No
โย
Step 2
Press โEnterโ again to select โQuickstartโ as the onboarding method. All parts of the onboarding process are optional, and we discuss the most important ones in separate sections.
โ Onboarding mode
โ โ QuickStart (Configure details later via openclaw configure.)
โ โ Manual
โย
Step 3
You now get the option to select an LLM provider, with two choices:
- Do you want to use a self-hosted model via Ollama? Then select โSkip for nowโ.ย
- Would you rather use one of the available LLM providers? Then grab the OAuth / API key details for your preferred LLM provider now, and select the provider you want.
โ Model/auth provider
โ โ OpenAI
โ โ Anthropic
โ โ MiniMax
โ โ Moonshot AI
โ โ Google
โ โ OpenRouter
โ โ Qwen
โ โ Z.AI (GLM 4.7)
โ โ Copilot
โ โ Vercel AI Gateway
โ โ OpenCode Zen
โ โ Xiaomi
โ โ Synthetic
โ โ Venice AI
โ โ Skip for now
โOpenAI exampleย
For example, if you select OpenAI and want to use an API key, the next options will look like this:
โ QuickStart โโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ
โ Gateway port: 18789 โ
โ Gateway bind: Loopback (127.0.0.1) โ
โ Gateway auth: Token (default) โ
โ Tailscale exposure: Off โ
โ Direct to chat channels. โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โ
โ Model/auth provider
โ OpenAI
โ
โ OpenAI auth method
โ OpenAI API key
โ
โ Enter OpenAI API key
โ a1234-qqw123aa-asdasd1โ
ย
Step 4
In step 5, youโll choose a specific LLM. To keep the choices manageable, you can already select an LLM provider now.
Are you using Ollama or do you want to configure an LLM later? Then press โEnterโ to select โAll providersโ (default) under โFilter models by providersโ.
Did you choose a specific provider in the previous step? Then select it from the list below. In the next step, you can select which model you want to use.
โ Filter models by provider
โ โ All providers
โ โ amazon-bedrock
โ โ anthropic
โ โ azure-openai-responses
โ โ cerebras
โ โ github-copilot
โ โ google
โ โ google-antigravity
โ โ google-gemini-cli
โ โ google-vertex
โ โ groq
โ โ huggingface
โ โ kimi-coding
โ โ minimax
โ โ minimax-cn
โ โ mistral
โ โ openai
โ โ openai-codex
โ โ opencode
โ โ openrouter
โ โ vercel-ai-gateway
โ โ xai
โ โ zai
โย
Step 5
Are you using Ollama or do you want to configure an LLM later? Then press โEnterโ to select โKeep currentโ (default) under โDefault modelโ.
Did you choose a specific provider in the previous step? Then select the desired model from the list that appears; in that case, it will be shorter and will only show models from the provider you selected in the previous menu.
โ Default model
โ โ Keep current (default: anthropic/claude-opus-4-5)
โ โ Enter model manually
โ โ amazon-bedrock/anthropic.claude-3-haiku-20240307-v1:0
โ โ amazon-bedrock/anthropic.claude-3-5-haiku-20241022-v1:0
โ โ amazon-bedrock/global.anthropic.claude-haiku-4-5-20251001-v1:0
โ โ amazon-bedrock/eu.anthropic.claude-haiku-4-5-20251001-v1:0
โ โ amazon-bedrock/anthropic.claude-3-opus-20240229-v1:0
โ โ amazon-bedrock/us.anthropic.claude-opus-4-20250514-v1:0
โ โ amazon-bedrock/us.anthropic.claude-opus-4-1-20250805-v1:0
โ โ amazon-bedrock/global.anthropic.claude-opus-4-5-20251101-v1:0
โ โ amazon-bedrock/eu.anthropic.claude-opus-4-5-20251101-v1:0
โ โ amazon-bedrock/anthropic.claude-3-sonnet-20240229-v1:0
โ โ amazon-bedrock/anthropic.claude-3-5-sonnet-20240620-v1:0
โ โ amazon-bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0
โ โ amazon-bedrock/us.anthropic.claude-3-7-sonnet-20250219-v1:0
โ โ amazon-bedrock/global.anthropic.claude-sonnet-4-20250514-v1:0
โ โ amazon-bedrock/global.anthropic.claude-sonnet-4-5-20250929-v1:0
โ โ amazon-bedrock/eu.anthropic.claude-sonnet-4-5-20250929-v1:0
โ โ amazon-bedrock/cohere.command-r-v1:0
โ โ amazon-bedrock/cohere.command-r-plus-v1:0
โ โ amazon-bedrock/us.deepseek.r1-v1:0
โ โ amazon-bedrock/deepseek.v3-v1:0
โ โ amazon-bedrock/google.gemma-3-4b-it
โ โ amazon-bedrock/google.gemma-3-27b-it
โ โ amazon-bedrock/openai.gpt-oss-safeguard-120b
โ โ amazon-bedrock/openai.gpt-oss-safeguard-20b
โ โ amazon-bedrock/openai.gpt-oss-120b-1:0
โ โ amazon-bedrock/openai.gpt-oss-20b-1:0
โ โ amazon-bedrock/moonshot.kimi-k2-thinking
โ โ amazon-bedrock/meta.llama3-1-70b-instruct-v1:0
โ โ amazon-bedrock/meta.llama3-1-8b-instruct-v1:0
โ โ amazon-bedrock/us.meta.llama3-2-11b-instruct-v1:0
โ โ amazon-bedrock/us.meta.llama3-2-1b-instruct-v1:0
โ โ amazon-bedrock/us.meta.llama3-2-3b-instruct-v1:0
โ โ amazon-bedrock/us.meta.llama3-2-90b-instruct-v1:0
โ โ amazon-bedrock/us.meta.llama3-3-70b-instruct-v1:0
โ โ amazon-bedrock/us.meta.llama4-maverick-17b-instruct-v1:0
โ โ amazon-bedrock/us.meta.llama4-scout-17b-instruct-v1:0
โ โ amazon-bedrock/minimax.minimax-m2
โ โ amazon-bedrock/mistral.ministral-3-14b-instruct
โ โ amazon-bedrock/mistral.ministral-3-8b-instruct
โ โ amazon-bedrock/mistral.mistral-large-2402-v1:0
โ โ amazon-bedrock/global.amazon.nova-2-lite-v1:0
โ โ amazon-bedrock/us.amazon.nova-lite-v1:0
โ โ amazon-bedrock/us.amazon.nova-micro-v1:0
โ โ amazon-bedrock/us.amazon.nova-premier-v1:0
โ โ amazon-bedrock/us.amazon.nova-pro-v1:0
โ โ amazon-bedrock/nvidia.nemotron-nano-12b-v2
โ โ amazon-bedrock/nvidia.nemotron-nano-9b-v2
โ ...
โย
Step 6
Next, you can choose a single channel to communicate with OpenClaw (and then optionally add other options). Later in this article, weโll show in more detail how to configure WhatsApp, Telegram, and Signal. Youโre free to select any of the available options; OpenClaw guides you through the configuration process, and below this overview youโll find an example of what this looks like for Telegram.
โ Select channel (QuickStart)
โ โ Telegram (Bot API)
โ โ WhatsApp (QR link)
โ โ Discord (Bot API)
โ โ Google Chat (Chat API)
โ โ Slack (Socket Mode)
โ โ Signal (signal-cli) (not configured)
โ โ iMessage (imsg)
โ โ Nostr (NIP-04 DMs)
โ โ Microsoft Teams (Bot Framework)
โ โ Mattermost (plugin)
โ โ Nextcloud Talk (self-hosted)
โ โ Matrix (plugin)
โ โ BlueBubbles (macOS app)
โ โ LINE (Messaging API)
โ โ Zalo (Bot API)
โ โ Zalo (Personal Account)
โ โ Tlon (Urbit)
โ โ Skip for now
โExample with Telegram
Follow the steps below. The easiest way is to log in via your browser at https://web.telegram.org and go through the steps there.ย
โ Select channel (QuickStart)
โ Telegram (Bot API)
โ
โ Telegram bot token โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ
โ 1) Open Telegram and chat with @BotFather โ
โ 2) Run /newbot (or /mybots) โ
โ 3) Copy the token (looks like 123456:ABC...) โ
โ Tip: you can also set TELEGRAM_BOT_TOKEN in your env. โ
โ Docs: https://docs.openclaw.ai/telegram โ
โ Website: https://openclaw.ai โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โ
โ Enter Telegram bot token
โ 853442:AAFCUHWfCem-rwLwCRWSJW4
โ
ย
Step 7
You now choose the โskillsโ OpenClaw can use. This largely determines what OpenClaw can do, beyond chatting in a way similar to ChatGPT.ย
- Select โYesโ for the question โConfigure skills now?โ
- Select โNoโ for the question โShow Homebrew install command?โ
- Select โNPMโ as โPreferred node manager for skill installsโ.
- Select one or more skills with the space bar and press โEnterโ to install them. Some of these skills require external API keysโfor example, generating images via nano-banana-pro uses Gemini Pro 3 Image preview and requires an API key from Googleโs AI Studio.
A few skills that are useful to install right away and donโt require API keys are:- The Clawhub skill: later, easily add more skills to OpenClaw that arenโt listed here but are available via Clawhub (the website where people can share new skills).ย
- Nano-pdf: this allows OpenClaw to modify PDF files
- OpenAI-whisper: installs a local Speech-to-Text module. This will allow you to send voice messages to OpenClaw later via WhatsApp, Telegram, or Signal that OpenClaw can respond to. Note: in one test, we ran into a bug. There is a non-API and an API version for the STT module and the API version one was used instead. Does this happen to you? Correct it in the web dashboard in the โskillsโ page.
- Summarize: a skill that allows OpenClaw to summarize URLs, podcasts, and (text) files.
โ Skills status โโโโโโโโโโโโโฎ
โ โ
โ Eligible: 4 โ
โ Missing requirements: 45 โ
โ Blocked by allowlist: 0 โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โ
โ Configure skills now? (recommended)
โ Yes
โ
โ Homebrew recommended โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ
โ Many skill dependencies are shipped via Homebrew. โ
โ Without brew, you'll need to build from source or download releases manually. โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โ
โ Show Homebrew install command?
โ No
โ
โ Preferred node manager for skill installs
โ โ npm
โ โ pnpm
โ โ bun
โ Install missing skill dependencies
โ โป Skip for now (Continue without installing dependencies)
โ โป ๐ 1password
โ โป ๐ apple-notes
โ โป โฐ apple-reminders
โ โป ๐ป bear-notes
โ โป ๐ฆ bird
โ โป ๐ฐ blogwatcher
โ โป ๐ซ blucli
โ โป ๐ธ camsnap
โ โป ๐งฉ clawhub
โ โป ๐๏ธ eightctl
โ โป โ๏ธ gemini
โ โป ๐งฒ gifgrep
โ โป ๐ github
โ โป ๐ฎ gog
โ โป ๐ goplaces
โ โป ๐ง himalaya
โ โป ๐จ imsg
โ โป ๐ฆ mcporter
โ โป ๐ model-usage
โ โป ๐ nano-banana-pro
โ โป ๐ nano-pdf
โ โป ๐ obsidian
โ โป ๐๏ธ openai-whisper
โ โป ๐ก openhue
โ โป ๐งฟ oracle
โ โป ๐ต ordercli
โ โป ๐ peekaboo
โ โป ๐ฃ๏ธ sag
โ โป ๐ songsee
โ โป ๐ sonoscli
โ โป ๐งพ summarize
โ โป โ
things-mac
โ โป ๐๏ธ video-frames
โ โป ๐ฑ wacli
โย
Step 8
Finally, you can enable hooks. We recommend selecting the bottom three options. In simple terms, hooks allow you to automate actions that trigger automatically based on agent events and commands. We recommend reading this page about hooks, and also taking a look at whatโs possible with webhooks.
โ Enable hooks?
โ โป Skip for now
โ โผ ๐ boot-md (Run BOOT.md on gateway startup)
โ โผ ๐ command-logger (Log all command events to a centralized audit file)
โ โผ ๐พ session-memory (Save session context to memory when /new command is issued)
โย
Step 9
Youโll now see a number of messages, but the most important part is the block below.ย
- First, write down the token value in the URL under โWeb UI (with token)โ
- At the end, youโll be asked how you want to hatch the bot. Are you using an external LLM provider such as OpenAI/Anthropic? Then press โEnterโ to select the default option โHatch in TUIโ (Terminal User Interface).ย
Are you using Ollama? Then select โDo this laterโ and continue to the next section. - If you choose โDo this laterโ, youโll then be asked whether you want to install a shell completion script. Select โYesโ if you see this prompt.
โ Control UI โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ
โ Web UI: http://127.0.0.1:18789/ โ
โ Web UI (with token): โ
โ http://127.0.0.1:18789/?token=e734015d3d31a19481f56875a3191c2 โ
โ Gateway WS: ws://127.0.0.1:18789 โ
โ Gateway: reachable โ
โ Docs: https://docs.openclaw.ai/web/control-ui โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โ
โ Start TUI (best option!) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ
โ This is the defining action that makes your agent you. โ
โ Please take your time. โ
โ The more you tell it, the better the experience will be. โ
โ We will send: "Wake up, my friend!" โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โ
โ Token โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ
โ Gateway token: shared auth for the Gateway + Control UI. โ
โ Stored in: ~/.openclaw/openclaw.json (gateway.auth.token) or OPENCLAW_GATEWAY_TOKEN. โ
โ Web UI stores a copy in this browser's localStorage (openclaw.control.settings.v1). โ
โ Get the tokenized link anytime: openclaw dashboard --no-open โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โ
โ How do you want to hatch your bot?
โ โ Hatch in TUI (recommended)
โ โ Open the Web UI
โ โ Do this later
โย
Step 10
OpenClaw would now like to learn more about who you want OpenClaw to be: what your botโs name will be, what kind of โvibeโ you want in your interactions, and what role it should fulfill. OpenClaw also wants to know who you are. Youโll therefore see a message like:
session agent:main:main
Wake up, my friend!
Hey! Just woke up in this fresh workspace. I'm a blank slate right nowโwho am I supposed to be? What's my name, vibe, or role? And who are you? Let's figure this out together. ๐For example, something along the lines of:
โYou are <name>. You are a helpful, highly skilled assistant. Your vibe in general is warm, supportive, friendly, with a sense of humour.
As for who I am, my name is <name>. I'm a <job description> and live in <city, country>. I generally like <interests, hobbies, w/e>. Please let me know if you'd like to know anything else about me or yourself. Also, anything else you'd recommend that I should know or tweak about you?"Based on your first response, youโll get a number of tips on what you can tweak, for example:
1. Proactivity prefs: HEARTBEAT.md is empty, so I'm not pinging you periodically (e.g., email checks, calendar nudges). Want me to set up light heartbeats (2-3x/day) for weather, urgent emails, or "hey, gym time?" Or cron for
precise stuff like "remind me to read at 8 PM"?
2. External actions: Per my soul (SOUL.md), I ask before emailing/tweeting/posting publicly. Cool? Or greenlight certain channels?
3. Voice fun: If TTS kicks in for stories or summaries, any fave voices? (E.g., warm British for sci-fi recaps.)
4. Your world: <questions based on what you said before>Thatโs it! After the conversation youโre in now, OpenClaw is good to go. When chatting with OpenClaw, you can change a lot simply by asking questions and answering the questions OpenClaw asks you in return. Ready? Then use ctrl + c to exit the TUI.ย
ย
Connecting to the OpenClaw dashboard (GUI) from your own computer/laptop
ย
For this guide, we assume youโre installing OpenClaw on a VPS. For example, if you install OpenClaw on a VPS running Ubuntu without a desktop environment, you canโt simply open a browser to manage the OpenClaw dashboard. Thereโs a relatively simple and secure way to still access the OpenClaw dashboard: by setting up an SSH tunnel. You can do this easily from the terminal/PowerShell/WSL on your own computer or laptop with a single command:
ssh -N -L 18789:127.0.0.1:18789 -p 12345 username@123.123.123.123Replace in this command:
- 12345 with the port number you use for SSH connections. Havenโt changed the port? Then use -p 22 (or omit it).
- username with the username you used to connect to your VPS
- 123.123.123.123 with the IP address or a (sub)domain name that points to your VPS (e.g., claw.example.nl).ย
Open your browser on the computer/laptop where you set up the SSH tunnel and go to 127.0.0.1:18789. Youโll now land in the OpenClaw dashboardโsee the section below.
ย
Using the OpenClaw dashboard
ย
Logging in for the first time
When you open the OpenClaw dashboard via 127.0.0.1:18789, youโll see an error message like in the screenshot below. This error occurs because youโre not including the token in the URL, for example: http://127.0.0.1:18789/?token=e734015d3d31a19481f56875a3191c2ย
This is an intentional choice: itโs easier to configure the token once and then always use the address 127.0.0.1:18789.

Click โOverviewโ and paste the token you copied under โGateway tokenโ, then click โConnectโ. The status will change to โConnectedโ and you can use the dashboard without further issues.

ย
Chatting with OpenClaw via the dashboard
ย
To start a chat with OpenClaw, simply click โChatโ in the left-hand menu and you can begin a chat session right away.ย

Note: out of the box, both the command-line TUI and the web dashboard will also show system messages in the chat that you wonโt see in your conversations in a channel such as Telegram. You can safely ignore these messages as long as OpenClaw works properly via your chosen communication channel.
ย
Adding/enabling existing skills
ย
OpenClaw comes with a wide range of skills you can use out of the box, simply by enabling them. Click โSkillsโ in the left-hand menu and enable the skills you want. Note that some require API keys from external systems to work.

ย
OpenClaw security
ย
OpenClaw is a powerful agent that can potentially pose a significant security risk. For example, if you connect OpenClaw to your work email, you are potentially trusting an AI agentโand the LLM connected to itโto manage your email correctly.ย
To use OpenClaw as safely as possible, we recommend the following steps:
- Read the security tips at https://docs.openclaw.ai/gateway/securityย
- Donโt install OpenClaw on a computer or laptop that contains personal/company data; instead, use a VPS, for example.
- Run a security audit of your OpenClaw setup:
openclaw security audit --deep
ย
Linking a new communication channel
ย
Want to add another communication channel to OpenClaw laterโfor example, WhatsApp? Then there are two easy options:
ย
- Ask OpenClaw to add the communication channel, for example via the TUI, the web dashboard, or an existing communication channel.
- Run the onboarding again via the command
openclaw onboard
ย
Using a local model (LLM) via Ollama
ย
Ollama allows you to host an open-source LLM on your own hardware. This can reduce costs, and it keeps your data with you instead of sending conversations to an external LLM provider.
Installing Ollama is outside the scope of this guide, but we explain it in our article โhosting Deepseek yourselfโ.
ย
Manual configuration (recommended)
Step 1
Open the OpenClaw configuration:
nano .openclaw/openclaw.json
ย
Step 2
Under models.providers, add this block and adjust it (thereโs a good chance the block is not yet present in your configuration):
"models": {
"providers": {
"ollama": {
"baseUrl": "http://127.0.0.1:11434/v1",
"apiKey": "ollama-local",
"api": "openai-completions",
"models": [
{
"id": "gpt-oss:20b",
"name": "GPT oss 20b",
"reasoning": true,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 128000,
"maxTokens": 8192
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "ollama/gpt-oss:20b"
},
"models": {
"ollama/gpt-oss:20b": {
"alias": "gpt-oss:20b"
}
},
"workspace": "/home/testtransip/.openclaw/workspace",
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
},
The baseUrl and api use Ollamaโs OpenAI compatibility layer (Chat/Completions API). Replace the placeholders with the correct model ID/name (in this example gpt-oss:20b).
ย
Step 2
Set your default model to Ollama:
openclaw models set ollama/gpt-oss:20b
If needed, replace gpt-oss:20b with the name of your model.
Launch via Ollama
Is Ollama already running on the VPS? Start the integration directly:
ollama launch openclaw
Or generate the configuration without starting OpenClaw:ย
ollama launch openclaw --config
OpenClaw reloads the configuration automatically. We recommend models such as gpt-oss:20b and gpt-oss:120b.
ย
Using another AI model (LLM)
ย
There are three options to use another AI model (LLM), ranging from easy to more advanced:
- Ask OpenClaw to change it for you.
- Run the onboarding again with the command:
openclaw onboard - Via the command line; using the three commands below, for example, you add OpenAIโs gpt-5-mini as an alias, set it as the default, and restart the gateway to apply the changes.
openclaw models aliases add g5mini openai/gpt-5-mini
openclaw models set openai/gpt-5-mini
openclaw gateway restartย
Whatโs next with OpenClaw?
ย
To get started: talk to OpenClaw! Want to configure โsomething,โ like a new skill? Simply ask OpenClaw about it and it will tell you what to do next.ย
Prefer a GUI? Just as easy: connect to the OpenClaw dashboard and go to the โSkillsโ page.
ย
Troubleshooting & Management
ย
There are a number of useful commands to manage OpenClaw and to know when thereโs an issue and you arenโt getting any output back from OpenClaw via the TUI, chat in the web dashboard, or your chosen communication channel. In other cases, itโs easiest to simply talk to OpenClaw directly.
ย
Update OpenClaw
openclaw updateย
OpenClaw health check
For a quick check, especially whether channels are OK
openclaw healthย
OpenClawโs status
Check OpenClawโs status in significantly more detail than with the health command
openclaw statusย
Gateway status
openclaw gateway statusย
Checking available OpenClaw models
openclaw model listย
Checking OpenClaw model status
openclaw model statusย
Viewing logs
openclaw logsย
OpenClaw doctor
Try to automatically fix issues, as long as theyโre not related to your LLM configuration:
openclaw doctor --fix