refactor: rename clawdbot to moltbot with legacy compat

This commit is contained in:
Peter Steinberger
2026-01-27 12:19:58 +00:00
parent 83460df96f
commit 6d16a658e5
1839 changed files with 11250 additions and 11199 deletions

View File

@@ -1,5 +1,5 @@
---
summary: "Automated, hardened Clawdbot installation with Ansible, Tailscale VPN, and firewall isolation"
summary: "Automated, hardened Moltbot installation with Ansible, Tailscale VPN, and firewall isolation"
read_when:
- You want automated server deployment with security hardening
- You need firewall-isolated setup with VPN access
@@ -8,19 +8,19 @@ read_when:
# Ansible Installation
The recommended way to deploy Clawdbot to production servers is via **[clawdbot-ansible](https://github.com/clawdbot/clawdbot-ansible)** — an automated installer with security-first architecture.
The recommended way to deploy Moltbot to production servers is via **[moltbot-ansible](https://github.com/moltbot/moltbot-ansible)** — an automated installer with security-first architecture.
## Quick Start
One-command install:
```bash
curl -fsSL https://raw.githubusercontent.com/clawdbot/clawdbot-ansible/main/install.sh | bash
curl -fsSL https://raw.githubusercontent.com/moltbot/moltbot-ansible/main/install.sh | bash
```
> **📦 Full guide: [github.com/clawdbot/clawdbot-ansible](https://github.com/clawdbot/clawdbot-ansible)**
> **📦 Full guide: [github.com/moltbot/moltbot-ansible](https://github.com/moltbot/moltbot-ansible)**
>
> The clawdbot-ansible repo is the source of truth for Ansible deployment. This page is a quick overview.
> The moltbot-ansible repo is the source of truth for Ansible deployment. This page is a quick overview.
## What You Get
@@ -46,22 +46,22 @@ The Ansible playbook installs and configures:
2. **UFW firewall** (SSH + Tailscale ports only)
3. **Docker CE + Compose V2** (for agent sandboxes)
4. **Node.js 22.x + pnpm** (runtime dependencies)
5. **Clawdbot** (host-based, not containerized)
5. **Moltbot** (host-based, not containerized)
6. **Systemd service** (auto-start with security hardening)
Note: The gateway runs **directly on the host** (not in Docker), but agent sandboxes use Docker for isolation. See [Sandboxing](/gateway/sandboxing) for details.
## Post-Install Setup
After installation completes, switch to the clawdbot user:
After installation completes, switch to the moltbot user:
```bash
sudo -i -u clawdbot
sudo -i -u moltbot
```
The post-install script will guide you through:
1. **Onboarding wizard**: Configure Clawdbot settings
1. **Onboarding wizard**: Configure Moltbot settings
2. **Provider login**: Connect WhatsApp/Telegram/Discord/Signal
3. **Gateway testing**: Verify the installation
4. **Tailscale setup**: Connect to your VPN mesh
@@ -70,17 +70,17 @@ The post-install script will guide you through:
```bash
# Check service status
sudo systemctl status clawdbot
sudo systemctl status moltbot
# View live logs
sudo journalctl -u clawdbot -f
sudo journalctl -u moltbot -f
# Restart gateway
sudo systemctl restart clawdbot
sudo systemctl restart moltbot
# Provider login (run as clawdbot user)
sudo -i -u clawdbot
clawdbot channels login
# Provider login (run as moltbot user)
sudo -i -u moltbot
moltbot channels login
```
## Security Architecture
@@ -117,8 +117,8 @@ If you prefer manual control over the automation:
sudo apt update && sudo apt install -y ansible git
# 2. Clone repository
git clone https://github.com/clawdbot/clawdbot-ansible.git
cd clawdbot-ansible
git clone https://github.com/moltbot/moltbot-ansible.git
cd moltbot-ansible
# 3. Install Ansible collections
ansible-galaxy collection install -r requirements.yml
@@ -126,18 +126,18 @@ ansible-galaxy collection install -r requirements.yml
# 4. Run playbook
./run-playbook.sh
# Or run directly (then manually execute /tmp/clawdbot-setup.sh after)
# Or run directly (then manually execute /tmp/moltbot-setup.sh after)
# ansible-playbook playbook.yml --ask-become-pass
```
## Updating Clawdbot
## Updating Moltbot
The Ansible installer sets up Clawdbot for manual updates. See [Updating](/install/updating) for the standard update flow.
The Ansible installer sets up Moltbot for manual updates. See [Updating](/install/updating) for the standard update flow.
To re-run the Ansible playbook (e.g., for configuration changes):
```bash
cd clawdbot-ansible
cd moltbot-ansible
./run-playbook.sh
```
@@ -156,14 +156,14 @@ If you're locked out:
```bash
# Check logs
sudo journalctl -u clawdbot -n 100
sudo journalctl -u moltbot -n 100
# Verify permissions
sudo ls -la /opt/clawdbot
sudo ls -la /opt/moltbot
# Test manual start
sudo -i -u clawdbot
cd ~/clawdbot
sudo -i -u moltbot
cd ~/moltbot
pnpm start
```
@@ -174,32 +174,32 @@ pnpm start
sudo systemctl status docker
# Check sandbox image
sudo docker images | grep clawdbot-sandbox
sudo docker images | grep moltbot-sandbox
# Build sandbox image if missing
cd /opt/clawdbot/clawdbot
sudo -u clawdbot ./scripts/sandbox-setup.sh
cd /opt/moltbot/moltbot
sudo -u moltbot ./scripts/sandbox-setup.sh
```
### Provider login fails
Make sure you're running as the `clawdbot` user:
Make sure you're running as the `moltbot` user:
```bash
sudo -i -u clawdbot
clawdbot channels login
sudo -i -u moltbot
moltbot channels login
```
## Advanced Configuration
For detailed security architecture and troubleshooting:
- [Security Architecture](https://github.com/clawdbot/clawdbot-ansible/blob/main/docs/security.md)
- [Technical Details](https://github.com/clawdbot/clawdbot-ansible/blob/main/docs/architecture.md)
- [Troubleshooting Guide](https://github.com/clawdbot/clawdbot-ansible/blob/main/docs/troubleshooting.md)
- [Security Architecture](https://github.com/moltbot/moltbot-ansible/blob/main/docs/security.md)
- [Technical Details](https://github.com/moltbot/moltbot-ansible/blob/main/docs/architecture.md)
- [Troubleshooting Guide](https://github.com/moltbot/moltbot-ansible/blob/main/docs/troubleshooting.md)
## Related
- [clawdbot-ansible](https://github.com/clawdbot/clawdbot-ansible) — full deployment guide
- [moltbot-ansible](https://github.com/moltbot/moltbot-ansible) — full deployment guide
- [Docker](/install/docker) — containerized gateway setup
- [Sandboxing](/gateway/sandboxing) — agent sandbox configuration
- [Multi-Agent Sandbox & Tools](/multi-agent-sandbox-tools) — per-agent isolation

View File

@@ -9,7 +9,7 @@ read_when:
Last updated: 2026-01-21
Clawdbot ships three update channels:
Moltbot ships three update channels:
- **stable**: npm dist-tag `latest`.
- **beta**: npm dist-tag `beta` (builds under test).
@@ -23,9 +23,9 @@ without changing the version number — dist-tags are the source of truth for np
Git checkout:
```bash
clawdbot update --channel stable
clawdbot update --channel beta
clawdbot update --channel dev
moltbot update --channel stable
moltbot update --channel beta
moltbot update --channel dev
```
- `stable`/`beta` check out the latest matching tag (often the same tag).
@@ -34,17 +34,17 @@ clawdbot update --channel dev
npm/pnpm global install:
```bash
clawdbot update --channel stable
clawdbot update --channel beta
clawdbot update --channel dev
moltbot update --channel stable
moltbot update --channel beta
moltbot update --channel dev
```
This updates via the corresponding npm dist-tag (`latest`, `beta`, `dev`).
When you **explicitly** switch channels with `--channel`, Clawdbot also aligns
When you **explicitly** switch channels with `--channel`, Moltbot also aligns
the install method:
- `dev` ensures a git checkout (default `~/clawdbot`, override with `CLAWDBOT_GIT_DIR`),
- `dev` ensures a git checkout (default `~/moltbot`, override with `CLAWDBOT_GIT_DIR`),
updates it, and installs the global CLI from that checkout.
- `stable`/`beta` installs from npm using the matching dist-tag.
@@ -52,7 +52,7 @@ Tip: if you want stable + dev in parallel, keep two clones and point your gatewa
## Plugins and channels
When you switch channels with `clawdbot update`, Clawdbot also syncs plugin sources:
When you switch channels with `moltbot update`, Moltbot also syncs plugin sources:
- `dev` prefers bundled plugins from the git checkout.
- `stable` and `beta` restore npm-installed plugin packages.

View File

@@ -1,5 +1,5 @@
---
summary: "Optional Docker-based setup and onboarding for Clawdbot"
summary: "Optional Docker-based setup and onboarding for Moltbot"
read_when:
- You want a containerized gateway instead of local installs
- You are validating the Docker flow
@@ -11,12 +11,12 @@ Docker is **optional**. Use it only if you want a containerized gateway or to va
## Is Docker right for me?
- **Yes**: you want an isolated, throwaway gateway environment or to run Clawdbot on a host without local installs.
- **Yes**: you want an isolated, throwaway gateway environment or to run Moltbot on a host without local installs.
- **No**: youre running on your own machine and just want the fastest dev loop. Use the normal install flow instead.
- **Sandboxing note**: agent sandboxing uses Docker too, but it does **not** require the full gateway to run in Docker. See [Sandboxing](/gateway/sandboxing).
This guide covers:
- Containerized Gateway (full Clawdbot in Docker)
- Containerized Gateway (full Moltbot in Docker)
- Per-session Agent Sandbox (host gateway + Docker-isolated agent tools)
Sandboxing details: [Sandboxing](/gateway/sandboxing)
@@ -61,9 +61,9 @@ Running on a VPS? See [Hetzner (Docker VPS)](/platforms/hetzner).
### Manual flow (compose)
```bash
docker build -t clawdbot:local -f Dockerfile .
docker compose run --rm clawdbot-cli onboard
docker compose up -d clawdbot-gateway
docker build -t moltbot:local -f Dockerfile .
docker compose run --rm moltbot-cli onboard
docker compose up -d moltbot-gateway
```
### Extra mounts (optional)
@@ -71,7 +71,7 @@ docker compose up -d clawdbot-gateway
If you want to mount additional host directories into the containers, set
`CLAWDBOT_EXTRA_MOUNTS` before running `docker-setup.sh`. This accepts a
comma-separated list of Docker bind mounts and applies them to both
`clawdbot-gateway` and `clawdbot-cli` by generating `docker-compose.extra.yml`.
`moltbot-gateway` and `moltbot-cli` by generating `docker-compose.extra.yml`.
Example:
@@ -97,14 +97,14 @@ named volume here (not a bind path); for bind mounts, use
Example:
```bash
export CLAWDBOT_HOME_VOLUME="clawdbot_home"
export CLAWDBOT_HOME_VOLUME="moltbot_home"
./docker-setup.sh
```
You can combine this with extra mounts:
```bash
export CLAWDBOT_HOME_VOLUME="clawdbot_home"
export CLAWDBOT_HOME_VOLUME="moltbot_home"
export CLAWDBOT_EXTRA_MOUNTS="$HOME/.codex:/home/node/.codex:ro,$HOME/github:/home/node/github:rw"
./docker-setup.sh
```
@@ -172,17 +172,17 @@ Use the CLI container to configure channels, then restart the gateway if needed.
WhatsApp (QR):
```bash
docker compose run --rm clawdbot-cli channels login
docker compose run --rm moltbot-cli channels login
```
Telegram (bot token):
```bash
docker compose run --rm clawdbot-cli channels add --channel telegram --token "<token>"
docker compose run --rm moltbot-cli channels add --channel telegram --token "<token>"
```
Discord (bot token):
```bash
docker compose run --rm clawdbot-cli channels add --channel discord --token "<token>"
docker compose run --rm moltbot-cli channels add --channel discord --token "<token>"
```
Docs: [WhatsApp](/channels/whatsapp), [Telegram](/channels/telegram), [Discord](/channels/discord)
@@ -190,7 +190,7 @@ Docs: [WhatsApp](/channels/whatsapp), [Telegram](/channels/telegram), [Discord](
### Health check
```bash
docker compose exec clawdbot-gateway node dist/index.js health --token "$CLAWDBOT_GATEWAY_TOKEN"
docker compose exec moltbot-gateway node dist/index.js health --token "$CLAWDBOT_GATEWAY_TOKEN"
```
### E2E smoke test (Docker)
@@ -242,7 +242,7 @@ precedence, and troubleshooting.
### Default behavior
- Image: `clawdbot-sandbox:bookworm-slim`
- Image: `moltbot-sandbox:bookworm-slim`
- One container per agent
- Agent workspace access: `workspaceAccess: "none"` (default) uses `~/.clawdbot/sandboxes`
- `"ro"` keeps the sandbox workspace at `/workspace` and mounts the agent workspace read-only at `/agent` (disables `write`/`edit`/`apply_patch`)
@@ -258,9 +258,9 @@ If you plan to install packages in `setupCommand`, note:
- Default `docker.network` is `"none"` (no egress).
- `readOnlyRoot: true` blocks package installs.
- `user` must be root for `apt-get` (omit `user` or set `user: "0:0"`).
Clawdbot auto-recreates containers when `setupCommand` (or docker config) changes
Moltbot auto-recreates containers when `setupCommand` (or docker config) changes
unless the container was **recently used** (within ~5 minutes). Hot containers
log a warning with the exact `clawdbot sandbox recreate ...` command.
log a warning with the exact `moltbot sandbox recreate ...` command.
```json5
{
@@ -272,7 +272,7 @@ log a warning with the exact `clawdbot sandbox recreate ...` command.
workspaceAccess: "none", // none | ro | rw
workspaceRoot: "~/.clawdbot/sandboxes",
docker: {
image: "clawdbot-sandbox:bookworm-slim",
image: "moltbot-sandbox:bookworm-slim",
workdir: "/workspace",
readOnlyRoot: true,
tmpfs: ["/tmp", "/var/tmp", "/run"],
@@ -290,7 +290,7 @@ log a warning with the exact `clawdbot sandbox recreate ...` command.
nproc: 256
},
seccompProfile: "/path/to/seccomp.json",
apparmorProfile: "clawdbot-sandbox",
apparmorProfile: "moltbot-sandbox",
dns: ["1.1.1.1", "8.8.8.8"],
extraHosts: ["internal.service:10.0.0.5"]
},
@@ -325,7 +325,7 @@ Multi-agent: override `agents.defaults.sandbox.{docker,browser,prune}.*` per age
scripts/sandbox-setup.sh
```
This builds `clawdbot-sandbox:bookworm-slim` using `Dockerfile.sandbox`.
This builds `moltbot-sandbox:bookworm-slim` using `Dockerfile.sandbox`.
### Sandbox common image (optional)
If you want a sandbox image with common build tooling (Node, Go, Rust, etc.), build the common image:
@@ -334,11 +334,11 @@ If you want a sandbox image with common build tooling (Node, Go, Rust, etc.), bu
scripts/sandbox-common-setup.sh
```
This builds `clawdbot-sandbox-common:bookworm-slim`. To use it:
This builds `moltbot-sandbox-common:bookworm-slim`. To use it:
```json5
{
agents: { defaults: { sandbox: { docker: { image: "clawdbot-sandbox-common:bookworm-slim" } } } }
agents: { defaults: { sandbox: { docker: { image: "moltbot-sandbox-common:bookworm-slim" } } } }
}
```
@@ -350,7 +350,7 @@ To run the browser tool inside the sandbox, build the browser image:
scripts/sandbox-browser-setup.sh
```
This builds `clawdbot-sandbox-browser:bookworm-slim` using
This builds `moltbot-sandbox-browser:bookworm-slim` using
`Dockerfile.sandbox-browser`. The container runs Chromium with CDP enabled and
an optional noVNC observer (headful via Xvfb).
@@ -379,7 +379,7 @@ Custom browser image:
{
agents: {
defaults: {
sandbox: { browser: { image: "my-clawdbot-browser" } }
sandbox: { browser: { image: "my-moltbot-browser" } }
}
}
}
@@ -398,14 +398,14 @@ Prune rules (`agents.defaults.sandbox.prune`) apply to browser containers too.
Build your own image and point config to it:
```bash
docker build -t my-clawdbot-sbx -f Dockerfile.sandbox .
docker build -t my-moltbot-sbx -f Dockerfile.sandbox .
```
```json5
{
agents: {
defaults: {
sandbox: { docker: { image: "my-clawdbot-sbx" } }
sandbox: { docker: { image: "my-moltbot-sbx" } }
}
}
}
@@ -437,11 +437,11 @@ Example:
## Troubleshooting
- Image missing: build with [`scripts/sandbox-setup.sh`](https://github.com/clawdbot/clawdbot/blob/main/scripts/sandbox-setup.sh) or set `agents.defaults.sandbox.docker.image`.
- Image missing: build with [`scripts/sandbox-setup.sh`](https://github.com/moltbot/moltbot/blob/main/scripts/sandbox-setup.sh) or set `agents.defaults.sandbox.docker.image`.
- Container not running: it will auto-create per session on demand.
- Permission errors in sandbox: set `docker.user` to a UID:GID that matches your
mounted workspace ownership (or chown the workspace folder).
- Custom tools not found: Clawdbot runs commands with `sh -lc` (login shell), which
- Custom tools not found: Moltbot runs commands with `sh -lc` (login shell), which
sources `/etc/profile` and may reset PATH. Set `docker.env.PATH` to prepend your
custom tool paths (e.g., `/custom/bin:/usr/local/share/npm-global/bin`), or add
a script under `/etc/profile.d/` in your Dockerfile.

View File

@@ -1,7 +1,7 @@
---
summary: "Install Clawdbot (recommended installer, global install, or from source)"
summary: "Install Moltbot (recommended installer, global install, or from source)"
read_when:
- Installing Clawdbot
- Installing Moltbot
- You want to install from GitHub
---
@@ -24,7 +24,7 @@ iwr -useb https://molt.bot/install.ps1 | iex
Next step (if you skipped onboarding):
```bash
clawdbot onboard --install-daemon
moltbot onboard --install-daemon
```
## System requirements
@@ -37,7 +37,7 @@ clawdbot onboard --install-daemon
### 1) Installer script (recommended)
Installs `clawdbot` globally via npm and runs onboarding.
Installs `moltbot` globally via npm and runs onboarding.
```bash
curl -fsSL https://molt.bot/install.sh | bash
@@ -62,13 +62,13 @@ curl -fsSL https://molt.bot/install.sh | bash -s -- --no-onboard
If you already have Node:
```bash
npm install -g clawdbot@latest
npm install -g moltbot@latest
```
If you have libvips installed globally (common on macOS via Homebrew) and `sharp` fails to install, force prebuilt binaries:
```bash
SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g clawdbot@latest
SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g moltbot@latest
```
If you see `sharp: Please add node-gyp to your dependencies`, either install build tooling (macOS: Xcode CLT + `npm install -g node-gyp`) or use the `SHARP_IGNORE_GLOBAL_LIBVIPS=1` workaround above to skip the native build.
@@ -76,27 +76,27 @@ If you see `sharp: Please add node-gyp to your dependencies`, either install bui
Or:
```bash
pnpm add -g clawdbot@latest
pnpm add -g moltbot@latest
```
Then:
```bash
clawdbot onboard --install-daemon
moltbot onboard --install-daemon
```
### 3) From source (contributors/dev)
```bash
git clone https://github.com/clawdbot/clawdbot.git
cd clawdbot
git clone https://github.com/moltbot/moltbot.git
cd moltbot
pnpm install
pnpm ui:build # auto-installs UI deps on first run
pnpm build
clawdbot onboard --install-daemon
moltbot onboard --install-daemon
```
Tip: if you dont have a global install yet, run repo commands via `pnpm clawdbot ...`.
Tip: if you dont have a global install yet, run repo commands via `pnpm moltbot ...`.
### 4) Other install options
@@ -107,16 +107,16 @@ Tip: if you dont have a global install yet, run repo commands via `pnpm clawd
## After install
- Run onboarding: `clawdbot onboard --install-daemon`
- Quick check: `clawdbot doctor`
- Check gateway health: `clawdbot status` + `clawdbot health`
- Open the dashboard: `clawdbot dashboard`
- Run onboarding: `moltbot onboard --install-daemon`
- Quick check: `moltbot doctor`
- Check gateway health: `moltbot status` + `moltbot health`
- Open the dashboard: `moltbot dashboard`
## Install method: npm vs git (installer)
The installer supports two methods:
- `npm` (default): `npm install -g clawdbot@latest`
- `npm` (default): `npm install -g moltbot@latest`
- `git`: clone/build from GitHub and run from a source checkout
### CLI flags
@@ -132,7 +132,7 @@ curl -fsSL https://molt.bot/install.sh | bash -s -- --install-method git
Common flags:
- `--install-method npm|git`
- `--git-dir <path>` (default: `~/clawdbot`)
- `--git-dir <path>` (default: `~/moltbot`)
- `--no-git-update` (skip `git pull` when using an existing checkout)
- `--no-prompt` (disable prompts; required in CI/automation)
- `--dry-run` (print what would happen; make no changes)
@@ -150,7 +150,7 @@ Equivalent env vars (useful for automation):
- `CLAWDBOT_NO_ONBOARD=1`
- `SHARP_IGNORE_GLOBAL_LIBVIPS=0|1` (default: `1`; avoids `sharp` building against system libvips)
## Troubleshooting: `clawdbot` not found (PATH)
## Troubleshooting: `moltbot` not found (PATH)
Quick diagnosis:
@@ -161,7 +161,7 @@ npm prefix -g
echo "$PATH"
```
If `$(npm prefix -g)/bin` (macOS/Linux) or `$(npm prefix -g)` (Windows) is **not** present inside `echo "$PATH"`, your shell cant find global npm binaries (including `clawdbot`).
If `$(npm prefix -g)/bin` (macOS/Linux) or `$(npm prefix -g)` (Windows) is **not** present inside `echo "$PATH"`, your shell cant find global npm binaries (including `moltbot`).
Fix: add it to your shell startup file (zsh: `~/.zshrc`, bash: `~/.bashrc`):

View File

@@ -8,7 +8,7 @@ read_when:
# Installer internals
Clawdbot ships two installer scripts (served from `molt.bot`):
Moltbot ships two installer scripts (served from `molt.bot`):
- `https://molt.bot/install.sh` — “recommended” installer (global npm install by default; can also install from a GitHub checkout)
- `https://molt.bot/install-cli.sh` — non-root-friendly CLI installer (installs into a prefix with its own Node)
@@ -26,7 +26,7 @@ Windows (PowerShell) help:
& ([scriptblock]::Create((iwr -useb https://molt.bot/install.ps1))) -?
```
If the installer completes but `clawdbot` is not found in a new terminal, its usually a Node/npm PATH issue. See: [Install](/install#nodejs--npm-path-sanity).
If the installer completes but `moltbot` is not found in a new terminal, its usually a Node/npm PATH issue. See: [Install](/install#nodejs--npm-path-sanity).
## install.sh (recommended)
@@ -35,11 +35,11 @@ What it does (high level):
- Detect OS (macOS / Linux / WSL).
- Ensure Node.js **22+** (macOS via Homebrew; Linux via NodeSource).
- Choose install method:
- `npm` (default): `npm install -g clawdbot@latest`
- `npm` (default): `npm install -g moltbot@latest`
- `git`: clone/build a source checkout and install a wrapper script
- On Linux: avoid global npm permission errors by switching npms prefix to `~/.npm-global` when needed.
- If upgrading an existing install: runs `clawdbot doctor --non-interactive` (best effort).
- For git installs: runs `clawdbot doctor --non-interactive` after install/update (best effort).
- If upgrading an existing install: runs `moltbot doctor --non-interactive` (best effort).
- For git installs: runs `moltbot doctor --non-interactive` after install/update (best effort).
- Mitigates `sharp` native install gotchas by defaulting `SHARP_IGNORE_GLOBAL_LIBVIPS=1` (avoids building against system libvips).
If you *want* `sharp` to link against a globally-installed libvips (or youre debugging), set:
@@ -50,7 +50,7 @@ SHARP_IGNORE_GLOBAL_LIBVIPS=0 curl -fsSL https://molt.bot/install.sh | bash
### Discoverability / “git install” prompt
If you run the installer while **already inside a Clawdbot source checkout** (detected via `package.json` + `pnpm-workspace.yaml`), it prompts:
If you run the installer while **already inside a Moltbot source checkout** (detected via `package.json` + `pnpm-workspace.yaml`), it prompts:
- update and use this checkout (`git`)
- or migrate to the global npm install (`npm`)
@@ -73,7 +73,7 @@ On some Linux setups (especially after installing Node via the system package ma
## install-cli.sh (non-root CLI installer)
This script installs `clawdbot` into a prefix (default: `~/.clawdbot`) and also installs a dedicated Node runtime under that prefix, so it can work on machines where you dont want to touch the system Node/npm.
This script installs `moltbot` into a prefix (default: `~/.clawdbot`) and also installs a dedicated Node runtime under that prefix, so it can work on machines where you dont want to touch the system Node/npm.
Help:
@@ -87,9 +87,9 @@ What it does (high level):
- Ensure Node.js **22+** (winget/Chocolatey/Scoop or manual).
- Choose install method:
- `npm` (default): `npm install -g clawdbot@latest`
- `npm` (default): `npm install -g moltbot@latest`
- `git`: clone/build a source checkout and install a wrapper script
- Runs `clawdbot doctor --non-interactive` on upgrades and git installs (best effort).
- Runs `moltbot doctor --non-interactive` on upgrades and git installs (best effort).
Examples:
@@ -102,7 +102,7 @@ iwr -useb https://molt.bot/install.ps1 | iex -InstallMethod git
```
```powershell
iwr -useb https://molt.bot/install.ps1 | iex -InstallMethod git -GitDir "C:\\clawdbot"
iwr -useb https://molt.bot/install.ps1 | iex -InstallMethod git -GitDir "C:\\moltbot"
```
Environment variables:
@@ -118,5 +118,5 @@ Git for Windows link (`https://git-scm.com/download/win`) and exit.
Common Windows issues:
- **npm error spawn git / ENOENT**: install Git for Windows and reopen PowerShell, then rerun the installer.
- **"clawdbot" is not recognized**: your npm global bin folder is not on PATH. Most systems use
- **"moltbot" is not recognized**: your npm global bin folder is not on PATH. Most systems use
`%AppData%\\npm`. You can also run `npm config get prefix` and add `\\bin` to PATH, then reopen PowerShell.

View File

@@ -1,12 +1,12 @@
---
summary: "Move (migrate) a Clawdbot install from one machine to another"
summary: "Move (migrate) a Moltbot install from one machine to another"
read_when:
- You are moving Clawdbot to a new laptop/server
- You are moving Moltbot to a new laptop/server
- You want to preserve sessions, auth, and channel logins (WhatsApp, etc.)
---
# Migrating Clawdbot to a new machine
# Migrating Moltbot to a new machine
This guide migrates a Clawdbot Gateway from one machine to another **without redoing onboarding**.
This guide migrates a Moltbot Gateway from one machine to another **without redoing onboarding**.
The migration is simple conceptually:
@@ -31,7 +31,7 @@ But it may be different if you use:
If youre not sure, run on the **old** machine:
```bash
clawdbot status
moltbot status
```
Look for mentions of `CLAWDBOT_STATE_DIR` / profile in the output. If you run multiple gateways, repeat for each profile.
@@ -49,7 +49,7 @@ Your workspace is where files like `MEMORY.md`, `USER.md`, and `memory/*.md` liv
If you copy **both** the state dir and workspace, you keep:
- Gateway configuration (`clawdbot.json`)
- Gateway configuration (`moltbot.json`)
- Auth profiles / API keys / OAuth tokens
- Session history + agent state
- Channel state (e.g. WhatsApp login/session)
@@ -70,7 +70,7 @@ Those live under `$CLAWDBOT_STATE_DIR`.
On the **old** machine, stop the gateway first so files arent changing mid-copy:
```bash
clawdbot gateway stop
moltbot gateway stop
```
(Optional but recommended) archive the state dir and workspace:
@@ -78,14 +78,14 @@ clawdbot gateway stop
```bash
# Adjust paths if you use a profile or custom locations
cd ~
tar -czf clawdbot-state.tgz .clawdbot
tar -czf moltbot-state.tgz .clawdbot
tar -czf clawd-workspace.tgz clawd
```
If you have multiple profiles/state dirs (e.g. `~/.clawdbot-main`, `~/.clawdbot-work`), archive each.
### Step 1 — Install Clawdbot on the new machine
### Step 1 — Install Moltbot on the new machine
On the **new** machine, install the CLI (and Node if needed):
@@ -116,7 +116,7 @@ After copying, ensure:
On the **new** machine:
```bash
clawdbot doctor
moltbot doctor
```
Doctor is the “safe boring” command. It repairs services, applies config migrations, and warns about mismatches.
@@ -124,8 +124,8 @@ Doctor is the “safe boring” command. It repairs services, applies config mig
Then:
```bash
clawdbot gateway restart
clawdbot status
moltbot gateway restart
moltbot status
```
## Common footguns (and how to avoid them)
@@ -141,12 +141,12 @@ If you ran the old gateway with a profile (or `CLAWDBOT_STATE_DIR`), and the new
Fix: run the gateway/service using the **same** profile/state dir you migrated, then rerun:
```bash
clawdbot doctor
moltbot doctor
```
### Footgun: copying only `clawdbot.json`
### Footgun: copying only `moltbot.json`
`clawdbot.json` is not enough. Many providers store state under:
`moltbot.json` is not enough. Many providers store state under:
- `$CLAWDBOT_STATE_DIR/credentials/`
- `$CLAWDBOT_STATE_DIR/agents/<agentId>/...`
@@ -178,7 +178,7 @@ If youre in remote mode, migrate the **gateway host**.
On the new machine, confirm:
- `clawdbot status` shows the gateway running
- `moltbot status` shows the gateway running
- Your channels are still connected (e.g. WhatsApp doesnt require re-pair)
- The dashboard opens and shows existing sessions
- Your workspace files (memory, configs) are present
@@ -187,4 +187,4 @@ On the new machine, confirm:
- [Doctor](/gateway/doctor)
- [Gateway troubleshooting](/gateway/troubleshooting)
- [Where does Clawdbot store its data?](/help/faq#where-does-clawdbot-store-its-data)
- [Where does Moltbot store its data?](/help/faq#where-does-moltbot-store-its-data)

View File

@@ -1,5 +1,5 @@
---
summary: "Install Clawdbot declaratively with Nix"
summary: "Install Moltbot declaratively with Nix"
read_when:
- You want reproducible, rollback-able installs
- You're already using Nix/NixOS/Home Manager
@@ -8,30 +8,30 @@ read_when:
# Nix Installation
The recommended way to run Clawdbot with Nix is via **[nix-clawdbot](https://github.com/clawdbot/nix-clawdbot)** — a batteries-included Home Manager module.
The recommended way to run Moltbot with Nix is via **[nix-moltbot](https://github.com/moltbot/nix-moltbot)** — a batteries-included Home Manager module.
## Quick Start
Paste this to your AI agent (Claude, Cursor, etc.):
```text
I want to set up nix-clawdbot on my Mac.
Repository: github:clawdbot/nix-clawdbot
I want to set up nix-moltbot on my Mac.
Repository: github:moltbot/nix-moltbot
What I need you to do:
1. Check if Determinate Nix is installed (if not, install it)
2. Create a local flake at ~/code/clawdbot-local using templates/agent-first/flake.nix
2. Create a local flake at ~/code/moltbot-local using templates/agent-first/flake.nix
3. Help me create a Telegram bot (@BotFather) and get my chat ID (@userinfobot)
4. Set up secrets (bot token, Anthropic key) - plain files at ~/.secrets/ is fine
5. Fill in the template placeholders and run home-manager switch
6. Verify: launchd running, bot responds to messages
Reference the nix-clawdbot README for module options.
Reference the nix-moltbot README for module options.
```
> **📦 Full guide: [github.com/clawdbot/nix-clawdbot](https://github.com/clawdbot/nix-clawdbot)**
> **📦 Full guide: [github.com/moltbot/nix-moltbot](https://github.com/moltbot/nix-moltbot)**
>
> The nix-clawdbot repo is the source of truth for Nix installation. This page is just a quick overview.
> The nix-moltbot repo is the source of truth for Nix installation. This page is just a quick overview.
## What you get
@@ -44,9 +44,9 @@ Reference the nix-clawdbot README for module options.
## Nix Mode Runtime Behavior
When `CLAWDBOT_NIX_MODE=1` is set (automatic with nix-clawdbot):
When `CLAWDBOT_NIX_MODE=1` is set (automatic with nix-moltbot):
Clawdbot supports a **Nix mode** that makes configuration deterministic and disables auto-install flows.
Moltbot supports a **Nix mode** that makes configuration deterministic and disables auto-install flows.
Enable it by exporting:
```bash
@@ -57,15 +57,15 @@ On macOS, the GUI app does not automatically inherit shell env vars. You can
also enable Nix mode via defaults:
```bash
defaults write com.clawdbot.mac clawdbot.nixMode -bool true
defaults write com.clawdbot.mac moltbot.nixMode -bool true
```
### Config + state paths
Clawdbot reads JSON5 config from `CLAWDBOT_CONFIG_PATH` and stores mutable data in `CLAWDBOT_STATE_DIR`.
Moltbot reads JSON5 config from `CLAWDBOT_CONFIG_PATH` and stores mutable data in `CLAWDBOT_STATE_DIR`.
- `CLAWDBOT_STATE_DIR` (default: `~/.clawdbot`)
- `CLAWDBOT_CONFIG_PATH` (default: `$CLAWDBOT_STATE_DIR/clawdbot.json`)
- `CLAWDBOT_CONFIG_PATH` (default: `$CLAWDBOT_STATE_DIR/moltbot.json`)
When running under Nix, set these explicitly to Nix-managed locations so runtime state and config
stay out of the immutable store.
@@ -81,15 +81,15 @@ stay out of the immutable store.
The macOS packaging flow expects a stable Info.plist template at:
```
apps/macos/Sources/Clawdbot/Resources/Info.plist
apps/macos/Sources/Moltbot/Resources/Info.plist
```
[`scripts/package-mac-app.sh`](https://github.com/clawdbot/clawdbot/blob/main/scripts/package-mac-app.sh) copies this template into the app bundle and patches dynamic fields
[`scripts/package-mac-app.sh`](https://github.com/moltbot/moltbot/blob/main/scripts/package-mac-app.sh) copies this template into the app bundle and patches dynamic fields
(bundle ID, version/build, Git SHA, Sparkle keys). This keeps the plist deterministic for SwiftPM
packaging and Nix builds (which do not rely on a full Xcode toolchain).
## Related
- [nix-clawdbot](https://github.com/clawdbot/nix-clawdbot) — full setup guide
- [nix-moltbot](https://github.com/moltbot/nix-moltbot) — full setup guide
- [Wizard](/start/wizard) — non-Nix CLI setup
- [Docker](/install/docker) — containerized setup

View File

@@ -2,16 +2,16 @@
title: "Node.js + npm (PATH sanity)"
summary: "Node.js + npm install sanity: versions, PATH, and global installs"
read_when:
- "You installed Clawdbot but `clawdbot` is “command not found”"
- "You installed Moltbot but `moltbot` is “command not found”"
- "Youre setting up Node.js/npm on a new machine"
- "npm install -g ... fails with permissions or PATH issues"
---
# Node.js + npm (PATH sanity)
Clawdbots runtime baseline is **Node 22+**.
Moltbots runtime baseline is **Node 22+**.
If you can run `npm install -g clawdbot@latest` but later see `clawdbot: command not found`, its almost always a **PATH** issue: the directory where npm puts global binaries isnt on your shells PATH.
If you can run `npm install -g moltbot@latest` but later see `moltbot: command not found`, its almost always a **PATH** issue: the directory where npm puts global binaries isnt on your shells PATH.
## Quick diagnosis
@@ -24,7 +24,7 @@ npm prefix -g
echo "$PATH"
```
If `$(npm prefix -g)/bin` (macOS/Linux) or `$(npm prefix -g)` (Windows) is **not** present inside `echo "$PATH"`, your shell cant find global npm binaries (including `clawdbot`).
If `$(npm prefix -g)/bin` (macOS/Linux) or `$(npm prefix -g)` (Windows) is **not** present inside `echo "$PATH"`, your shell cant find global npm binaries (including `moltbot`).
## Fix: put npms global bin dir on PATH

View File

@@ -1,14 +1,14 @@
---
summary: "Uninstall Clawdbot completely (CLI, service, state, workspace)"
summary: "Uninstall Moltbot completely (CLI, service, state, workspace)"
read_when:
- You want to remove Clawdbot from a machine
- You want to remove Moltbot from a machine
- The gateway service is still running after uninstall
---
# Uninstall
Two paths:
- **Easy path** if `clawdbot` is still installed.
- **Easy path** if `moltbot` is still installed.
- **Manual service removal** if the CLI is gone but the service is still running.
## Easy path (CLI still installed)
@@ -16,14 +16,14 @@ Two paths:
Recommended: use the built-in uninstaller:
```bash
clawdbot uninstall
moltbot uninstall
```
Non-interactive (automation / npx):
```bash
clawdbot uninstall --all --yes --non-interactive
npx -y clawdbot uninstall --all --yes --non-interactive
moltbot uninstall --all --yes --non-interactive
npx -y moltbot uninstall --all --yes --non-interactive
```
Manual steps (same result):
@@ -31,13 +31,13 @@ Manual steps (same result):
1) Stop the gateway service:
```bash
clawdbot gateway stop
moltbot gateway stop
```
2) Uninstall the gateway service (launchd/systemd/schtasks):
```bash
clawdbot gateway uninstall
moltbot gateway uninstall
```
3) Delete state + config:
@@ -57,15 +57,15 @@ rm -rf ~/clawd
5) Remove the CLI install (pick the one you used):
```bash
npm rm -g clawdbot
pnpm remove -g clawdbot
bun remove -g clawdbot
npm rm -g moltbot
pnpm remove -g moltbot
bun remove -g moltbot
```
6) If you installed the macOS app:
```bash
rm -rf /Applications/Clawdbot.app
rm -rf /Applications/Moltbot.app
```
Notes:
@@ -74,7 +74,7 @@ Notes:
## Manual service removal (CLI not installed)
Use this if the gateway service keeps running but `clawdbot` is missing.
Use this if the gateway service keeps running but `moltbot` is missing.
### macOS (launchd)
@@ -89,21 +89,21 @@ If you used a profile, replace the label and plist name with `com.clawdbot.<prof
### Linux (systemd user unit)
Default unit name is `clawdbot-gateway.service` (or `clawdbot-gateway-<profile>.service`):
Default unit name is `moltbot-gateway.service` (or `moltbot-gateway-<profile>.service`):
```bash
systemctl --user disable --now clawdbot-gateway.service
rm -f ~/.config/systemd/user/clawdbot-gateway.service
systemctl --user disable --now moltbot-gateway.service
rm -f ~/.config/systemd/user/moltbot-gateway.service
systemctl --user daemon-reload
```
### Windows (Scheduled Task)
Default task name is `Clawdbot Gateway` (or `Clawdbot Gateway (<profile>)`).
Default task name is `Moltbot Gateway` (or `Moltbot Gateway (<profile>)`).
The task script lives under your state dir.
```powershell
schtasks /Delete /F /TN "Clawdbot Gateway"
schtasks /Delete /F /TN "Moltbot Gateway"
Remove-Item -Force "$env:USERPROFILE\.clawdbot\gateway.cmd"
```
@@ -113,12 +113,12 @@ If you used a profile, delete the matching task name and `~\.clawdbot-<profile>\
### Normal install (install.sh / npm / pnpm / bun)
If you used `https://molt.bot/install.sh` or `install.ps1`, the CLI was installed with `npm install -g clawdbot@latest`.
Remove it with `npm rm -g clawdbot` (or `pnpm remove -g` / `bun remove -g` if you installed that way).
If you used `https://molt.bot/install.sh` or `install.ps1`, the CLI was installed with `npm install -g moltbot@latest`.
Remove it with `npm rm -g moltbot` (or `pnpm remove -g` / `bun remove -g` if you installed that way).
### Source checkout (git clone)
If you run from a repo checkout (`git clone` + `clawdbot ...` / `bun run clawdbot ...`):
If you run from a repo checkout (`git clone` + `moltbot ...` / `bun run moltbot ...`):
1) Uninstall the gateway service **before** deleting the repo (use the easy path above or manual service removal).
2) Delete the repo directory.

View File

@@ -27,14 +27,14 @@ Notes:
```
The installer will `git pull --rebase` **only** if the repo is clean.
- For **global installs**, the script uses `npm install -g moltbot@latest` under the hood.
- Legacy note: `clawdbot` remains available as a compatibility shim.
- Legacy note: `moltbot` remains available as a compatibility shim.
## Before you update
- Know how you installed: **global** (npm/pnpm) vs **from source** (git clone).
- Know how your Gateway is running: **foreground terminal** vs **supervised service** (launchd/systemd).
- Snapshot your tailoring:
- Config: `~/.clawdbot/clawdbot.json`
- Config: `~/.clawdbot/moltbot.json`
- Credentials: `~/.clawdbot/credentials/`
- Workspace: `~/clawd`
@@ -125,7 +125,7 @@ moltbot health
```
Notes:
- `pnpm build` matters when you run the packaged `moltbot` binary ([`dist/entry.js`](https://github.com/clawdbot/clawdbot/blob/main/dist/entry.js)) or use Node to run `dist/`.
- `pnpm build` matters when you run the packaged `moltbot` binary ([`dist/entry.js`](https://github.com/moltbot/moltbot/blob/main/dist/entry.js)) or use Node to run `dist/`.
- If you run from a repo checkout without a global install, use `pnpm moltbot ...` for CLI commands.
- If you run directly from TypeScript (`pnpm moltbot ...`), a rebuild is usually unnecessary, but **config migrations still apply** → run doctor.
- Switching between global and git installs is easy: install the other flavor, then run `moltbot doctor` so the gateway service entrypoint is rewritten to the current install.
@@ -140,7 +140,7 @@ Typical things it does:
- Migrate deprecated config keys / legacy config file locations.
- Audit DM policies and warn on risky “open” settings.
- Check Gateway health and can offer to restart.
- Detect and migrate older gateway services (launchd/systemd; legacy schtasks) to current Clawdbot services.
- Detect and migrate older gateway services (launchd/systemd; legacy schtasks) to current Moltbot services.
- On Linux, ensure systemd user lingering (so the Gateway survives logout).
Details: [Doctor](/gateway/doctor)
@@ -159,8 +159,8 @@ moltbot logs --follow
If youre supervised:
- macOS launchd (app-bundled LaunchAgent): `launchctl kickstart -k gui/$UID/com.clawdbot.gateway` (use `com.clawdbot.<profile>` if set)
- Linux systemd user service: `systemctl --user restart clawdbot-gateway[-<profile>].service`
- Windows (WSL2): `systemctl --user restart clawdbot-gateway[-<profile>].service`
- Linux systemd user service: `systemctl --user restart moltbot-gateway[-<profile>].service`
- Windows (WSL2): `systemctl --user restart moltbot-gateway[-<profile>].service`
- `launchctl`/`systemctl` only work if the service is installed; otherwise run `moltbot gateway install`.
Runbook + exact service labels: [Gateway runbook](/gateway)