Notes from the workshop
How we think about agents that live in your messaging apps, what we learned building them, and the practical bits you can use today.
329 posts
All posts
What OpenClaw sends home
OpenClaw makes one outbound request a day by default, and the docs say exactly what it carries: version, operating system, Node.js version, architecture and surface, with no install identifier. Here is the whole picture, including the Cloudflare-derived location kept for three months, plus every switch that stops the requests.
OpenClaw environment variables
OpenClaw loads environment variables from five ranked sources, and your terminal is only one of them. Here is the precedence order, the rule that stops anything from overriding a value that already exists, and how to get a provider key into a systemd or launchd service.
The OpenClaw Control UI
The Gateway serves a browser dashboard on port 18789, and the first thing it shows is a single Gateway secret field. What that field accepts, why a browser on the same machine still has to fill it, what the agents roster and team mode do, and what to run when the LAN URL is blocked.
OpenClaw resume
You started a conversation in the OpenClaw Control UI and want to finish it in your terminal. Here is how the handoff works: openclaw resume, openclaw tui and openclaw attach, the short session links behind them, and the pairing step none of them can skip.
OpenClaw node troubleshooting
A node that shows connected has passed one check out of four. Device pairing admits the identity, a separate node request ID approves the command surface, gateway command policy decides whether the RPC command ID is allowed at all, and exec approvals decide whether a shell command may run on that host. On Linux a user-level systemd service dies at SSH logout unless lingering is enabled. Here is each gate, the lingering fix, and every node error code with its meaning.
Failed to start Chrome CDP on port 18800
The error gives you one line and no hint. On a Linux server the cause is almost always the browser: apt install chromium hands you a snap wrapper whose confinement breaks the way OpenClaw launches and watches Chrome. Here are the fixes, the six settings that matter, and the check that tells a CDP startup failure apart from a navigation block.
The OpenClaw browser relay
OpenClaw can drive a browser that is not on the Gateway's machine: a node host relays the actions, or a cdpUrl attaches to a hosted Chromium. Here is how routing, profiles and credentials behave.
OpenClaw ACP agents
OpenClaw runs external coding harnesses over the Agent Client Protocol: Claude Code, Gemini CLI, Cursor, Copilot, Droid, OpenCode and eleven more, spawned from a chat message and tracked as background tasks. The two-command acpx install, the first-run gotchas including the plugins.allow trap, the prerequisites checklist that decides whether the path is offered at all, and the seventeen harness target ids.
Triggering OpenClaw from Gmail
Gmail inbox events reach OpenClaw through a Google Pub/Sub topic, a watcher process, and the Gateway HTTP hook, and the built-in preset gives each email its own session without restricting anything else. Here is the gcloud topic and watch setup, the two-token model, the restricted sandboxed mail_reader agent the docs recommend, and the boundary test that tells you whether the reader is really contained.
One tenant, one cell
OpenClaw does not protect one customer from another inside a shared Gateway, and the supported shape is one complete instance per tenant, which openclaw fleet calls a cell. What a cell contains, what the four commands preserve, how the isolation ladder runs from hardened container to separate machines, and the surfaces Fleet deliberately leaves out.
Free models for OpenClaw
Four routes give you an OpenClaw agent without a token bill: NVIDIA's free endpoints, OpenRouter's :free catalogue, local runtimes and hosted free tiers. Here is what each one costs you in reliability, and how to check a model before you promote it to primary.
ClawHub telemetry
ClawHub collects minimal CLI telemetry to compute install counts. The interesting part is not what it sends but what it deliberately does not, and the way those counts behave once you understand that an install event records presence rather than a snapshot.
ClawHub troubleshooting
Sign-in that hangs, a 401 after a config change, a 429 you did not earn, a proxy that swallows requests, a skill missing from search, and a publish rejected for metadata. Each has a short diagnosis, and one of them is usually somebody else's traffic.
ClawHub content rights
A copyright or rights concern is not a moderation report and not a security advisory. It has its own form, its own required evidence, and an outcome set that includes leaving the content exactly where it is.
ClawHub acceptable usage
The policy covers what a listing does, what it asks users to run, how it represents itself, and how publishers use the trust surfaces. Its sharpest idea is that the same subject can be allowed or banned depending entirely on how it is packaged.
The ClawHub skill format
A skill is a folder with a SKILL.md in it. Everything else the registry knows about that skill comes from the frontmatter you declare, and getting that block right is most of the difference between a listing people trust and one they scroll past.
ClawHub namespace claims
Owner handles, org handles, skill slugs and package scopes are public namespaces, and sometimes the wrong person holds one. ClawHub has a specific, public process for that, separate from reports and appeals, and using the wrong door slows everything down.
ClawHub moderation
ClawHub is open to publishing, but the discovery and install surfaces still need guardrails. Reports, holds and hidden listings are how that works, and most of the confusion is about which problems belong in the report queue at all.
Reading a ClawHub security audit
A ClawHub audit tells you what a release does and what authority it asks for before you install it. The statuses are easy to read and easy to over-read, and the doc is unusually honest about what a pass does not prove.
ClawHub quickstart
The quickest way to lose an afternoon on ClawHub is to reach for the wrong binary. OpenClaw installs into OpenClaw; the clawhub CLI signs you in, publishes, and manages your listings. This walks the whole path, from a first search to a first release.
The ClawHub CLI
The clawhub CLI is small but opinionated. It keeps your token in one platform-specific file, respects corporate proxies, refuses to overwrite a fingerprint it does not recognise, and treats a pin as final. Here is what each of those behaviours is protecting.
The ClawHub API
ClawHub publishes its catalogue as a public REST API and invites third-party directories to use it, under four conditions. This covers the reuse rules, the anonymous-versus-keyed rate limits, and the header pair that says how long to wait.
ClawHub HTTP endpoints
The v1 endpoint surface splits cleanly into public reads, token-gated writes and a small admin corner. The interesting behaviour is at the edges: what a public caller is shown of a moderation record, and what a download returns for a GitHub-backed skill.
ClawHub explained
ClawHub is the registry layer for OpenClaw skills and plugins. This post walks through what a registry record actually holds, how a listing page is meant to be read before you install anything, how installs record their source so later updates resolve back to the same package, and what the scan and moderation state on a public page does and does not tell you.
Showing 24 of 329 posts
Stop reading about it, build one
Set up an agent, pick a channel, and have it working inside the app you already keep open.
























