Developers who want an AI assistant that lives on their own hardware instead of inside someone else’s cloud keep landing on one project: openclaw/openclaw. The OpenClaw GitHub repository has grown into one of the most talked about self-hosted AI projects of 2026, and for good reason. It runs on your own machine, connects to the chat apps you already use, and keeps your credentials and conversation history off someone else’s servers. This guide walks through what OpenClaw actually is, how the GitHub repository is organized, how to install it on macOS, Linux, or Windows, and how to configure it safely so it does not become a security liability the moment you connect it to the outside world.
If you build websites, run automation for clients, or manage internal tooling, understanding OpenClaw matters for the same reason understanding custom CRM automation and business process monitoring matters: businesses are increasingly comfortable running AI agents that take real actions, not just answer questions, and they want that control kept in-house rather than handed to a hosted SaaS vendor.
What Is OpenClaw?
OpenClaw describes itself as an AI assistant that runs on your own devices and meets you in the channels you already use, including Discord, iMessage, Slack, Microsoft Teams, Telegram, WhatsApp, and more than twenty other platforms, along with native apps for macOS, iOS, Android, Windows, and Linux. Instead of a single chat window, OpenClaw puts one assistant behind every conversation surface you use, so a request sent from Slack at your desk and a follow-up sent from WhatsApp on your phone are part of the same continuous session.
The project was originally built for Molty, a fictional space lobster AI assistant, by developer Peter Steinberger and a large open-source community, which explains the lobster branding and the recurring claw and crustacean references throughout the documentation and repository topics.
What separates OpenClaw from most consumer AI chat tools is where the data lives. State, memory, and credentials are stored on your own hardware rather than a vendor’s servers. Model access and agent harnesses, including Claude, Codex, and local models, are pluggable, so you can swap the underlying model without rebuilding your setup. By default, OpenClaw sends nothing home except a daily version check, and even that can be turned off.
The project is stewarded by the OpenClaw Foundation, an independent 501(c)(3) nonprofit, and has no paid tier, hosted service, or token, which matters if you are evaluating it for a client project the way you might evaluate any technology solutions vendor for long-term sustainability.
Understanding the OpenClaw GitHub Repository Structure
Before installing anything, it helps to understand what actually lives inside the OpenClaw GitHub repository. The repo is organized as a pnpm workspace with several key directories and files that show up constantly in setup discussions and troubleshooting threads:
- src — the core Gateway and assistant logic
- apps — the native applications for different platforms
- ui — the Control UI web dashboard
- docs — source files for the official documentation site
- skills — bundled and example agent skills
- extensions — add-on capabilities beyond the core install
- config — default and example configuration files
- security — security-related tooling and policy references
- CHANGELOG.md, README.md, CONTRIBUTING.md, SECURITY.md, VISION.md — the standard open-source project documents
At the time of writing, the repository has accumulated more than ninety thousand commits and carries hundreds of thousands of stars and tens of thousands of forks, which reflects both a large contributor base and a fast-moving release cadence. That pace is worth keeping in mind: OpenClaw changes quickly, so anything you read about specific version numbers or exact commands is worth double-checking against the current README before you run it in production.
Why Developers and Businesses Are Choosing Self-Hosted AI Assistants Like OpenClaw
The appeal of a project like OpenClaw is not just technical curiosity. It reflects a broader shift in how teams think about AI infrastructure. Instead of routing every conversation and every automated task through a third-party SaaS platform, developers increasingly want AI systems that run inside their own infrastructure, where they control retention, integrations, and execution.
This mirrors a pattern we see constantly in client work around small business automation and marketing automation platforms: businesses do not just want automation, they want automation whose data, logs, and access controls they can fully audit. A self-hosted assistant like OpenClaw gives technical teams that level of control, at the cost of needing to manage the server, updates, and security posture themselves rather than outsourcing that to a SaaS vendor.
For agencies and freelance developers, that tradeoff can be attractive: it becomes a service offering in its own right, similar to how a WordPress agency might offer managed hosting, backups, and security on top of the core CMS.
System Requirements Before You Install OpenClaw
OpenClaw supports macOS, Linux, and Windows, and the official installer provisions a supported Node.js runtime automatically if one is not already present. If you prefer to manage Node.js yourself, the minimum supported versions are Node 24.16 or newer, or Node 26.1 or newer, with Node 26 recommended by the maintainers for the smoothest experience.
Beyond Node.js, you will want:
- A recent npm version. The install command differs slightly between npm 12 or npm 11.16+ and older npm 11.15 and earlier releases.
- Enough disk space for the Gateway, its workspace, and any local models you plan to run alongside hosted ones.
- Network access to whichever chat platforms and model providers you intend to connect, since the Gateway needs outbound connectivity to those services.
- A basic comfort level with the command line, since setup and troubleshooting both happen primarily through the CLI and the onboarding wizard.
How to Install OpenClaw From GitHub Step by Step
There are two supported installation paths: the official installer script, and installing the published npm package directly if you already manage Node.js yourself.
Method 1: The Official Installer Script
On macOS, Linux, or WSL2, run:
curl -fsSL https://openclaw.ai/install.sh | bash
On Windows, using PowerShell:
iwr -useb https://openclaw.ai/install.ps1 | iex
The installer script handles provisioning a compatible Node.js runtime if you do not already have one, which removes one of the most common points of friction in getting a Node-based CLI tool running on a fresh machine.
Method 2: Installing the npm Package Directly
If you already manage Node.js on your system and prefer not to run a third-party install script, install the published package instead:
npm install -g openclaw@latest --allow-scripts=openclaw
The –allow-scripts flag is required on npm 12 and npm 11.16 or newer, since npm changed how it handles lifecycle scripts by default in those versions. If you are running npm 11.15 or an earlier release, omit that flag entirely.
Running the Onboarding Wizard
On a fresh install, the installer scripts start onboarding automatically. If you installed the package directly with npm, pnpm, or Bun instead, kick off onboarding manually:
openclaw onboard --install-daemon
Onboarding verifies model access, creates your workspace, and configures the Gateway, which is the local control plane that manages sessions, tools, events, and channel connections. Once onboarding completes, confirm everything is working:
- openclaw gateway status — checks that the Gateway process is running correctly
- openclaw dashboard — opens the Control UI in your browser so you can send a test message and confirm the assistant responds
Setting Up Channels: Connecting OpenClaw to Discord, Slack, Telegram, and More
Once the Gateway is running, the next step most people take is connecting a messaging channel so OpenClaw can be reached from the apps they already use daily. OpenClaw documents dedicated setup flows for channels including WhatsApp, Telegram, Slack, Discord, Google Chat, Signal, and iMessage, in addition to the native companion apps.
Channel setup generally follows the same pattern: you register a bot or app on the platform’s developer console, generate the necessary tokens, and add those credentials to OpenClaw’s configuration file. Because the exact steps differ by platform and change over time as each platform’s API evolves, the official channels documentation is the authoritative source to follow at setup time rather than relying on a screenshot from an older version.
For teams evaluating whether to run OpenClaw as a personal tool or a shared deployment across a whole team, the difference is largely configuration rather than architecture, similar to how a CRM with Gmail integration can serve one salesperson or an entire department depending on how permissions and workflows are set up.
Core Concepts: Gateway, Control UI, Channels, and Plugins
OpenClaw’s architecture is built around a small number of core concepts that show up throughout the documentation and are worth understanding before you go deep into configuration:
- Gateway — the local control plane responsible for sessions, tool execution, event handling, and channel connections. This is the component that actually runs on your server or laptop.
- Control UI, CLI, and TUI — the interfaces you use to talk to and manage the Gateway, ranging from a graphical dashboard to a full command-line interface and a terminal UI.
- Channels — the messaging integrations that bring the assistant into platforms like WhatsApp, Telegram, Slack, and Discord.
- Companion apps and nodes — native applications and device-local integrations that add capabilities such as voice input, camera access, screen sharing, and other device-specific actions on supported platforms.
- Model providers — the hosted and local AI models OpenClaw can call, configured independently of the rest of the system so you can switch providers without re-architecting anything.
- Tools, skills, and plugins — the extensibility layer that lets an assistant instance do more than chat, from running scripts to interacting with external services.
Configuring OpenClaw: Models, Auth, and the Gateway
With the Gateway installed and at least one channel connected, configuration mostly comes down to two things: choosing model providers and setting Gateway-level options.
Model configuration determines which AI model or models power the assistant’s responses. Because OpenClaw treats models and agent harnesses as swappable plugins, you can point a single Gateway at a hosted provider, a local model running on your own hardware, or a mix of both for different tasks, without changing how channels or skills are configured.
Gateway configuration covers broader operational settings: whether the daily version check is enabled, whether anonymous feature statistics are collected (which is opt-in, not on by default), and how sandboxing and tool execution permissions are set for the main session. Setting update.checkOnStart: false in the configuration disables both the version check and any related network call, for teams that want the Gateway to be fully silent on outbound telemetry.
OpenClaw Security: What You Need to Know Before Going Live
This is the section to read carefully before you connect OpenClaw to anything public-facing. The official documentation is explicit that inbound messages should be treated as untrusted input. Direct-message-capable channels pair unknown senders by default, requiring you to approve a pairing request before that sender’s messages are trusted, using a command such as openclaw pairing approve <channel> <code>.
By default, tools run directly on the host machine for the main session unless you explicitly configure sandboxing. That is a meaningful distinction: an assistant with host-level tool access that also accepts messages from untrusted senders is a real attack surface, not a theoretical one. Before connecting other users or exposing the Gateway remotely, the maintainers point to three specific resources that are worth treating as required reading rather than optional background:
- The general security guide, covering the trusted-gateway, untrusted-execution architecture model
- The exposure runbook, for anyone planning to expose the Gateway beyond localhost
- The sandboxing guide, for restricting what tools can actually touch on the host
This mirrors the advice we give clients around any self-managed system, whether that is WordPress security and malware removal or website backup and security: self-hosting gives you control, but control comes with the responsibility of actually configuring access correctly rather than assuming defaults are safe for a public deployment.
Extending OpenClaw With Tools, Skills, and Plugins
A stock Gateway can already hold conversations across your connected channels, but the more interesting use cases come from extending it. OpenClaw’s tools let the assistant take actions rather than just answer questions, skills package reusable instructions for specific kinds of work, and plugins bundle tools, skills, and integrations together into installable units built on the official plugin SDK.
New capabilities are generally expected to live in plugins rather than being merged into the core repository, and the community shares them through ClawHub, a dedicated directory for OpenClaw plugins. One community example found on GitHub is a plugin that fetches GitHub trending repositories and pushes AI-generated summaries to Feishu or email on a schedule, which illustrates the kind of narrow, composable capability the plugin model is designed to support rather than trying to build every feature into the core Gateway.
Because non-bundled, community plugins are not vetted by the core team the way built-in functionality is, OpenClaw requires you to explicitly allow a plugin’s ID in the configuration file before it will load without a security warning at the Gateway. That extra step is a deliberate friction point, not a bug, and it is worth keeping in place rather than routinely approving plugins without reviewing what they do.
OpenClaw on GitHub Codespaces and Cloud Deployment Options
Not everyone wants to run OpenClaw on a personal laptop that needs to stay powered on. A pattern that comes up frequently in community projects is deploying OpenClaw inside GitHub Codespaces for a zero-cost cloud environment, or using Nix-based packaging for reproducible builds across machines.
A typical Codespaces-based setup clones the repository, installs dependencies, builds the project, and links it globally, roughly following this shape:
git clone https://github.com/openclaw/openclaw.git ~/openclaw
cd ~/openclaw
npm install
npm run build
npm link
Codespaces automatically maps the Gateway’s default port for the Control UI to a public address, which is convenient for quick testing but is exactly the kind of exposure the security guide’s exposure runbook is written for. Free Codespaces usage resets monthly and pauses automatically after roughly thirty minutes of inactivity, so this path suits experimentation more than a permanent production deployment.
For teams building genuinely production-grade deployments, official deployment paths documented alongside the installer include Docker and Nix, both referenced directly in the installation guide, alongside a fly.toml file in the repository suggesting Fly.io as another supported target.
Building OpenClaw From Source: The Development Workflow
If you want to contribute to OpenClaw, or you need a build that tracks the very latest commits rather than a published release, the repository is set up as a pnpm workspace. A plain npm install at the repository root is explicitly not supported, so this is one of the more common mistakes newcomers make when they clone the repo expecting standard npm tooling to work out of the box.
The supported development setup looks like this:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm build
pnpm ui:build
The project’s CONTRIBUTING.md file documents the full contribution workflow, and the maintainers explicitly welcome AI-assisted pull requests, which is a notable and fairly progressive policy stance for a project of this size. If you get stuck, the issue chooser is the right place for bugs and feature requests, while general setup questions are better suited to the project’s Discord community than to a GitHub issue.
Common OpenClaw Installation Errors and How to Fix Them
Node.js Version Mismatches
Because OpenClaw requires Node 24.16+ or 26.1+, running an older Node version is one of the most common sources of installation failures. If you are not using the official installer script, which provisions a compatible runtime automatically, check your Node version before troubleshooting anything else.
npm Lifecycle Script Errors
Recent npm versions changed how they handle lifecycle scripts by default, which is why the install command includes –allow-scripts=openclaw. If you copy an install command from an older tutorial and it fails with a permissions or lifecycle-script-related error, check whether that flag is missing, or whether your npm version actually requires the opposite: omitting it on npm 11.15 and earlier.
Attempting a Plain npm install at the Repo Root
Since the repository is a pnpm workspace, running npm install directly in a cloned copy of the repo frequently produces confusing dependency errors. Use pnpm install instead when building from source.
Plugin Security Warnings at the Gateway
If you install a community plugin and see a persistent security warning, check that the plugin’s ID has actually been added to the plugins.allow list in your configuration file. This warning is intentional, not a sign that something is broken.
Gateway Unreachable After Remote Exposure
If the Gateway is unreachable after you have exposed it beyond localhost, first confirm the exposure runbook’s steps were followed, since network and firewall configuration is a far more common cause than a bug in OpenClaw itself.
OpenClaw Governance, Licensing, and Long-Term Viability
For any team evaluating whether to build on top of an open-source project, governance and licensing are not academic questions. OpenClaw is released under the MIT license, one of the most permissive open-source licenses available, and is developed by the OpenClaw Foundation, an independent 501(c)(3) nonprofit that employs the core team and signs releases.
The Foundation is funded by a mix of donors and infrastructure sponsors, including organizations such as OpenAI, Amazon, Red Hat, and the University of Michigan, alongside infrastructure support from GitHub, NVIDIA, and Vercel. The project’s own documentation is careful to note that these donors do not own or direct the project, which is a meaningful distinction if you are concerned about a single commercial sponsor being able to unilaterally change direction or introduce a paid tier down the line.
Frequently Asked Questions About OpenClaw on GitHub
Is OpenClaw free to use?
Yes. OpenClaw has no paid tier, hosted service, or token requirement, and the source code is released under the MIT license.
What operating systems does OpenClaw support?
The official installer supports macOS, Linux, and Windows, along with native companion apps for iOS and Android.
Do I need to know how to code to use OpenClaw?
Basic command-line comfort is helpful for installation and configuration, but the onboarding wizard and Control UI are designed to guide non-developers through initial setup. Extending OpenClaw with custom plugins or contributing to the core project does require development experience.
Can I run OpenClaw without exposing it to the internet?
Yes. Running OpenClaw entirely on localhost, connected only to channels that do not require inbound public access, is the lowest-risk configuration and is a reasonable starting point before considering any remote exposure.
What AI models can I use with OpenClaw?
OpenClaw treats models and agent harnesses as pluggable, with documented support for providers including Claude and Codex as well as local models, configured independently from the rest of the Gateway.
Is OpenClaw safe to connect to Slack or Discord for a whole team?
It can be, but only after reviewing the security guide, exposure runbook, and sandboxing guide, since tools run on the host by default and inbound messages should be treated as untrusted input until a sender is explicitly paired and approved.
Final Thoughts on Getting Started With OpenClaw
OpenClaw’s GitHub repository represents a genuinely different approach to AI assistants: self-hosted, channel-agnostic, and built around the idea that your data and credentials should stay on hardware you control. For developers comfortable with the command line, the installation process is short. Where the real work happens is in configuration and security, particularly around sandboxing, pairing approval, and plugin review, once you decide to connect OpenClaw to real chat platforms and let it take real actions on your behalf.
If your team is exploring self-hosted AI tooling as part of a broader push toward AI-powered lead generation and prospecting software or a wider digital consulting and process automation strategy, the same principles that apply to OpenClaw, careful configuration, sandboxing, and ongoing maintenance, apply to any self-managed automation stack you bring in-house.