{"id":71770,"date":"2026-09-10T04:23:55","date_gmt":"2026-09-10T01:23:55","guid":{"rendered":"https:\/\/lwallet.com.ua\/?p=71770"},"modified":"2026-09-10T17:34:09","modified_gmt":"2026-09-10T14:34:09","slug":"openclaw-2-0-setup","status":"publish","type":"post","link":"https:\/\/lwallet.com.ua\/en\/openclaw-2-0-setup\/","title":{"rendered":"OpenClaw 2.0 Setup: A Detailed Guide to Creating Your Own AI Agent"},"content":{"rendered":"\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>OpenClaw 2.0 setup turns a regular AI model into a full-fledged personal agent.<\/strong> AI agents can already do far more than a standard chat: they can work with files, calendars, and email, run commands, search for information, and automate routine tasks. <a href=\"https:\/\/openclaw.ai\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">OpenClaw<\/a> quickly became one of the most prominent open-source projects in this space and gathered hundreds of thousands of stars on <a href=\"https:\/\/github.com\/openclaw\/openclaw\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">GitHub<\/a> within just a few months.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">I have been following the development of AI tools for a long time, and OpenClaw caught my attention because an agent like this can become part of your everyday workflow: you can give it the tools it needs, access to files and services, and real tasks to handle. In this guide, I will show you step by step how to install OpenClaw 2.0 and set up your own AI agent for everyday work.<\/p>\r\n\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>OpenClaw 2.0 is the official name of the <a href=\"https:\/\/docs.openclaw.ai\/releases\/2026.8.1\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">v2026.8.1<\/a> release.<\/strong> It was followed by v2026.8.2, v2026.9.1, v2026.9.2, and v2026.9.3. <strong>This guide is based on my own hands-on experience: I installed OpenClaw from scratch, went through onboarding, connected a model, Telegram, memory, web search, and other features, and figured out how everything works in practice along the way.<\/strong> I used the official documentation to verify commands, current settings, and the changes introduced after the first 2.0 release.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">What OpenClaw is and what it can do<\/h2>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic2-1024x573.jpg\" alt=\"Timeline of Clawdbot, Moltbot, OpenClaw, and OpenClaw 2.0\" class=\"wp-image-71608\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic2-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic2-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic2-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic2-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic2-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic2-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic2.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Project history: from a weekend project to a global phenomenon<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">It all started in November 2025, when Austrian developer Peter Steinberger published a weekend project called Clawdbot. The idea was simple: you message it in Telegram or WhatsApp, and it does things for you \u2014 manages your calendar, sorts through email, runs scripts, and searches the web.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">In January 2026, the project began gaining traction rapidly. After Anthropic asked for the Clawdbot name to be changed, it was first renamed Moltbot and soon after became OpenClaw. The project continued to grow under that name.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Later, the project was transferred to the independent OpenClaw Foundation, where it continued to develop as an open-source project.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">On August 31, 2026, version v2026.8.1 was released and documented as OpenClaw 2.0. It significantly changed installation, initial setup, memory, automations, and security.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">What changed in version 2.0<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Version 2.0 reworked several important parts of OpenClaw:<\/strong><\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li><strong>Simpler installation.<\/strong> During initial setup, OpenClaw checks whether you already have access to a model through Claude Code or Codex, an API key in environment variables, or a local model. If you do, there is very little to configure manually before the first conversation.<\/li>\r\n\r\n\r\n\r\n<li><strong>The Control UI web interface was significantly redesigned.<\/strong> You can use it to chat with the agent, view files, approval requests, settings, and current tasks.<\/li>\r\n\r\n\r\n\r\n<li><strong>Sessions and transcripts moved to SQLite.<\/strong> They used to be stored in files. This matters when upgrading \u2014 I\u2019ll cover the details below.<\/li>\r\n\r\n\r\n\r\n<li>Memory gained semantic search. The agent can find relevant passages in its Markdown files by meaning, even when your query uses different wording.<\/li>\r\n\r\n\r\n\r\n<li>Skill Workshop now brings together creating and updating your own skills with a review step before changes are applied.<\/li>\r\n\r\n\r\n\r\n<li>In the user interface, Cron jobs are now called Automations. The command line uses <code>openclaw automations<\/code>, while <code>openclaw cron<\/code> remains available for compatibility with older scripts.<\/li>\r\n\r\n\r\n\r\n<li><strong>The default settings are safer.<\/strong> In a standard local installation, Gateway binds to loopback by default and access is protected by authentication. Docker and shared Gateways have additional nuances that I\u2019ll cover later.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">How an agent differs from a regular chatbot<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>A regular chat mostly responds with text.<\/strong> OpenClaw gives the model access to tools: the agent can read a file, run a command, create a task, or perform another permitted action. For me, that is the key difference.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">For example, OpenClaw can:<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li>Read and create files on your computer<\/li>\r\n\r\n\r\n\r\n<li>Run commands in the terminal<\/li>\r\n\r\n\r\n\r\n<li>Browse the web and fill out forms<\/li>\r\n\r\n\r\n\r\n<li>Send emails and messages<\/li>\r\n\r\n\r\n\r\n<li>Work with APIs from different services<\/li>\r\n\r\n\r\n\r\n<li>Automate tasks across different apps<\/li>\r\n\r\n\r\n\r\n<li>Remember context across sessions<\/li>\r\n\r\n\r\n\r\n<li>And much more<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">And it can do all of this through the familiar interface of your messaging app. You simply write in Telegram, \u201cSort through my inbox, delete spam, and make a list of the important emails,\u201d and it does it. It does not explain how to do the task \u2014 it actually carries it out.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Runs on your own hardware 24\/7<\/h3>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic3-1024x573.jpg\" alt=\"OpenClaw architecture: Gateway, AI model, messengers, Skills, and memory\" class=\"wp-image-71611\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic3-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic3-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic3-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic3-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic3-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic3-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic3.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Gateway, the workspace, and agent data can live on your computer or server.<\/strong> That does not mean all data stays only with you: Claude, GPT, Gemini, cloud-based web search, and messaging services receive the requests OpenClaw sends through their platforms. OpenClaw can operate fully locally when you use a local model and no cloud integrations. On a VPS, the agent can run around the clock even when your main computer is turned off.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">What file-system access gives the agent<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>When the agent has access to files, it can work with your actual materials instead of only replying in chat.<\/strong> OpenClaw can:<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li>Create and edit documents, code, and configuration files<\/li>\r\n\r\n\r\n\r\n<li>Organize files by renaming, sorting, and converting them<\/li>\r\n\r\n\r\n\r\n<li>Create backups and work with Git<\/li>\r\n\r\n\r\n\r\n<li>Analyze CSV, JSON, and logs<\/li>\r\n\r\n\r\n\r\n<li>Generate reports and save them<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If the agent has the tools and permissions it needs, it can receive a task from a message, work with files and code, review the changes, and prepare a pull request on GitHub.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">What you need before you start<\/h2>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic4-1024x573.jpg\" alt=\"What you need to install OpenClaw: Node.js, an AI model, Telegram, and a computer or VPS\" class=\"wp-image-71614\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic4-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic4-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic4-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic4-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic4-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic4-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic4.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Before installing OpenClaw, make sure you have everything you need.<\/strong><\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Required Node.js version<\/h3>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic5-1-1024x573.jpg\" alt=\"Official Node.js download page for installing OpenClaw\" class=\"wp-image-71620\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic5-1-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic5-1-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic5-1-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic5-1-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic5-1-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic5-1-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic5-1.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>This is a hard requirement.<\/strong> OpenClaw runs on Node.js, so older versions simply will not work. Check your version:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>node --version<\/code><\/pre>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic6-1024x573.jpg\" alt=\"Checking Node.js 26 in the terminal\" class=\"wp-image-71623\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic6-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic6-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic6-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic6-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic6-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic6-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic6.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>OpenClaw currently requires <a href=\"https:\/\/docs.openclaw.ai\/install\/node\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Node 24.16+ or 26.1+<\/a><\/strong>, and Node 26 is recommended. Node 22, 23, and 25 are no longer supported. If you install Node manually, use at least v24.16.0 or v26.1.0.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If Node.js is not installed, the official installer can add it for you: Node 26 on macOS and a supported Node 24 LTS branch on Linux. If Node.js is already installed but the version is unsupported, update it before launching OpenClaw. CLI installation on macOS with a current Node version requires macOS 13.5 or later.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Git on Windows: when you need it<\/h3>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic7-1024x573.jpg\" alt=\"Official Git for Windows download page\" class=\"wp-image-71626\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic7-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic7-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic7-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic7-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic7-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic7-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic7.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>You usually do not need a separate Git installation for the standard PowerShell setup.<\/strong> Git is required if you deliberately install OpenClaw from a Git repository. If a normal installation fails with an error such as <code>spawn git ENOENT<\/code>, rerun the installer or install Git for Windows manually.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">On macOS, start by checking <code>git --version<\/code>. If Git is not available yet, macOS may offer to install the Command Line Tools; you do not always need to install Git separately through Homebrew.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Access to an AI model<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>OpenClaw is not a language model.<\/strong> For the agent to respond and carry out tasks, it needs access to an LLM. During initial setup, OpenClaw checks which options are already available on your computer and then asks you to choose a provider.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The most common options are:<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li><strong>Anthropic<\/strong> \u2014 Claude through an API key or Claude CLI.<\/li>\r\n\r\n\r\n\r\n<li><strong>OpenAI<\/strong> \u2014 GPT models through the API or a supported sign-in method.<\/li>\r\n\r\n\r\n\r\n<li><strong>Google Gemini<\/strong> \u2014 through Google AI Studio \/ API.<\/li>\r\n\r\n\r\n\r\n<li><strong>Local models<\/strong> \u2014 for example through Ollama or LM Studio.<\/li>\r\n<\/ul>\r\n\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>You do not need to connect anything manually at this stage.<\/strong> Below, during the actual onboarding flow, I will show the provider selection, authentication method, model selection, and transition to Dashboard in the same order they appear in OpenClaw.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Telegram bot through @BotFather<\/h3>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic8-1024x573.jpg\" alt=\"Creating a Telegram bot with BotFather and getting its token\" class=\"wp-image-71629\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic8-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic8-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic8-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic8-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic8-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic8-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic8.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>To connect Telegram, you need a bot token from <a href=\"https:\/\/t.me\/BotFather\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">@BotFather<\/a>.<\/strong> The process takes about two minutes:<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li>Open @BotFather in Telegram<\/li>\r\n\r\n\r\n\r\n<li>Send the \/newbot command or choose it from the command list<\/li>\r\n\r\n\r\n\r\n<li>Give the bot a name and username<\/li>\r\n\r\n\r\n\r\n<li>Copy the token<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Save this token \u2014 you will need it during setup. In OpenClaw 2.0, Telegram no longer has to be connected before your first conversation: you can start the agent in the browser first and add Telegram later.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Computer or VPS<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">You have two main options:<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li><strong>Local computer (Mac\/Linux\/Windows)<\/strong> \u2014 best for testing and getting started.<\/li>\r\n\r\n\r\n\r\n<li><strong>VPS (Virtual Private Server)<\/strong> \u2014 a good option for 24\/7 operation. Keep the system updated, configure a firewall, make backups, and make sure the server has enough resources for your setup.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>I recommend starting on a local computer<\/strong> so you can understand how OpenClaw works first, then move to a VPS later if you need 24\/7 operation.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">How to install OpenClaw 2.0: step-by-step<\/h2>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic9-1024x573.jpg\" alt=\"Installing OpenClaw 2.0 on macOS and Windows from the terminal\" class=\"wp-image-71632\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic9-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic9-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic9-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic9-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic9-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic9-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic9.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n<p>[vc_message color=&#8221;warning&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-warning&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>Upgrading from 1.x?<\/strong> <strong>Create and verify a backup before you upgrade:<\/strong> <code>openclaw backup create --verify<\/code>. In 2.0, sessions and transcripts moved to SQLite, so you cannot safely roll back to the old file-based version without preparing first: new sessions simply will not appear there.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Installing on macOS<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Step 1. Install <a href=\"https:\/\/brew.sh\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Homebrew<\/a> (optional)<\/strong><\/p>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic10-1024x573.jpg\" alt=\"Successful Homebrew installation in macOS Terminal\" class=\"wp-image-71635\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic10-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic10-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic10-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic10-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic10-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic10-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic10.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Homebrew is a package manager for macOS. OpenClaw no longer requires it: the installation script can install Node.js for you if it is missing. Still, Homebrew makes it easier to manage versions.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Check whether Homebrew is already installed:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>brew --version<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If the command is not found, install Homebrew. Open Terminal and paste:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>\/bin\/bash -c \"$(curl -fsSL https:\/\/raw.githubusercontent.com\/Homebrew\/install\/HEAD\/install.sh)\"<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Follow the instructions in Terminal. When installation finishes, restart Terminal so the <code>brew<\/code> command is available.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Step 2. Install Node.js<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">OpenClaw can install <a href=\"https:\/\/nodejs.org\/en\/download\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Node.js<\/a> automatically, but I prefer installing it separately so you know exactly which version is on the system and avoid dependency issues later.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>brew install node<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Check that the installation worked:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>node --version<\/code><\/pre>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic11-1024x573.jpg\" alt=\"Checking Node.js 26 after installing it with Homebrew\" class=\"wp-image-71638\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic11-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic11-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic11-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic11-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic11-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic11-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic11.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The command should return one of the supported Node versions. If you are starting from scratch, the easiest choice is the recommended Node 26.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Step 3. Install OpenClaw<\/strong><\/p>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic12-1024x573.jpg\" alt=\"Official OpenClaw website with the macOS installation command\" class=\"wp-image-71641\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic12-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic12-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic12-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic12-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic12-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic12-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic12.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Open the <a href=\"https:\/\/openclaw.ai\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">official OpenClaw website<\/a> \u2014 it provides a ready-to-use installation command.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Select the macOS command, open Terminal, and paste the copied line:<\/p>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic13-1024x573.jpg\" alt=\"Installing OpenClaw from macOS Terminal\" class=\"wp-image-71644\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic13-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic13-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic13-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic13-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic13-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic13-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic13.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>curl -fsSL https:\/\/openclaw.ai\/install.sh | bash<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">This script checks Node.js, installs it if necessary, adds the OpenClaw CLI system-wide, and launches the setup wizard.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The installer also handles PATH correctly and is safer to rerun: if setup is interrupted, your existing configuration stays intact.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If the setup wizard does not start automatically, run:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw onboard<\/code><\/pre>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic14-1024x573.jpg\" alt=\"Finishing the OpenClaw installation on macOS and launching the setup wizard\" class=\"wp-image-71647\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic14-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic14-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic14-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic14-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic14-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic14-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic14.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Step 4 (optional). Install the OpenClaw app for macOS<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">OpenClaw also has a separate macOS app with a graphical interface. Its icon appears in the menu bar, where you can quickly open the agent and manage Gateway without keeping Terminal open.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Download <code>OpenClaw-&lt;version&gt;.dmg<\/code> from the <a href=\"https:\/\/github.com\/openclaw\/openclaw\/releases\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">GitHub releases page<\/a>, install it, and launch OpenClaw.app. If you open it from Downloads, OpenClaw will offer to move itself to Applications, where updates and launch-at-login work correctly.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">After installation, a lobster icon appears in the menu bar. From there you can start and stop Gateway, see the agent status, and open Control UI quickly \u2014 all without using the terminal.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Installing on Windows<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>On Windows, the simplest option with a graphical interface is currently Windows Hub.<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Option A (recommended): Windows Hub<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">This is a signed Windows installer with a setup wizard, a system-tray icon, agent chat, and node mode. <strong>Windows Hub supports Windows 10 20H2+ and Windows 11.<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Download the build that matches your system:<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li><strong><a href=\"https:\/\/github.com\/openclaw\/openclaw-windows-node\/releases\/latest\/download\/OpenClawCompanion-Setup-x64.exe\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">OpenClawCompanion-Setup-x64.exe<\/a><\/strong> \u2014 for standard Intel and AMD PCs<\/li>\r\n\r\n\r\n\r\n<li><strong><a href=\"https:\/\/github.com\/openclaw\/openclaw-windows-node\/releases\/latest\/download\/OpenClawCompanion-Setup-arm64.exe\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">OpenClawCompanion-Setup-arm64.exe<\/a><\/strong> \u2014 for Windows on ARM devices<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If you are not sure which build you need, check the <a href=\"https:\/\/docs.openclaw.ai\/platforms\/windows\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">official Windows guide<\/a> or the <a href=\"https:\/\/github.com\/openclaw\/openclaw-windows-node\/releases\/latest\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">latest stable Windows Hub release page<\/a>. <strong>Most Intel and AMD PCs need x64<\/strong>; ARM64 is only for Windows devices with ARM processors.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Option B: PowerShell installer<\/strong><\/p>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic15-1024x573.jpg\" alt=\"Using PowerShell on Windows to install OpenClaw\" class=\"wp-image-71650\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic15-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic15-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic15-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic15-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic15-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic15-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic15.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If you prefer working from the terminal:<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Step 1. Install Node.js<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If you want to prepare the environment manually, install a current supported version of Node.js from <a href=\"https:\/\/nodejs.org\/en\/download\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">nodejs.org<\/a>. The PowerShell installer can also install Node for you if needed.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Step 2 (if needed). Install Git<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If you choose installation from a Git repository, or PowerShell reports that Git is missing, install it from <a href=\"https:\/\/git-scm.com\/download\/win\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">git-scm.com<\/a>. You can usually skip this step for the standard npm-based installation.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Open PowerShell and verify that everything is available:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>node --version\r\n# If Git is installed:\r\ngit --version<\/code><\/pre>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic16-1024x573.jpg\" alt=\"Checking Node.js and Git in Windows PowerShell\" class=\"wp-image-71653\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic16-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic16-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic16-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic16-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic16-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic16-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic16.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Step 3. Install OpenClaw<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Open PowerShell (not cmd) and run:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>iwr -useb https:\/\/openclaw.ai\/install.ps1 | iex<\/code><\/pre>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic17-1024x573.jpg\" alt=\"Installing OpenClaw with PowerShell on Windows\" class=\"wp-image-71656\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic17-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic17-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic17-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic17-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic17-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic17-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic17.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>Note:<\/strong> the current Windows command is <code>iwr -useb https:\/\/openclaw.ai\/install.ps1 | iex<\/code>. Avoid copying older variants that wrap <code>powershell -c \"irm ... | iex\"<\/code> inside another command.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The PowerShell installer installs Node.js when necessary and updates PATH. If you choose installation from a Git repository, it can also prepare a local MinGit when Git is not already installed.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">WSL2 is also supported. For a typical local agent on Windows, however, Windows Hub or the PowerShell installer is usually simpler.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Alternative method: Docker<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Docker makes sense if you want a separate Gateway in a container or are setting up a server deployment.<\/strong> For a normal desktop installation, the <a href=\"https:\/\/docs.openclaw.ai\/install\/docker\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">official documentation<\/a> recommends starting with the standard installation.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>From the root of the official repository<\/strong>, the simplest supported setup is:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>.\/scripts\/docker\/setup.sh<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If you do not want to build the image locally, specify the official prebuilt image:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>export OPENCLAW_IMAGE=\"ghcr.io\/openclaw\/openclaw:latest\"\r\n.\/scripts\/docker\/setup.sh<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>A container isolates OpenClaw only within the permissions you give it.<\/strong> Host access depends on mounted directories, the Docker socket, network access, and any other privileges passed into the container.<\/p>\r\n\r\n\r\n<p>[vc_message color=&#8221;warning&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-warning&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>Docker has one important networking detail:<\/strong> <code>setup.sh<\/code> typically uses <code>bind=lan<\/code> inside the container so port <code>18789<\/code> is reachable from the host. On a VPS, <strong>do not expose this port publicly<\/strong>: keep it behind a firewall and connect through an SSH tunnel or another protected channel.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">OpenClaw 2.0 setup<\/h2>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic18-1024x573.jpg\" alt=\"OpenClaw 2.0 setup in the terminal: current onboarding wizard\" class=\"wp-image-71659\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic18-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic18-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic18-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic18-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic18-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic18-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic18.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Initial setup: what the current onboarding flow looks like<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>After installation, the OpenClaw setup wizard usually starts automatically.<\/strong> If it does not, launch it manually:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw onboard<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">On a fresh local installation, OpenClaw first offers two options:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>How would you like to start?\r\n\r\nQuick start (recommended)\r\nCustom setup<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Quick start<\/strong> is the fastest route. OpenClaw uses sensible defaults, automatically checks which AI connection methods are available, asks you to choose one, and opens Dashboard after the connection test succeeds.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Custom setup<\/strong> is the more detailed path. It lets you step through the security confirmation, telemetry, agent name, access mode, and other settings manually.<\/p>\r\n\r\n\r\n<p>[vc_message color=&#8221;warning&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-warning&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>I used Custom setup for my own installation, so that is the path I will show below.<\/strong> It takes a little longer, but it also makes it much clearer what OpenClaw is actually configuring.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h4 class=\"nm-block-heading wp-block-heading\">1. Security confirmation<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The wizard first asks you to confirm that you understand OpenClaw&#8217;s access model:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>I understand this is personal-by-default and shared\/multi-user use requires lock-down. Continue?<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">For a standard personal installation, choose <strong>Yes<\/strong> and continue.<\/p>\r\n\r\n\r\n\r\n<h4 class=\"nm-block-heading wp-block-heading\">2. Telemetry<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Next, OpenClaw asks whether you want to send usage statistics:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>Help make OpenClaw better?<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">This step is <strong>optional<\/strong>. In my setup, I chose <strong>No thanks<\/strong> and continued.<\/p>\r\n\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p>OpenClaw clearly states that telemetry covers technical usage statistics such as channels, providers, and the number of plugins. Messages and identifiers are not included. You can see exactly what is sent with <code>openclaw telemetry show<\/code>, and telemetry can be enabled or disabled later.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h4 class=\"nm-block-heading wp-block-heading\">3. Name your first agent<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The next step is the agent name:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>What should we call your first agent?<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">I named my agent <strong>Jarvis<\/strong>. You can choose any name here; I\u2019ll cover the agent\u2019s personality and rules in more detail later.<\/p>\r\n\r\n\r\n\r\n<h4 class=\"nm-block-heading wp-block-heading\">4. How OpenClaw will look for AI access<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The wizard then asks:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>How should I set things up?<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">In my case, I selected:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>Full access \u2014 find everything automatically<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>In this mode, OpenClaw checks the local environment for AI access methods that are already available.<\/strong> The wizard shows what it found, and you choose the connection you want to use next.<\/p>\r\n\r\n\r\n\r\n<h4 class=\"nm-block-heading wp-block-heading\">5. AI detection<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">After the scan, you will see:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>AI detection complete.<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">OpenClaw then shows exactly what it found. In my case, it detected an installed copy of Claude Code:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>AI found\r\n\r\nClaude Code \u2014 installed; login status unverified<\/code><\/pre>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic19-1024x573.jpg\" alt=\"OpenClaw AI detection showing an installed copy of Claude Code\" class=\"wp-image-71662\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic19-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic19-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic19-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic19-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic19-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic19-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic19.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>The AI found label does not mean that option has already been selected for the agent.<\/strong> OpenClaw is only showing the access methods it detected. Choose the connection you actually want and continue.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If OpenClaw found a model connection that works for you, you can use it. If not, the next section shows how to connect a provider manually using Anthropic as the example.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Choosing a provider, authentication method, and model<\/h3>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic20-1024x573.jpg\" alt=\"Choosing Anthropic as the AI model provider in OpenClaw\" class=\"wp-image-71668\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic20-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic20-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic20-768x430.jpg 768w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic20-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic20-350x196.jpg 350w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic20-680x381.jpg 680w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic20.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>After AI detection, OpenClaw moves on to provider selection.<\/strong> This is where you decide which AI platform the agent will use. I chose <strong>Anthropic<\/strong>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">After selecting Anthropic, OpenClaw shows a separate screen for the authentication method:<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li><strong>Anthropic Claude CLI<\/strong> \u2014 reuse Claude Code that is already authenticated on this computer.<\/li>\r\n\r\n\r\n\r\n<li><strong>Anthropic API key<\/strong> \u2014 connect directly through the Anthropic API.<\/li>\r\n\r\n\r\n\r\n<li><strong>Anthropic setup-token<\/strong> \u2014 a separate supported authentication flow.<\/li>\r\n<\/ul>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic21-1024x573.jpg\" alt=\"Anthropic authentication options: Claude CLI, API key, and setup-token\" class=\"wp-image-71671\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic21-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic21-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic21-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic21-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic21-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic21-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic21.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<h4 class=\"nm-block-heading wp-block-heading\">If you choose an Anthropic API key<\/h4>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic22-1024x573.jpg\" alt=\"Connecting an Anthropic API key during OpenClaw setup\" class=\"wp-image-71674\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic22-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic22-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic22-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic22-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic22-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic22-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic22.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Open <a href=\"https:\/\/console.anthropic.com\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Anthropic Console<\/a>, create a key under API Keys, and paste it into OpenClaw.<\/p>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic23-1024x573.jpg\" alt=\"Creating an API key in Anthropic Console for OpenClaw\" class=\"wp-image-71677\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic23-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic23-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic23-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic23-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic23-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic23-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic23.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n<p>[vc_message color=&#8221;warning&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-warning&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>Claude Pro\/Max and the Anthropic API are billed separately.<\/strong> A regular Claude subscription does not add money to your API balance. If you choose an API key, Claude Console needs active billing and available credits. Otherwise, Dashboard may open normally while model requests still fail.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<p class=\"wp-block-paragraph\">I ran into exactly this: the key itself was valid, but because the API balance was empty, OpenClaw marked the profile as <code>disabled:billing<\/code>. If you see an inference error after launch, check Billing in Claude Console first.<\/p>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic24-1024x573.jpg\" alt=\"Anthropic API billing error in OpenClaw caused by an empty balance\" class=\"wp-image-71680\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic24-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic24-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic24-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic24-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic24-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic24-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic24.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<h4 class=\"nm-block-heading wp-block-heading\">If you want to use Claude Pro\/Max through Claude CLI<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">This route makes sense if Claude Code is already installed and authenticated on the same computer. Before selecting the CLI option, test it separately:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>claude auth status --text\r\nclaude -p \"Reply with OK only\"<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>The second command is the important one.<\/strong> Seeing <code>Login method: Claude Pro account<\/code> does not by itself guarantee that Claude Code is allowed to use the subscription. If <code>claude -p<\/code> returns a response, the CLI route works.<\/p>\r\n\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p>If you see <code>Your organization has disabled Claude subscription access for Claude Code<\/code>, the issue is Claude Code&#8217;s access to the subscription, not OpenClaw. In that case, restore access on the Claude side or use an Anthropic API key.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h4 class=\"nm-block-heading wp-block-heading\">Choosing the model<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>After authentication, OpenClaw asks you to choose the specific model that will be the agent&#8217;s default.<\/strong> The list depends on the provider, your authentication method, and the models available to your account.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Do not spend too long on this during the first setup. Pick an available model, finish onboarding, and make sure the agent responds. You can change the default model later through Control UI or with <code>\/models<\/code>.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Finishing onboarding and opening Dashboard<\/h3>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic25-1024x573.jpg\" alt=\"Finishing OpenClaw onboarding: Inference ready and Gateway startup\" class=\"wp-image-71684\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic25-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic25-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic25-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic25-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic25-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic25-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic25.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Once the provider, authentication, and model are configured, OpenClaw finishes the technical part of onboarding.<\/strong> It prepares the workspace, installs or starts Gateway, and verifies inference.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">You should see an <code>Inference ready<\/code> block in the terminal, the local Gateway address, and <code>Everything's in place<\/code>. OpenClaw then opens Control UI in your browser automatically.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Once the browser connects, the main Dashboard \/ Control UI screen appears.<\/p>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic26-1024x573.jpg\" alt=\"Main OpenClaw Dashboard and Control UI screen\" class=\"wp-image-71687\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic26-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic26-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic26-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic26-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic26-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic26-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic26.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>Dashboard opening successfully does not prove that the model is actually working.<\/strong> The interface can load even when the provider rejects requests because of billing or authentication. So the next step is a simple chat test.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">First test: does the agent respond?<\/h3>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic27-1024x573.jpg\" alt=\"First successful agent response in OpenClaw Control UI\" class=\"wp-image-71690\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic27-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic27-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic27-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic27-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic27-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic27-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic27.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\">In Control UI, open the Home tab and send a simple message that does not require web search, Telegram, or any additional Skills. For example:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>Hello. Reply in one sentence and tell me whether you're ready to work.<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>If the agent responds, the basic setup is complete.<\/strong> You now have a working model, Gateway, and Control UI. At this point, you can personalize Jarvis and only then move on to extra capabilities.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">What to configure next<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>You do not need to connect everything OpenClaw offers on day one.<\/strong> After the first successful response, I would proceed in this order:<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li><strong>Configure the agent first<\/strong> \u2014 its name, context, response style, and rules. I will show this below using Jarvis as the example.<\/li>\r\n\r\n\r\n\r\n<li><strong>Then add web search<\/strong> if your work needs it. In Control UI, go to Settings \u2192 Ask OpenClaw and enter <code>configure web search<\/code>.<\/li>\r\n\r\n\r\n\r\n<li><strong>Connect Telegram if you want to use the agent from your phone.<\/strong> You already created a BotFather token near the beginning of the guide; below I\u2019ll show how to add it to OpenClaw and approve access.<\/li>\r\n\r\n\r\n\r\n<li><strong>Add Skills for specific jobs.<\/strong> There is no reason to install dozens of Skills on the first day.<\/li>\r\n\r\n\r\n\r\n<li><strong>Leave Hooks and Automations for later.<\/strong> They become useful once the basic agent works and you know exactly what you want to automate.<\/li>\r\n<\/ul>\r\n\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p>From here, I will first configure Jarvis, then move through Control UI, memory, Skills, security, and automations. This makes OpenClaw much easier to understand and keeps the first setup from turning into an endless checklist.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Example: how I configured my Jarvis agent<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Once the basic chat in Control UI is responding, you can configure the agent itself right away.<\/strong> You do not need to open workspace files manually. In the regular Dashboard chat, one message can explain who you are, what the agent should be like, how it should respond, and which actions require separate confirmation.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">A new OpenClaw workspace already contains the core files <code>AGENTS.md<\/code>, <code>SOUL.md<\/code>, <code>IDENTITY.md<\/code>, <code>USER.md<\/code>, and the one-time <code>BOOTSTRAP.md<\/code>. During the first real conversation, the agent uses them for initial setup. Once bootstrap is complete, <code>BOOTSTRAP.md<\/code> is removed.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">I did not stretch the introduction across a dozen short messages. I gave Jarvis the key context in one go:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>My name is Dmytro. I work in the crypto industry and create\r\ncontent, guides, articles, and product pages for Lwallet.\r\n\r\nYour name is Jarvis.\r\n\r\nI want you to be calm, precise, and slightly ironic.\r\nWrite naturally and get to the point. Avoid corporate language,\r\ngrandstanding, and filler.\r\nExplain complex things simply, but never dumb them down.\r\n\r\nIf you see weak wording, suggest something better.\r\nIf you don't know something, say so directly instead of making it up.\r\n\r\nNever send emails without my confirmation.\r\nNever take any action involving money without my explicit approval.\r\nIf an action could have serious consequences, ask me first.<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>This is not a required template.<\/strong> You can write it in your own words, make it shorter, or add context gradually as you work. At the start, the important things are the agent&#8217;s name, basic information about you, the communication style you want, and a few clear boundaries.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">OpenClaw stores these settings in the workspace: <code>IDENTITY.md<\/code> defines the agent&#8217;s identity, <code>SOUL.md<\/code> its personality, tone, and behavioral boundaries, and <code>USER.md<\/code> information about you and your stable preferences. That way, you do not have to explain everything to your agent again in every session.<\/p>\r\n\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong><code>MEMORY.md<\/code> is not created automatically and is not required for the first run.<\/strong> A brand-new workspace may not have a <code>memory\/<\/code> directory yet either. I\u2019ll return to memory and semantic search in a dedicated section below.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Check Gateway<\/h3>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic28-1024x573.jpg\" alt=\"Checking OpenClaw Gateway status in the terminal\" class=\"wp-image-71693\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic28-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic28-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic28-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic28-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic28-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic28-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic28.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>After onboarding, how Gateway is running depends on the setup path you chose.<\/strong> Quick start leaves Gateway running in the current terminal, while Custom\/classic setup may install the background service during the wizard. On Windows, that service runs as a Scheduled Task.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Start by checking the status:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw gateway status<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If Gateway is running, continue. In the standard local configuration, it is only reachable from your own computer at <code>127.0.0.1:18789<\/code>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If you used Quick start and Gateway is still running in this terminal, stop it with <code>Ctrl+C<\/code> after the first check, then install the background service. If <code>openclaw gateway status<\/code> already shows an installed service, you can skip this step:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw gateway install<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">After that, you can manage Gateway with the usual commands:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw gateway start\r\nopenclaw gateway stop\r\nopenclaw gateway restart<\/code><\/pre>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Diagnostics: doctor and triage<\/h3>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic29-1024x573.jpg\" alt=\"OpenClaw doctor diagnostic results after setup\" class=\"wp-image-71696\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic29-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic29-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic29-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic29-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic29-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic29-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic29.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>This is an important step that many people skip.<\/strong> After setup, always run the built-in diagnostics:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw doctor<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Doctor checks the configuration, credentials, channels, and known problems. It can also apply some migrations and safe fixes automatically:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw doctor --fix<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Version 2.0 also added another very useful command:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw triage<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Triage builds a read-only diagnostic description of the problem and can hand it to Claude Code, Codex CLI, or OpenClaw&#8217;s built-in agent if one of them is available on the machine. Otherwise, it simply shows the next commands to run. This is much more convenient than collecting log fragments manually.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Still, review what the diagnostic report contains before sharing it. If the problem involves secrets or personal information, do not rely on automatic redaction alone.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">When the checks finish, review the final terminal output and make sure there are no critical errors left.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Doctor may also offer to enable shell completion:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>Enable zsh\/shell completion?<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">You can safely choose Yes. Once enabled, typing <code>openclaw<\/code> and pressing Tab will show available commands. It is a small convenience, but it saves time.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Connecting Telegram and approving access<\/h3>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic30-1024x573.jpg\" alt=\"Connecting a Telegram bot to OpenClaw with a BotFather token\" class=\"wp-image-71699\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic30-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic30-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic30-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic30-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic30-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic30-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic30.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>You already created the Telegram bot token through <a href=\"https:\/\/t.me\/BotFather\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">@BotFather<\/a> near the beginning of the guide. Now add that token to OpenClaw.<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Open a new PowerShell or terminal window and run:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw channels add --channel telegram --token \"&lt;bot-token&gt;\"<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Replace <code>&lt;bot-token&gt;<\/code> with the token BotFather gave you.<\/p>\r\n\r\n\r\n<p>[vc_message color=&#8221;warning&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-warning&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>Your bot token is a secret.<\/strong> Do not publish it or share it with anyone. If it is ever exposed, revoke it through BotFather and create a new one.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<p class=\"wp-block-paragraph\">After adding the channel, restart Gateway so it reloads the configuration:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw gateway restart<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If you want, immediately check whether the Telegram channel is up:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw channels status --probe<\/code><\/pre>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic31-1024x573.jpg\" alt=\"Checking Telegram channel status in OpenClaw\" class=\"wp-image-71702\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic31-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic31-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic31-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic31-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic31-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic31-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic31.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Now open Telegram, find your bot, and send it a message.<\/strong> By default, OpenClaw uses <code>pairing<\/code> for direct messages: a new user receives a confirmation code, and their messages are not passed to the agent until access is approved.<\/p>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic32-1024x573.jpg\" alt=\"Telegram pairing code for approving access to the OpenClaw agent\" class=\"wp-image-71705\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic32-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic32-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic32-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic32-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic32-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic32-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic32.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The easiest way to approve the request is directly in Control UI:<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Settings \u2192 Channels \u2192 DM access requests \u2192 Approve<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">You will see the user who sent the request and their pairing code.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If you prefer the terminal, list active requests first:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw pairing list telegram<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Then approve the code you want:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw pairing approve telegram XXXXXXXX<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Here, <code>XXXXXXXX<\/code> is the 8-character code from the bot&#8217;s message.<\/p>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic33-1024x573.jpg\" alt=\"Approving Telegram pairing in OpenClaw\" class=\"wp-image-71708\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic33-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic33-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic33-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic33-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic33-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic33-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic33.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>After approval, send the bot another message in Telegram.<\/strong> Your direct messages will now be passed to the connected agent.<\/p>\r\n\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>A pairing code is valid for one hour.<\/strong> If you do not approve it in time, you will need to create a new request. Pairing only approves direct-message access; Telegram groups use separate access rules.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Give the agent real work<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Do not invent artificial test tasks \u2014 give the agent something you are actually working on.<\/strong> For example:<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li>\u201cRewrite this so it sounds natural: {paste text}\u201d<\/li>\r\n\r\n\r\n\r\n<li>\u201cWrite a short product-page description for {product name}\u201d<\/li>\r\n\r\n\r\n\r\n<li>\u201cExplain the difference between {A} and {B} in simple terms\u201d<\/li>\r\n\r\n\r\n\r\n<li>\u201cRead {file name} and give me a concise summary\u201d<\/li>\r\n\r\n\r\n\r\n<li>\u201cCreate an outline for an article about {topic}\u201d<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">You can interact with the same agent through the web interface, terminal, and Telegram. The channels are different entry points to the same agent, with shared long-term memory where configured.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">How to interact with the agent<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Once Gateway is running as a service, there are several ways to talk to the agent:<\/strong><\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Running <code>openclaw<\/code> without arguments opens the TUI \u2014 a text-based chat with the agent in your terminal. It is convenient for quick tasks, testing, and working over SSH.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw dashboard<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">This opens the web interface (Control UI) in your browser. From there, you can chat with the agent, manage Skills, and view logs.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw skills list<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">This shows the installed Skills.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Or simply message the bot in Telegram \u2014 if the channel is connected, the agent is already available there.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">Web interface: Control UI<\/h2>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic34-1024x573.jpg\" alt=\"Main Control UI screen for managing an OpenClaw agent\" class=\"wp-image-71711\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic34-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic34-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic34-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic34-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic34-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic34-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic34.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>In version 2.0, <a href=\"https:\/\/docs.openclaw.ai\/web\/control-ui\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Control UI<\/a> became the main interface for day-to-day work with the agent.<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">From here, you can chat with the agent, view files, approval requests, current tasks, logs, and key settings. Some options that previously required editing configuration files can now be changed directly in the interface.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">How to open Control UI<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Make sure Gateway is running (<code>openclaw gateway status<\/code>), then run:<\/strong><\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw dashboard<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><code>openclaw dashboard<\/code> opens Control UI through a short-lived, one-time owner-pairing link. After a successful handoff, that browser receives its own durable administrator device credential, so reopening the dashboard no longer depends on the shared Gateway token.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If you only want the URL without opening a browser automatically, for example to open it on another device:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw dashboard --no-open<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The command prints the same temporary handoff link in the terminal without launching a browser. Copy it and open it manually: the link is short-lived and intended for one-time use.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Do not share this link with other people or expose it in chats or screenshots. For remote access, use an SSH tunnel or Tailscale instead of exposing Gateway to the network just to reach Control UI.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">What you can do in Control UI<\/h3>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li><strong>Chat with the agent<\/strong> \u2014 the main chat, files, and approval requests are all close at hand<\/li>\r\n\r\n\r\n\r\n<li><strong>Configure Skills<\/strong> \u2014 Settings \u2192 Agents \u2192 Skills lets you manage the allowlist and settings for Skills that are already available<\/li>\r\n\r\n\r\n\r\n<li><strong>Work with agent files<\/strong> \u2014 under Settings \u2192 Agents, you can open the workspace files for a specific agent and edit them in the browser<\/li>\r\n\r\n\r\n\r\n<li><strong>View memory<\/strong> \u2014 the separate Settings \u2192 Memory section shows memory, search, and Dreaming status<\/li>\r\n\r\n\r\n\r\n<li><strong>Check connections<\/strong> \u2014 see which channels are active and how they are configured<\/li>\r\n\r\n\r\n\r\n<li><strong>View logs<\/strong> \u2014 see what happened in the system and which errors occurred<\/li>\r\n\r\n\r\n\r\n<li><strong>Change settings<\/strong> \u2014 model, channels, tools, permissions, and other OpenClaw options<\/li>\r\n\r\n\r\n\r\n<li><strong>Usage<\/strong> \u2014 session and token statistics plus estimated costs. If you connect an Anthropic Admin API key, OpenClaw can also show usage and cost data directly from Anthropic for the last 30 days.<\/li>\r\n<\/ul>\r\n\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p>If an Anthropic Admin API key is connected, Usage can display the last 30 days of data from the Anthropic Usage and Cost API. Those figures come directly from Anthropic; OpenClaw&#8217;s own internal cost estimates are tracked separately.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">Connecting additional channels<\/h2>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic35-1024x573.jpg\" alt=\"Connecting additional channels in OpenClaw\" class=\"wp-image-71714\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic35-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic35-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic35-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic35-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic35-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic35-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic35.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Telegram is only one option.<\/strong> OpenClaw also supports channels such as WhatsApp, Discord, Slack, Signal, and others. The exact list depends on the plugins you have installed and the integrations available in your setup.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Setup differs by channel. For example, WhatsApp is linked through a QR code with:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw channels login --channel whatsapp<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">For other channels, use the Channels section in Control UI or follow that integration\u2019s guide; plugin-installation and authentication steps can differ.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">You can connect several <a href=\"https:\/\/docs.openclaw.ai\/channels\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">channels<\/a> to the same agent. Each one, however, is another external system with its own access and privacy rules, so do not add channels just because they are available.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">To check the status of all channels:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw channels status<\/code><\/pre>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">Choosing a model and controlling costs<\/h2>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">How to change the model<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Method 1: through your messaging app (the simplest option). Send your bot:<\/strong><\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>\/models<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The agent will show the models available to you. Choose the one you want directly in chat.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Method 2: through the <a href=\"https:\/\/docs.openclaw.ai\/cli\/models\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">terminal<\/a>. Version 2.0 has dedicated commands for this, which are easier than editing the configuration manually:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw models list\r\nopenclaw models set anthropic\/claude-sonnet-5\r\nopenclaw models status<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">To see which <a href=\"https:\/\/docs.openclaw.ai\/models\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">models<\/a> are available to your account from a specific provider:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw models list --provider anthropic<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Method 3: Control UI \u2192 Settings \u2192 Models.<\/strong><\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Claude vs GPT vs Gemini: which one should you choose?<\/h3>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic36-1024x573.jpg\" alt=\"Comparing Claude, GPT, and Gemini AI models for OpenClaw\" class=\"wp-image-71717\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic36-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic36-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic36-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic36-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic36-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic36-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic36.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>I tried several different models.<\/strong> At the beginning, I would choose based on three things: quality, speed, and cost.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Claude Sonnet 5 (Anthropic)<\/strong> is my main choice for everyday work. The current API price is <strong>$2 per million input tokens and $10 per million output tokens<\/strong>; always check the latest rates on <a href=\"https:\/\/platform.claude.com\/docs\/en\/about-claude\/pricing\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Anthropic&#8217;s pricing page<\/a>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Claude Opus 5<\/strong> is better suited to harder tasks where quality matters more than cost. API pricing is <strong>$5 per million input tokens and $25 per million output tokens<\/strong>. For day-to-day work, I would keep Sonnet as the default and switch to Opus only when needed.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Claude Haiku 4.5<\/strong> is the cheaper option at <strong>$1 per million input tokens and $5 per million output tokens<\/strong>. It can work well for simple background jobs or repetitive tasks once you have confirmed that the quality is good enough.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>OpenAI<\/strong> \u2014 OpenClaw supports GPT-5.6 Sol and, since v2026.9.2, GPT-6 Astra for accounts where that model is already available. Do not rely only on a model name mentioned in an article: <code>openclaw models list --provider openai<\/code> shows what your account can actually use.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Google Gemini<\/strong> is another solid option. Here, I would focus on the specific model you have access to, its limits, and how well it performs on your actual tasks.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Local models (Ollama, LM Studio)<\/strong> let you keep LLM requests off cloud model providers. Other integrations may still use external services, however. For complex tool-heavy workflows, test the quality of the local model separately.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Why an agent uses more tokens than a regular chat<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>In a normal chat, one prompt often results in one response.<\/strong> An agent task may require several model calls: read a file, run a command, inspect the result, fix an error, and try again. One user instruction therefore does not mean one API call.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Session context, bootstrap files, and tool outputs add to that cost. The longer and more complex the session becomes, the more expensive each next step can be.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Practical advice:<\/strong> do not keep one session running forever. When a topic is finished, start a new one. This makes both context and spending easier to control.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Here is an example from my first setup. I used Claude Opus, completed BOOTSTRAP, sent several messages in Telegram, and ran a few test tasks. The total was 38 messages, and the Usage page showed $8.45 in spending for that evening. That is one real case from my setup, not a universal estimate. Your cost can be very different depending on the model, context length, and number of tool calls.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">I would still start with Sonnet and use Opus only for tasks where the higher quality justifies the extra cost. I would also watch Usage from day one so you see your real spending instead of guessing what the monthly bill might look like.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">Configuring the agent&#8217;s personality<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>You already set Jarvis&#8217;s basic personality directly in chat.<\/strong> Now I\u2019ll show where OpenClaw stores those settings and how you can change them later through Control UI.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">How the agent files work<\/h3>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic37-1024x573.jpg\" alt=\"OpenClaw agent files: SOUL.md, IDENTITY.md, USER.md, and AGENTS.md\" class=\"wp-image-71720\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic37-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic37-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic37-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic37-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic37-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic37-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic37.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Each agent has its own workspace with files that OpenClaw uses as persistent context.<\/strong> At the start of a new session, the relevant files are added to the agent&#8217;s context, so you do not have to explain its name, style, and basic rules all over again.<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li><strong>SOUL.md<\/strong> \u2014 the agent&#8217;s personality, communication style, and behavioral boundaries.<\/li>\r\n\r\n\r\n\r\n<li><strong>IDENTITY.md<\/strong> \u2014 name, persona, emoji, and other identity details.<\/li>\r\n\r\n\r\n\r\n<li><strong>USER.md<\/strong> \u2014 information about you: how the agent should address you, your work context, and stable preferences.<\/li>\r\n\r\n\r\n\r\n<li><strong>AGENTS.md<\/strong> \u2014 working instructions: rules, priorities, procedures, and how the agent should use memory.<\/li>\r\n\r\n\r\n\r\n<li><strong>BOOTSTRAP.md<\/strong> \u2014 the one-time first-run introduction flow. It is removed after bootstrap is complete.<\/li>\r\n\r\n\r\n\r\n<li><strong>MEMORY.md<\/strong> \u2014 an optional long-term memory file. It only appears once long-term memory has actually been created or written.<\/li>\r\n<\/ul>\r\n\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong><code>HEARTBEAT.md<\/code> is no longer used.<\/strong> New workspaces do not create it, and the OpenClaw runtime no longer reads it. Heartbeat instructions now live in the system monitor&#8217;s scratch space. If an old <code>HEARTBEAT.md<\/code> remains after an upgrade, <code>openclaw doctor --fix<\/code> migrates valid content, archives the old file, and removes it from the workspace.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<p class=\"wp-block-paragraph\">By default, the main workspace is located at <code>~\/.openclaw\/workspace<\/code>. If Control UI is connected to a remote Gateway, these files physically live <strong>on the Gateway machine<\/strong>, not on the computer where you opened the browser.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Do not overload the bootstrap files<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>OpenClaw already creates the standard files, so you do not need to invent a complicated structure from scratch.<\/strong> Start with a concise <code>SOUL.md<\/code>, a useful <code>USER.md<\/code>, and clear rules in <code>AGENTS.md<\/code>, then expand them as real work gives you a reason to.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">OpenClaw limits the default bootstrap context to <strong>20,000 characters per file<\/strong> and <strong>60,000 characters in total<\/strong>. <code>USER.md<\/code> has its own smaller budget. If a file is too large, some content may be truncated when it is injected into context.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">A useful practical habit is to ask the agent, after a few days of real work, to review its own <code>SOUL.md<\/code> and suggest only the changes that genuinely follow from your interactions.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If long sessions start consuming too much context, there is an optional mode that avoids reinjecting bootstrap files on every safe continuation turn:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw config set agents.defaults.contextInjection continuation-skip<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">This setting is optional. OpenClaw uses <code>always<\/code> by default, so I would leave it alone at first.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Where to find the files in Dashboard<\/h3>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic38-1024x573.jpg\" alt=\"Agent files under Settings \u2192 Agents \u2192 Files in OpenClaw Control UI\" class=\"wp-image-71723\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic38-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic38-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic38-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic38-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic38-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic38-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic38.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Open Control UI \u2192 Settings \u2192 Agents, choose the agent you want, and open the Files tab.<\/strong> You can view and edit its workspace files directly in the browser.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">It is more convenient to change the name, emoji, and avatar under <strong>Overview \u2192 Identity<\/strong>. These values also sync with <code>IDENTITY.md<\/code>, and UI settings take precedence over manually editing the same fields in the file.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If you do not want to edit Markdown manually, simply ask the agent in chat to change a specific rule or update information about you, then review the result in Files.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">Memory: how the agent remembers<\/h2>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic39-1024x573.jpg\" alt=\"OpenClaw memory settings under Settings \u2192 Memory\" class=\"wp-image-71726\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic39-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic39-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic39-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic39-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic39-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic39-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic39.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>OpenClaw can preserve important context between conversations so the agent does not start every new session from scratch.<\/strong> It uses Markdown memory files, a search index, and a separate <a href=\"https:\/\/docs.openclaw.ai\/concepts\/dreaming\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Dreaming<\/a> mechanism.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">In Control UI, open <strong>Settings \u2192 Memory<\/strong>. This is where you can check memory, search, and Dreaming status.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Long-term memory<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><code>MEMORY.md<\/code> is compact long-term memory: stable facts, decisions, and important context worth keeping between sessions. More detailed working notes can be stored in files such as <code>memory\/YYYY-MM-DD.md<\/code>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">OpenClaw does not necessarily create a new file after every conversation. If you want the agent to remember something explicitly, the simplest approach is to ask it directly \u2014 for example: <strong>\u201cRemember that I want concise, natural wording in work-related writing.\u201d<\/strong><\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Dreaming<\/h3>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic40-1024x573.jpg\" alt=\"Dreaming and Dream Diary in the OpenClaw memory system\" class=\"wp-image-71729\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic40-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic40-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic40-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic40-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic40-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic40-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic40.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Dreaming is OpenClaw&#8217;s background memory-consolidation system, and it is enabled by default in the current version.<\/strong> It reviews accumulated short-term signals and promotes only the information it considers important enough for long-term memory into <code>MEMORY.md<\/code>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">You can inspect this process through <strong>Dream Diary<\/strong>. A human-readable Dreaming log is stored in <code>DREAMS.md<\/code>, where you can see what the system processed and what changed. Dream Diary itself is not used as long-term memory \u2014 the durable results are written to <code>MEMORY.md<\/code>.<\/p>\r\n\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>Dreaming can use the AI model in the background.<\/strong> If your agent runs through a paid API, these background calls can also consume tokens. You can check Dreaming in Settings \u2192 Memory or with <code>\/dreaming status<\/code>.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Searching memory<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/docs.openclaw.ai\/concepts\/memory-search\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Memory search<\/a> can combine exact keyword matching with embeddings, which can find semantically similar content even when the wording is different. By default, OpenClaw uses OpenAI for embeddings.<\/p>\r\n\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>The agent&#8217;s main model and memory embeddings are configured separately.<\/strong> Your agent can run through an Anthropic API key while Doctor still reports that semantic memory search does not have an OpenAI API key. That does not mean Anthropic is configured incorrectly.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<p class=\"wp-block-paragraph\">To quickly check memory and embedding status:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw memory status --deep<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If you do not need semantic search yet, you can keep keyword-only search:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw config set memory.search.provider none<\/code><\/pre>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Backups<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Before major updates or configuration changes, create a backup of OpenClaw:<\/strong><\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw backup create --verify<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">This creates a verified archive containing the configuration, OpenClaw state, agent data, sessions, and workspace. By default, the backup is saved as a <code>.tar.gz<\/code> file.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">You can verify an existing archive separately:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw backup verify .\/&lt;backup&gt;.tar.gz<\/code><\/pre>\r\n\r\n\r\n<p>[vc_message color=&#8221;warning&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-warning&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>A backup can contain sensitive data:<\/strong> API keys, auth profiles, channel tokens, session history, and other credentials. Store the archive securely and never publish it or place it in a public location.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">Skills: how to add new capabilities to your agent<\/h2>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic41-1024x573.jpg\" alt=\"ClawHub catalog of Skills and Plugins for OpenClaw\" class=\"wp-image-71732\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic41-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic41-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic41-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic41-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic41-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic41-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic41.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Skills, Plugins, and ClawHub: what&#8217;s the difference?<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>A Skill is a set of instructions for the agent built around a <code>SKILL.md<\/code> file.<\/strong> It explains when and how to perform a particular type of work \u2014 for example, how to review a pull request, prepare a report, or follow a specific workflow. A Skill does not necessarily add a new tool; often it simply teaches the agent how to use tools that are already available.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>A Plugin<\/strong> is a software extension for OpenClaw. Plugins can add new tools, channels, model providers, hooks, web search, speech, and other runtime capabilities.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/clawhub.ai\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">ClawHub<\/a> is a public registry for Skills and Plugins. It is the most convenient place to browse available packages, check the author, versions, changelog, source code, and security scan results before installing anything.<\/p>\r\n\r\n\r\n<p>[vc_message color=&#8221;warning&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-warning&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>ClawHub is an open registry, not a security guarantee.<\/strong> Before installation, check the owner, source, required credentials and permissions, and the security audit. Be especially careful with Plugins: they are executable code and can gain additional runtime privileges.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">How to find and install a Skill<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>For most users, I would start with ClawHub.<\/strong> Open the <a href=\"https:\/\/clawhub.ai\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">website<\/a>, find the Skill you need, review its description and security scan, then install it with the OpenClaw CLI. You do not need the separate <code>clawhub<\/code> CLI for normal installation; that tool is aimed more at authors who need to sign in, publish, and manage their own packages.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">You can also search directly from the terminal:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw skills search \"calendar\"<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Once you have chosen a specific Skill, verify its trust envelope and install it:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw skills verify @owner\/&lt;slug&gt;\r\nopenclaw skills install @owner\/&lt;slug&gt;<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">After installation, check that OpenClaw can see it and that all dependencies are ready:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw skills list\r\nopenclaw skills check<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">By default, a Skill is installed into the active workspace&#8217;s <code>skills\/<\/code> directory and belongs to that agent. If you want the Skill to be available to all local agents, use <code>--global<\/code>; it will be installed under <code>~\/.openclaw\/skills<\/code>.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw skills install @owner\/&lt;slug&gt; --global<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">To update all ClawHub Skills:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw skills update --all<\/code><\/pre>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">What the Skills tab in Dashboard actually does<\/h3>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic42-1024x573.jpg\" alt=\"Skills tab under Settings \u2192 Agents in OpenClaw Control UI\" class=\"wp-image-71735\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic42-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic42-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic42-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic42-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic42-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic42-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic42.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>In the current Control UI, the path is Settings \u2192 Agents.<\/strong> The Agent Defaults page has <strong>Agents, Skills, Tools, and Session<\/strong> tabs. The important point is that <strong>Skills<\/strong> here is for <strong>configuration<\/strong> \u2014 it is not a marketplace and not an Install button for ClawHub.<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li><strong>Agents \u2192 Skills<\/strong> under Agent Defaults defines the default Skill allowlist inherited by agents. If the list is not set, that means \u201cno extra restriction,\u201d not \u201cno Skills.\u201d<\/li>\r\n\r\n\r\n\r\n<li><strong>Skills \u2192 Allow Bundled<\/strong> only limits OpenClaw&#8217;s bundled Skills. Managed and workspace Skills are not disabled by this list.<\/li>\r\n\r\n\r\n\r\n<li><strong>Skills \u2192 Entries<\/strong> is where you configure individual Skills, including <code>Enabled<\/code>, <code>Api Key<\/code>, <code>Env<\/code>, and custom <code>Config<\/code> values.<\/li>\r\n\r\n\r\n\r\n<li><strong>Tools<\/strong> is a separate tab. It controls available tools, allowlists\/denylists, and command-execution policy; it is not used to install Skills.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">That is why I do not use Dashboard as the main installation method in this guide. For discovery and installation, <strong>ClawHub + <code>openclaw skills<\/code><\/strong> is simpler and more predictable; Settings \u2192 Agents \u2192 Skills is better for configuration afterward.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Plugins<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>You need a Plugin when OpenClaw is missing the capability itself, not just instructions for how to use it.<\/strong> A Plugin can add new tools, channels, model providers, web search, or other runtime functionality.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">You can also find Plugins through <a href=\"https:\/\/clawhub.ai\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">ClawHub<\/a>. Once you have found the one you need:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw plugins install clawhub:&lt;package&gt;<\/code><\/pre>\r\n\r\n\r\n<p>[vc_message color=&#8221;warning&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-warning&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>Treat Plugins more cautiously than ordinary Skills.<\/strong> A Skill mostly adds instructions for the agent, while a Plugin can load and execute code and gain new runtime capabilities. Before installing one, check the author, description, permissions, and security scan.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>You do not need to install extra Plugins during the initial setup.<\/strong> Come back to them only when you know which specific capability your agent is missing.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Skill Workshop<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong><a href=\"https:\/\/docs.openclaw.ai\/tools\/skill-workshop\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Skill Workshop<\/a> is not for installing ready-made Skills; it is for creating your own based on real work.<\/strong> If you and the agent have gone through the same process several times, for example, that process can be turned into a reusable Skill.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The easiest approach is to ask the agent directly to turn an established workflow into a Skill. For the current conversation, you can also use:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>\/learn<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><code>\/learn<\/code> analyzes the current conversation or the materials you specify and prepares a Skill through Workshop. Changes are not applied automatically; you can review the result before using it.<\/p>\r\n\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>You can ignore Workshop completely during initial OpenClaw setup.<\/strong> It becomes useful later, once your work starts to contain repeatable processes worth formalizing.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Which Skills are worth looking for?<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Do not install dozens of Skills \u201cjust in case.\u201d<\/strong> Start with a real need and look for a suitable option on ClawHub:<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li>GitHub, code review, and repository workflows;<\/li>\r\n\r\n\r\n\r\n<li>email and calendars;<\/li>\r\n\r\n\r\n\r\n<li>processing and summarizing documents;<\/li>\r\n\r\n\r\n\r\n<li>working with secrets and password managers;<\/li>\r\n\r\n\r\n\r\n<li>your own team checklists and repeatable workflows.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Web search and Browser<\/h3>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic43-1024x573.jpg\" alt=\"OpenClaw web search and browser tools\" class=\"wp-image-71741\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic43-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic43-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic43-768x430.jpg 768w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic43-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic43-350x196.jpg 350w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic43-680x381.jpg 680w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic43.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>You no longer need a separate Skill for ordinary web search.<\/strong> In Control UI, open <strong>Settings \u2192 Ask OpenClaw<\/strong> and enter:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>configure web search<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">OpenClaw shows the available search providers and tells you which ones require an API key. You can configure the same thing from the terminal:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw configure --section web<\/code><\/pre>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic44-1024x573.jpg\" alt=\"Configuring web search in Ask OpenClaw and choosing DuckDuckGo\" class=\"wp-image-71744\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic44-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic44-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic44-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic44-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic44-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic44-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic44.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<h4 class=\"nm-block-heading wp-block-heading\">Why I chose DuckDuckGo<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">When I set up the first version of OpenClaw, I needed web search but did not want to pay for the Brave API or create another API key just for search. I went to ClawHub, found a DuckDuckGo option, added it to my Skills, and web search started working without a separate API key.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Today, the process is much simpler.<\/strong> DuckDuckGo Search is already one of the providers offered by <code>configure web search<\/code>. Select it from the list \u2014 no account or API key is required. If the provider needs an additional Plugin, the local setup flow installs it automatically.<\/p>\r\n\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>DuckDuckGo support in OpenClaw is still experimental.<\/strong> It is a key-free integration based on DuckDuckGo&#8217;s HTML search, not an official API. It is convenient for everyday tasks, but it can occasionally run into CAPTCHA challenges or break when DuckDuckGo changes its site.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><code>web_search<\/code> searches through the provider you selected, while <code>web_fetch<\/code> reads a specific page by URL. For most research tasks, that is enough.<\/p>\r\n\r\n\r\n\r\n<h4 class=\"nm-block-heading wp-block-heading\">When you need Browser<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Browser is for actual interaction with a website:<\/strong> when the page depends on JavaScript, you need to click a button, fill in a form, or work inside an authenticated session.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">OpenClaw has a separate managed browser profile called <code>openclaw<\/code>, isolated from your normal Chrome profile. You can check its status and start it when needed:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw browser status\r\nopenclaw browser start<\/code><\/pre>\r\n\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>If you do not see a separate Browser panel in Dashboard, that is not necessarily an error.<\/strong> The panel only appears in Control UI when the connected Gateway exposes browser capability for the current connection. During initial setup, you can safely move on: web search works independently of Browser.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n<p>[vc_message color=&#8221;warning&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-warning&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>An authenticated browser gives the agent real access to your signed-in website sessions.<\/strong> Do not connect your personal browser profile unless you actually need it. For most tasks, starting with the separate <code>openclaw<\/code> profile is safer.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<p class=\"wp-block-paragraph\">At the beginning, I would configure only <code>web_search<\/code>. Come back to Browser once the agent genuinely needs to interact with pages rather than simply find and read information.<\/p>\r\n\r\n\r\n<p>[vc_message color=&#8221;warning&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-warning&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>Before installing any third-party Skill or Plugin from ClawHub, read the next security section.<\/strong><\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">Security: what you should configure<\/h2>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic45-1024x573.jpg\" alt=\"OpenClaw security: access to shell, files, browser, and external services\" class=\"wp-image-71747\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic45-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic45-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic45-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic45-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic45-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic45-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic45.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>This is one of the most important sections in the guide.<\/strong> OpenClaw can have access to the command shell, files, the browser, messaging apps, and external services, so <a href=\"https:\/\/docs.openclaw.ai\/gateway\/security\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">security<\/a> needs to be taken seriously.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Safer defaults in version 2.0<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Version 2.0 significantly revised the default security settings and made them more conservative for a standard local installation.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">By default:<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li><strong>Gateway is only reachable from the same computer.<\/strong> OpenClaw uses the local address <code>127.0.0.1<\/code> (loopback \/ localhost), so other devices on the network cannot connect directly.<\/li>\r\n\r\n\r\n\r\n<li><strong>Gateway access is protected by authentication.<\/strong> OpenClaw rejects connections when authentication is not configured.<\/li>\r\n\r\n\r\n\r\n<li>During initial setup, OpenClaw creates an access token automatically even when Gateway is only local.<\/li>\r\n\r\n\r\n\r\n<li>If an unknown user messages the bot through a supported channel, OpenClaw will usually require approval through a pairing code. Until you approve it, that user&#8217;s message is not passed to the agent for execution.<\/li>\r\n\r\n\r\n\r\n<li><strong>Group chats are restricted too:<\/strong> in most cases, the group must be explicitly allowed and the bot must be mentioned before the agent responds.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">For a personal installation, this is already much safer than early OpenClaw versions. But these defaults will not protect you if you expose Gateway to the network without a reason or install untrusted code.<\/p>\r\n\r\n\r\n<p>[vc_message color=&#8221;warning&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-warning&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>If several agents or users share one Gateway, review session access.<\/strong> Starting with v2026.9.2, if these settings are not explicitly configured, <code>tools.sessions.visibility<\/code> defaults to <code>all<\/code> and <code>tools.agentToAgent.enabled<\/code> defaults to <code>true<\/code>. If you do not need shared access, restrict it manually.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>tools: {\r\n  sessions: { visibility: \"agent\" },\r\n  agentToAgent: { enabled: false }\r\n}<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Also review networking if you run OpenClaw in Docker or another container. The bind behavior can differ from a normal local installation, so restrict any exposed port with a firewall and do not publish it to the open internet.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Quick security check<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Instead of checking dozens of settings by hand, start with:<\/strong><\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw security audit<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">This command checks:<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li><strong>Inbound access<\/strong> \u2014 rules for direct messages and groups: can unknown users reach the bot?<\/li>\r\n\r\n\r\n\r\n<li><strong>Tool permissions<\/strong> \u2014 could prompt injection lead to shell commands or file actions?<\/li>\r\n\r\n\r\n\r\n<li><strong>Network access to Gateway<\/strong> \u2014 bind settings, authentication, and weak tokens<\/li>\r\n\r\n\r\n\r\n<li><strong>Remote browser control<\/strong> \u2014 nodes and relay ports<\/li>\r\n\r\n\r\n\r\n<li><strong>File permissions<\/strong> \u2014 permissions, symbolic links, and paths inside synchronized folders<\/li>\r\n\r\n\r\n\r\n<li><strong>Plugins<\/strong> \u2014 whether they can load without an explicit allowlist<\/li>\r\n\r\n\r\n\r\n<li><strong>Model selection<\/strong> \u2014 warnings about outdated models<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Useful flags:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw security audit --deep  # live Gateway check + deeper Skill and Plugin checks\r\nopenclaw security audit --fix   # apply safe fixes\r\nopenclaw security audit --json  # JSON output<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><code>--fix<\/code> intentionally applies only safe local fixes, such as tightening open group policies and file permissions. It does not rotate tokens or keys, disable dangerous tools, or decide whether exposing Gateway to the network is appropriate for you.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">I would run a security audit after major configuration changes, after installing new Plugins, and before enabling any remote access.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">If you really need remote access<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Check the current bind setting:<\/strong><\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw config get gateway.bind<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Common values:<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li><strong>loopback (default)<\/strong> \u2014 only local clients can connect<\/li>\r\n\r\n\r\n\r\n<li><strong>lan, tailnet, or custom with a non-loopback address<\/strong> \u2014 makes Gateway reachable by a wider set of clients and increases the attack surface<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">A few rules are worth memorizing:<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li>Do not expose Gateway to a LAN or public network without authentication and a clear reason.<\/li>\r\n\r\n\r\n\r\n<li>For remote access, it is usually safer to keep Gateway on loopback and use Tailscale Serve or an SSH tunnel.<\/li>\r\n\r\n\r\n\r\n<li>If LAN access is necessary, allow only the required IP addresses through the firewall.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If for some reason you do not have a Gateway token, generate one with:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw doctor --generate-gateway-token<\/code><\/pre>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Threats in ClawHub Skills<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>ClawHub is an open registry, so you should not install a third-party Skill or Plugin simply because it appears in the catalog.<\/strong> On the package page, check the author, source, version, required credentials and permissions, and the <a href=\"https:\/\/docs.openclaw.ai\/clawhub\/security-audits\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Security Audit<\/a>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">ClawHub shows automated scan results and can block problematic releases, but even a Pass status is not an absolute security guarantee. Install only packages whose purpose and requested permissions you understand.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">How to protect your setup<\/h3>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li>Do not install Skills or Plugins blindly. Be especially careful with Plugins: they run inside the Gateway process and therefore operate with trusted access.<\/li>\r\n\r\n\r\n\r\n<li>For extra control, OpenClaw supports <code>security.installPolicy<\/code>: a local policy can return <code>allow<\/code>, <code>warn<\/code>, or <code>block<\/code> before a Skill or Plugin is installed or updated.<\/li>\r\n\r\n\r\n\r\n<li><strong>Run <code>openclaw security audit<\/code> regularly.<\/strong><\/li>\r\n\r\n\r\n\r\n<li>Use an isolated environment (sandbox) for risky tools. Docker\/Podman can limit the impact of a mistake as long as you do not hand the container unnecessary directories, sockets, or privileges.<\/li>\r\n\r\n\r\n\r\n<li>Do not run OpenClaw as root unless there is a real need. A dedicated user with minimal privileges reduces the impact of a mistake.<\/li>\r\n\r\n\r\n\r\n<li>Do not store keys in arbitrary workspace files. Use built-in secret mechanisms or environment variables where supported.<\/li>\r\n\r\n\r\n\r\n<li><strong>Install updates, then run <code>openclaw doctor<\/code> and <code>openclaw security audit<\/code>.<\/strong><\/li>\r\n\r\n\r\n\r\n<li>Limit the agent&#8217;s authority with real technical controls, not only instructions in SOUL.md. A rule such as \u201cdo not send without confirmation\u201d is useful, but it does not enforce anything at the system level by itself.<\/li>\r\n\r\n\r\n\r\n<li>If the agent has access to shell, browser, or important files, test a weaker model on your own workflows before switching to it. A weaker model may be worse at recognizing dangerous instructions and its own mistakes.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Prompt injection<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Prompt injection is one of the main practical threats for agents that can use tools.<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The idea is simple: text from an external source may try to push the model into doing something you never asked it to do. Those instructions can be hidden in a chat, webpage, email, document, attachment, or log.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">That is why even a private Telegram bot does not solve the problem completely. If the agent reads external material, you should treat that material as potentially hostile too.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">What helps:<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li>Keep direct-message access closed by default: use pairing or explicit allowlists.<\/li>\r\n\r\n\r\n\r\n<li>Treat links, attachments, and embedded instructions as untrusted data.<\/li>\r\n\r\n\r\n\r\n<li>Do not give exec, browser, or other high-risk tools to an agent that does not need them.<\/li>\r\n\r\n\r\n\r\n<li>Consider a separate lower-privilege agent for reading untrusted material.<\/li>\r\n\r\n\r\n\r\n<li>Keep secrets outside paths the agent can read unless those secrets are actually required for its work.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Incident response: what to do if something goes wrong<\/h3>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li>Stop Gateway: <code>openclaw gateway stop<\/code><\/li>\r\n\r\n\r\n\r\n<li>Close external access: return <code>gateway.bind<\/code> to loopback and disable unnecessary tunnels.<\/li>\r\n\r\n\r\n\r\n<li>Temporarily disable or restrict any channels through which malicious content may have arrived.<\/li>\r\n\r\n\r\n\r\n<li><strong>Rotate any tokens and API keys that may have been exposed.<\/strong><\/li>\r\n\r\n\r\n\r\n<li>Check the logs: <code>openclaw logs<\/code><\/li>\r\n\r\n\r\n\r\n<li>After making changes, run <code>openclaw security audit --deep<\/code> again.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">Automation: Heartbeat, Automations, and Hooks<\/h2>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic46-1024x573.jpg\" alt=\"Heartbeat, Automations, and Hooks in OpenClaw\" class=\"wp-image-71750\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic46-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic46-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic46-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic46-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic46-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic46-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic46.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>These three mechanisms serve different purposes:<\/strong> <a href=\"https:\/\/docs.openclaw.ai\/gateway\/heartbeat\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Heartbeat<\/a> performs periodic checks, <a href=\"https:\/\/docs.openclaw.ai\/cron-jobs\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Automations<\/a> run tasks on a schedule, and <a href=\"https:\/\/docs.openclaw.ai\/automation\/hooks\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Hooks<\/a> react to events.<\/p>\r\n\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>The main change:<\/strong> the scheduler is now called Automations in the user interface. The CLI uses <code>openclaw automations<\/code>, while <code>openclaw cron<\/code> remains for compatibility, so older scripts continue to work.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Heartbeat: periodic background checks<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Heartbeat is a system automation that periodically runs the agent in its main session to check a short list of things and report only what genuinely needs your attention.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">By default, Heartbeat runs every 30 minutes. With Anthropic OAuth\/token authentication, including Claude CLI, OpenClaw may use a one-hour interval unless you set your own. Either way, choose a frequency that matches the task and your budget.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">For example, to check once per hour:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw config set agents.defaults.heartbeat.every 60m<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If you do not need Heartbeat, disable it:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw config set agents.defaults.heartbeat.every 0m<\/code><\/pre>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">What happened to HEARTBEAT.md?<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>If you have read older OpenClaw guides, there is one major change here.<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">In earlier versions, the list of background checks lived in <code>HEARTBEAT.md<\/code>. In 2.0, that file was retired: OpenClaw no longer reads it, and Heartbeat instructions now live in the system automation&#8217;s scratch space.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If you are upgrading from an older version, run:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw doctor --fix<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Doctor creates or updates the system monitor for Heartbeat, moves instructions from <code>HEARTBEAT.md<\/code> into scratch, converts valid entries from the old <code>tasks:<\/code> block into regular Automations, archives the original file, and removes it from the workspace.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Find the system Heartbeat in the automation list:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw automations list --all<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">It appears as <code>Heartbeat (agent-id)<\/code>. You can view or edit its scratch with:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw automations scratch &lt;jobId&gt;\r\nopenclaw automations scratch &lt;jobId&gt; --set \"...\"\r\nopenclaw automations scratch &lt;jobId&gt; --file notes.md\r\nopenclaw automations scratch &lt;jobId&gt; --unset<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Here is an example of my scratch:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code># Heartbeat checklist\r\n- Quickly check whether there is anything urgent in my inbox\r\n- Review calendar events for the next 2 hours\r\n- If a task is blocked, note exactly what is missing\r\n\r\n# When you should not message me proactively\r\n- Do not message me about things that have not changed\r\n- Do not remind me about anything I asked you to postpone\r\n- Do not check work matters on weekends\r\n- Maximum 3 unsolicited messages per day<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The agent can also update its own scratch during Heartbeat or when you explicitly ask it to.<\/p>\r\n\r\n\r\n<p>[vc_message color=&#8221;warning&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-warning&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>Do not store secrets in scratch \u2014 its contents are injected into the prompt.<\/strong><\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If scratch exists but is effectively empty \u2014 only headings, comments, or empty checkboxes \u2014 OpenClaw skips that run to avoid wasting an API call. If there is no scratch at all, Heartbeat can still operate using its built-in instruction.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Automations: scheduled tasks<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Heartbeat is for periodic checks.<\/strong> An Automation runs a specific task at a defined time or on a recurring schedule.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Example: a morning briefing at 7:00 AM Kyiv time. Replace <code>&lt;chat-id&gt;<\/code> with the Telegram chat ID you want to use:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw automations create \"0 7 * * *\" \"Generate a briefing: weather, calendar, important emails.\" --name \"Morning briefing\" --tz \"Europe\/Kyiv\" --session isolated --announce --channel telegram --to \"&lt;chat-id&gt;\"<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">View the list and current status:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw automations list\r\nopenclaw automations status<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Manage a specific job:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw automations get &lt;jobId&gt;\r\nopenclaw automations edit &lt;jobId&gt; --message \"Updated prompt\"\r\nopenclaw automations enable &lt;jobId&gt;\r\nopenclaw automations disable &lt;jobId&gt;\r\nopenclaw automations run &lt;jobId&gt;\r\nopenclaw automations runs &lt;jobId&gt; --limit 50\r\nopenclaw automations remove &lt;jobId&gt;<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">You can also create and edit Automations through Control UI, where you can see their schedule, status, and run history.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">For recurring schedules that fire at the top of every hour, such as <code>0 * * * *<\/code>, OpenClaw may automatically shift the run by up to five minutes to reduce load spikes. If exact timing matters, add <code>--exact<\/code>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Ideas for Automations:<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li>A weekly report every Monday at 9:00 AM<\/li>\r\n\r\n\r\n\r\n<li>Product-price monitoring twice a day<\/li>\r\n\r\n\r\n\r\n<li>An automatic workspace backup every day at 3:00 AM<\/li>\r\n\r\n\r\n\r\n<li>An evening Reddit or Hacker News digest<\/li>\r\n<\/ul>\r\n\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p><strong>Do not put the schedule itself into Heartbeat scratch.<\/strong> Scratch contains instructions for what to check; timing is configured separately. For recurring scheduled work, create an Automation with its own schedule, status, and run history.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Hooks: reacting to events<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Hooks run in response to specific events.<\/strong> Heartbeat is periodic, while Automations run on a schedule.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">For example:<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li>Session reset or automatic reset \u2192 save the recent conversation fragment through <code>session-memory<\/code>.<\/li>\r\n\r\n\r\n\r\n<li><strong>Gateway startup \u2192 run instructions from BOOT.md through <code>boot-md<\/code>.<\/strong><\/li>\r\n\r\n\r\n\r\n<li>A command such as <code>\/new<\/code> or <code>\/reset<\/code> \u2192 record the event through <code>command-logger<\/code>.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">You do not need every built-in Hook. Review the list, understand what each one does, and enable only the ones you actually need.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">See what is enabled:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw hooks list\r\nopenclaw hooks info &lt;hook&gt;\r\nopenclaw hooks check<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Enable or disable a Hook:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>openclaw hooks enable session-memory\r\nopenclaw hooks disable command-logger<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">For Hooks, I would use the CLI: it makes it immediately clear which Hook you are inspecting, enabling, or disabling.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Useful built-in Hooks:<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><code>session-memory<\/code> \u2014 after <code>\/new<\/code>, <code>\/reset<\/code>, or auto-reset, saves a recent conversation fragment into a workspace memory file.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><code>command-logger<\/code> \u2014 records command events in JSONL. It logs control events but does not replace a full record of the agent&#8217;s shell commands.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><code>boot-md<\/code> \u2014 runs instructions from <code>BOOT.md<\/code> when Gateway starts. This Hook does not use <code>BOOTSTRAP.md<\/code>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">By default, <code>session-memory<\/code> saves the recent conversation to a file such as <code>memory\/YYYY-MM-DD-HHMM.md<\/code>. If you enable <code>llmSlug<\/code>, the filename can also include a short description of the topic. The file lives in the workspace, and <a href=\"https:\/\/docs.openclaw.ai\/concepts\/memory-search\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">semantic search<\/a> can later retrieve it by meaning.<\/p>\r\n\r\n\r\n<p>[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]<\/p>\r\n<p>Hooks that only run at startup, including <code>boot-md<\/code>, take effect after the next Gateway start. For other Hooks, check their state with <code>openclaw hooks check<\/code> after making changes; if something still does not fire, inspect the Gateway logs.<\/p>\r\n<p>[\/vc_message]<\/p>\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">How the three mechanisms fit together<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Heartbeat is a periodic check performed by the system monitor.<\/strong> It fits questions such as \u201cHas anything important happened?\u201d<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Automations are independent scheduled jobs with their own state and run history.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Hooks react to events such as session resets, Gateway startup, commands, and other events supported by a specific Hook.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">This keeps periodic checks, scheduled work, and event-driven reactions separate instead of stuffing everything into one giant prompt.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Costs depend on the model, run frequency, and context. Instead of relying on universal estimates such as \u201c$0.01 per run,\u201d watch your actual spending in Usage and avoid running background checks more often than necessary.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">My hands-on example<\/h2>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic47-1024x573.jpg\" alt=\"Jarvis in practice: analyzing a Path of Exile build with OpenClaw\" class=\"wp-image-71753\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic47-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic47-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic47-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic47-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic47-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic47-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic47.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Theory matters, but this is easier to explain with a real example from my own use.<\/strong> It shows why an agent can be useful both for work and for hobbies.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">I play Path of Exile, a complex ARPG with a deep build system where every upgrade needs to be weighed carefully. New league, new build. I was playing Exsanguinate\/Reap Trickster and wanted to understand what I should improve to get closer to top players.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">I sent Jarvis a link to my profile on <a href=\"https:\/\/poe.ninja\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">poe.ninja<\/a> and asked: \u201cWhat should I change in my build to improve DPS and survivability?\u201d<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The first attempt was not especially useful. The agent tried to open poe.ninja directly, but the site renders through JavaScript, so ordinary <code>web_fetch<\/code> could not extract the data. Jarvis said so immediately instead of making things up: without a browser or API, it could not compare my profile with top builds. It still gave me some general advice \u2014 gem-level scaling, cluster jewels, aura setup, spell suppression \u2014 but those were exactly that: general recommendations you could find in any guide.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">So I tried a different approach. At that point I still did not know about the agent&#8217;s built-in browser, which can work with JavaScript-heavy sites. I sent Jarvis my Path of Building code instead \u2014 a long encoded string containing essentially everything: passive tree, gear, gems, aura settings. In other words, a full snapshot of the character.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Jarvis decoded the PoB string, analyzed the build, and produced a detailed breakdown with concrete numbers:<\/p>\r\n\r\n\r\n\r\n<h4 class=\"nm-block-heading wp-block-heading\">What it found<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>DPS: Combined DPS ~5.4M, 100% crit with a 4.98x multiplier.<\/strong> That part looked fine.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Survivability was where things got interesting:<\/p>\r\n\r\n\r\n\r\n<ul class=\"nm-block-list wp-block-list\">\r\n<li><strong>Cold Resist 62%, Lightning 60%<\/strong> \u2014 both below cap. That is a serious weakness.<\/li>\r\n\r\n\r\n\r\n<li><strong>Chaos Resist -45%<\/strong> \u2014 chaos damage can tear the character apart.<\/li>\r\n\r\n\r\n\r\n<li><strong>Only 3,043 Life<\/strong> \u2014 critically low for level 94.<\/li>\r\n\r\n\r\n\r\n<li><strong>Negative mana (-129)<\/strong> \u2014 some of the auras cannot actually run.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h4 class=\"nm-block-heading wp-block-heading\">Specific problems I might have missed myself<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Watcher\u2019s Eye with a Pride modifier \u2014 but I was not using Pride.<\/strong> A dead modifier taking up space on one of the most expensive jewels in the build.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Level 2 Enlighten was too weak to fit all the aura reservations. I needed at least level 3, ideally 4.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Kikazaru gave curse reduction, but the ring itself was weak. If curses were not the main problem, a rare ring with resistances, life, and crit multi would be better.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Hrimsorrow was convenient for physical-damage conversion, but it provided no life and no offensive stats.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">When I explained that my resistances were fine with one aura active \u2014 the problem was simply that all the auras did not fit into the mana reservation \u2014 Jarvis immediately understood the priority: \u201cThen the plan is simple: Enlighten 4 first, then finish the resistances around the new aura setup.\u201d In other words, it understood what should be upgraded first.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">I also asked about farming strategies for the league. Jarvis did not pretend to know current prices when it could not verify them through web search, but its reasoning was sensible: \u201cInfluencers show their best runs, not their average ones. If you tried a strategy once and saw no result, the entry threshold may genuinely be high. For your current gear, that can be a trap. The best strategy is the one you can run quickly and without dying. Speed &gt; theoretical loot.\u201d<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">That is the kind of advice you would normally get from an experienced player after a long discussion on Reddit or Discord. Here it took a few Telegram messages, about a minute, and the answer was based on actual numbers from my own build.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Why does this example matter?<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">It showed me that Jarvis becomes much more useful when it works with my own data. With a general question, I got general advice. Once I gave it the PoB code, it was analyzing my actual character, found issues, and helped prioritize the next upgrades. Tasks like this are why I spent the time setting up OpenClaw in the first place.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">Your first week with OpenClaw<\/h2>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic48-1024x573.jpg\" alt=\"First week with OpenClaw: a plan for days 1\u20132, 3\u20134, and 5\u20137\" class=\"wp-image-71756\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic48-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic48-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic48-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic48-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic48-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic48-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic48.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>This is what I learned during my first week with OpenClaw \u2014 and what I wish I had known on day one.<\/strong><\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Days 1\u20132: just talk to the agent and get used to it<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Do not try to automate everything immediately.<\/strong> For the first couple of days, simply talk to the agent and give it ordinary work: summarize something, analyze a file, prepare a draft, find information. After a few days, you will see which tasks it genuinely simplifies and where it only adds extra steps.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Do two things early: install Gateway as a service with <code>openclaw gateway install<\/code> and run <code>openclaw security audit<\/code>. That way Gateway will not stop when you close the terminal, and the audit will catch problems in the main security settings.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Days 3\u20134: add tools one at a time<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Once you understand how the agent behaves on your own tasks, start adding tools one by one.<\/strong> Web Search, Calendar, Gmail \u2014 not everything in a single evening. If something breaks, this makes the cause much easier to find.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">For basic web research, <code>web_search<\/code> is enough. Enable Browser when you need JavaScript, account login, or interaction with a website, and preferably use a separate browser profile for it.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Check <code>openclaw hooks list<\/code> and keep only the Hooks whose purpose you understand.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Days 5\u20137: build your first Automation<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>For the first Automation, I would choose something simple and easy to verify \u2014 a morning briefing, for example.<\/strong> Once it works reliably for a few days, move on to more complex workflows.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Do not overcomplicate Heartbeat either. Start with a frequency that fits one specific task, keep the scratch short, and watch Usage. Then you will know whether you need a different model or a separate Automation.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Finish one workflow properly<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Pick one workflow and make it reliable enough that you know what to do when it fails.<\/strong> One dependable process is more useful than ten half-finished ones.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Treat OpenClaw like a new employee with significant permissions: start with the minimum access it needs, then expand that access only after you have seen how the agent behaves on real tasks.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">Conclusion<\/h2>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic49-1024x573.jpg\" alt=\"Final OpenClaw 2.0 illustration with the mascot\" class=\"wp-image-71759\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic49-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic49-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic49-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic49-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic49-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic49-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/09\/blog-openclaw-2.0-08-09-26-content-pic49.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>After all these tests, I see OpenClaw as a tool that gives an AI model access to files, commands, and memory.<\/strong> It became genuinely useful to me when Jarvis started working with my PoB, my files, and other concrete data.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Version 2.0 made the first run easier: onboarding can detect existing AI access, Control UI is more practical for day-to-day work, and Gateway can run as a service. The defaults are safer too. OpenClaw is developing very quickly, so I would always compare commands from older guides with the current documentation.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">I would define the agent&#8217;s access boundaries from the start. Review Skills and Plugins before installing them, give Browser only the permissions it actually needs, and do not expose Gateway to the network without a reason. If the agent can access the browser, files, and shell, I want to know exactly what it can do without asking me first.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">I would start the same way again: install OpenClaw, complete BOOTSTRAP, and give Jarvis one real task from my own work. If it is useful, add one tool, one Automation, and expand from there. After a few days, you will know whether an agent like this belongs in your everyday workflow.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If you still have questions, leave them in the comments. I will update this guide when OpenClaw changes in ways that materially affect installation, setup, or how the agent works.<\/p>\r\n\r\n\r\n","protected":false},"excerpt":{"rendered":"<p>OpenClaw 2.0 setup turns a regular AI model into a full-fledged personal agent. AI agents can already do far more than a standard chat: they can work with files, calendars, and email, run commands, search for information, and automate routine tasks. OpenClaw quickly became one of the most prominent open-source projects in this space and &hellip;<\/p>\n","protected":false},"author":10,"featured_media":71606,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2796],"tags":[],"class_list":["post-71770","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guides"],"_links":{"self":[{"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/posts\/71770","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/comments?post=71770"}],"version-history":[{"count":5,"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/posts\/71770\/revisions"}],"predecessor-version":[{"id":71793,"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/posts\/71770\/revisions\/71793"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/media\/71606"}],"wp:attachment":[{"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/media?parent=71770"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/categories?post=71770"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/tags?post=71770"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}