← Home

Guide

OpenClaw + Honcho

Honcho from Plastic Labs gives AI agents persistent per-user memory and a form of theory-of-mind — beliefs about the user that improve across sessions. OpenClaw ships with workspace + Qwen embedding memory, but Honcho is a richer layer for long-term personalization. Here is how to wire them together.

What Honcho Adds

Honchomaintains a persistent representation of each user: preferences, history, inferred traits. The agent queries Honcho before responding, so it remembers who it is talking to across chat sessions, channels, and even devices. OpenClaw's built-in memory search is more limited — it indexes past messages but does not build a user model.

Architecture

You run Honcho separately (cloud-hosted at honcho.devor self-hosted from plastic-labs/honcho), then call it from inside an OpenClaw skill. The skill registers as a pre-response hook: every incoming message looks up the user, fetches their state, and passes it as context.

Step 1: Get Honcho Credentials

  1. Sign up at honcho.dev (or self-host)
  2. Create an app and grab the API key
  3. Note your Honcho base URL (cloud or self-hosted)

Step 2: Add a Custom Skill

Skills are plain Node packages. Create one at ~/.openclaw/extensions/honcho/:

// skill.json
{
  "name": "honcho-memory",
  "description": "Per-user persistent memory via Honcho",
  "entry": "./index.js",
  "hooks": ["pre-response"],
  "inputs": { "userId": "string", "message": "string" }
}

// index.js
const Honcho = require('honcho-ai').default
const honcho = new Honcho({
  apiKey: process.env.HONCHO_API_KEY,
  baseUrl: process.env.HONCHO_BASE_URL,
})

module.exports = async ({ userId, message }) => {
  const user = await honcho.users.getOrCreate(userId)
  const session = await honcho.sessions.getOrCreate(user.id, 'default')
  await honcho.messages.create({ session: session.id, content: message, role: 'user' })
  const state = await honcho.users.getState(user.id)
  return { context: state }
}

Step 3: Wire the Skill Into OpenClaw

# Set the env vars
echo 'HONCHO_API_KEY=hk_...' >> ~/.openclaw/.env
echo 'HONCHO_BASE_URL=https://api.honcho.dev' >> ~/.openclaw/.env

# Install the skill
openclaw skills install -l ~/.openclaw/extensions/honcho

# Verify
openclaw skills list | grep honcho

Step 4: Confirm It Fires on Chat

Send a message from any channel. Check the gateway logs:

openclaw logs --since 30s | grep honcho-memory

You should see the skill firing with the channel user's ID and a Honcho session ID. The fetched state is now in the agent's context window for the response.

When to Use Honcho vs Built-in Memory

  • Use built-in OpenClaw memory for chat history recall and message search — cheaper, simpler, included on paid plans
  • Add Honcho when you need durable per-user models that survive across channels, or when your agent benefits from preference / belief tracking
  • Use both — OpenClaw memory for short-term retrieval, Honcho for long-term personalization

See Also

Skip the Setup

OpenClaw Launch lets you upload a custom skill and inject env vars from the dashboard, so the Honcho wiring is a few clicks instead of editing files. Plans from $3/mo first month.

Skip the Setup

Managed OpenClaw containers with custom-skill upload built in.

Deploy Now