A complete walkthrough — from zero to a live, chatting AI agent in your dashboard. Every screen, every prompt, every hiccup covered.
Open your terminal and run:
Once it finishes, verify the install worked:
You should see a version number like OpenClaw 2026.4.x. If you see command not found, see PATH fix in Troubleshooting.
This replaces the old openclaw setup + openclaw configure flow. Everything happens in one guided session.
--install-daemon flag installs the gateway as a background service (LaunchAgent on macOS). It starts automatically when you log in — no terminal window needs to stay open.The onboarding wizard walks you through 11 screens. Here's exactly what to do at each one — nothing to memorize, just follow along.
Telegram is the easiest channel to set up — takes 2 minutes and gives you a bot you can chat with from your phone anytime.
/newbot and follow the prompts123456:ABC-abc123.../mybots to BotFatheropenclaw config set channels.telegram.dmPolicy "allowlist"| Provider | Cost | What you need |
|---|---|---|
| Tavily | Free tier | Sign up at tavily.com — free API key, no credit card |
| Ollama Web Search | Free | Ollama installed locally on your machine |
| Gemini | Free tier | Google Cloud API key |
| Brave Search | Paid | Brave Search API subscription |
| Perplexity / Exa / Grok | Paid | Respective API keys |
| SearXNG | Free | Self-hosted SearXNG instance |
Ctrl+C if this happens and restart onboarding — it'll pick up where it left off.After onboarding completes, run this once to make sure the gateway picks up all your new config:
You'll see output like [gateway] ready (6 plugins: ...) confirming it's live. Leave this terminal open — or close it, the daemon keeps it running regardless.
You should land on the Genten dashboard. If you see a blank page or connection error, make sure your Docker container is running:
docker-compose.yml.When you open Genten for the first time, the Connect Agent wizard runs a quick environment check. You'll see three status cards. Here's what the ideal state looks like:
All three green — click Continue to pick your agent type
If any card isn't green, here's what each state means and how to fix it:
openclaw --version works
What it looks like when the CLI isn't installed
Amber token is normal on your first run
openclaw gateway is reachableopenclaw gateway --force in a terminal.
Gateway amber — run openclaw gateway --force
Select OpenClaw from the four framework tiles. It's tagged Popular.
If this is your first time, you'll see a token input screen. Click Detect — Genten reads the token straight out of ~/.openclaw/openclaw.json. No manual digging. Then click Save & Continue.
Give your agent a name, pick a model (claude-sonnet-4-6 is recommended), optionally add a description, and choose an accent color. This color appears on the agent's card, chat bubbles, and everywhere it's referenced in the dashboard.
Click Register My Agent.
The header color tells you what happened:
~/.openclaw/openclaw.json under agents.list, then restart Genten.Click Continue to Setup Instructions, then click Send Test Ping. You should see a green "Connected! Your agent is now reporting in." within a few seconds.
@ to bring up the agent selectoropenclaw --version works)openclaw onboard --install-daemon)openclaw gateway --force confirmed)http://localhost:3001)Come back to these once your agent is running. None of these are required for Genten to work.
Run the configure command and select the channel you want to add:
From the menu, select Channels, then pick your channel. Your agent picks up new channel connections automatically — no restart needed.
/newbot · Existing bot: send /mybotsopenclaw configure asks for itOpenClaw supports 20+ channels including Discord, Slack, WhatsApp, Signal, iMessage, and more. Run openclaw configure and select Channels to see the full list and their setup requirements.
The easiest free option is Tavily — sign up at tavily.com, get a free API key, and add it:
Select Tavily Search and paste your API key when prompted. Your agents pick it up immediately — no restart needed.
| Provider | Cost | Setup |
|---|---|---|
| Tavily Recommended | Free tier | Sign up at tavily.com |
| Ollama Web Search | Free | Install Ollama first |
| SearXNG | Free | Self-host a SearXNG instance |
| Brave / Exa / Perplexity | Paid | API key required |
Skills are plugins that extend what your agent can do autonomously — things like reading files, controlling a browser, running terminal commands, or accessing your calendar.
Select Skills from the menu. You'll see a list of skills eligible for your machine (typically 9 on a fresh macOS install). Use spacebar to select the ones you want.
Docker containers cannot reach localhost or 127.0.0.1 on the host machine — those addresses point inside the container itself. You need to use host.docker.internal instead.
host.docker.internal is not available by default on Linux. Add --add-host=host.docker.internal:host-gateway to your docker run command, or add this to your docker-compose.yml:extra_hosts: ["host.docker.internal:host-gateway"]By default, Genten's SQLite database lives inside the container and is wiped when the container is removed. You need to mount a volume so the data persists on your machine.
This mounts a data/ folder next to your docker-compose.yml into the container. Your database, briefings, and agent records survive restarts.
| Problem | Why it happens | Fix |
|---|---|---|
| Gateway unreachable in Genten | Gateway isn't running on your host machine | Open a terminal on your machine (not inside Docker) and run openclaw gateway --force. Leave it running. |
| "Gateway already running" error | Stale process holding port 18789 | launchctl bootout gui/$UID/ai.openclaw.gateway then openclaw gateway --force |
| Health check failed: timeout (during onboarding) | Normal on first install — gateway starts slower than the check fires | Ignore it. Run openclaw gateway status to confirm it's actually running. |
| 502 Bad Gateway on chat | Genten container can't reach the host gateway. Missing AGENT_GATEWAY_URL env var. |
Set AGENT_GATEWAY_URL=http://host.docker.internal:18789 in your environment and restart the container. |
If you cancel onboarding mid-way and restart it, here's what you'll see:
If you accidentally selected Brave Search and it's asking for an API key you don't have:
On restart, select Use existing values to keep everything you already configured. Then pick Tavily or Skip for now when you get to web search.
| Problem | Why | Fix |
|---|---|---|
| "Agent already exists" | Name already in OpenClaw config on your machine | Choose a different agent name, or delete the existing one: openclaw agents delete <name> |
| Test Ping fails | Gateway stopped or container can't reach host | 1. Confirm gateway is running: openclaw gateway status2. Confirm AGENT_GATEWAY_URL=http://host.docker.internal:18789 is set3. Restart the container |
| Preflight shows CLI red inside Genten | OpenClaw CLI is not installed inside the Docker container — it doesn't need to be | This is expected. The CLI check looks for OpenClaw on the host via the gateway connection, not inside the container. As long as the gateway row is green, you're fine. |
| Port 3001 already in use | Another process on your machine is using port 3001 | Change the port mapping in your docker-compose.yml from 3001:3001 to 3002:3001 (or any free port) and access Genten on the new port. |
| Can't access Genten in browser | Port not exposed in docker-compose | Make sure your docker-compose.yml has ports: ["3001:3001", "5173:5173"] under the Genten service. |
| Feedback button shows error | Container has no outbound internet access | Ensure Docker is not running in a network-isolated mode. The feedback relay needs outbound HTTPS to reach Google Apps Script. |
| Daily briefing emails not sending | GMAIL_APP_PASSWORD not set in environment |
Add GMAIL_APP_PASSWORD=your-app-password to your .env or docker-compose.yml environment block. |
| Agent model shows wrong after registration | Stale data from a previous build | Delete the agent and re-register it. The polling loop fix is included in this build. |