OpenClaw plugin
The OpenClaw adapter (@plur-ai/claw) is the deepest integration PLUR has anywhere. It plugs into OpenClaw’s ContextEngine — the exclusive plugin slot with seven lifecycle hooks — so PLUR can shape every stage of the conversation: bootstrap, ingest, assemble, compact, after-turn, subagent spawn, and subagent end.
The result: memory works without the agent ever calling a tool. No system prompt nudging required.
Install
Section titled “Install”openclaw plugins install @plur-ai/clawopenclaw gateway --forceopenclaw config set plur.enabled trueThat’s the whole setup. The plugin is auto-discovered, its hooks register, and memory is live from the next session.
What the seven hooks do
Section titled “What the seven hooks do”| Hook | PLUR action |
|---|---|
bootstrap | Open the local engram store, warm the index. |
ingest | Scan incoming user content for correction patterns; stage candidate engrams. |
assemble (required) | Inject relevant engrams into the assembled system prompt, before the LLM call. |
compact (required) | When context fills, prioritise pinned/locked engrams; spill the rest. |
afterTurn | Capture the turn as an episode; check for learnings the agent surfaced. |
prepareSubagentSpawn | Hand the subagent a scoped engram bundle so it inherits memory. |
onSubagentEnded | Merge anything the subagent learned back into the parent store. |
The contract is documented in OpenClaw’s PR #22201 (Josh Lehman); @plur-ai/claw implements all seven. Most plugins implement only assemble and compact and miss the rest of the loop.
What you get vs MCP
Section titled “What you get vs MCP”| MCP adapter | OpenClaw plugin | |
|---|---|---|
| Injection requires agent tool call | yes (or hooks if on Claude Code) | no — automatic |
| Captures corrections from raw user text | only via Claude Code hooks | yes — every adapter |
| Subagent memory inheritance | no | yes |
| Per-turn episode capture | manual | automatic |
| Compact-aware pinning | no | yes |
If you’re choosing between MCP and OpenClaw for a project that already runs on OpenClaw, take OpenClaw. It’s strictly more capability.
Combined with mcporter
Section titled “Combined with mcporter”Inside OpenClaw, the plugin handles the invisible memory layer (hooks). For explicit tools the agent can call — plur_learn, plur_recall, etc. — pair @plur-ai/claw with mcporter bridging @plur-ai/mcp. You get hooks and tools:
openclaw plugins install @plur-ai/clawopenclaw mcp add plur npx -y @plur-ai/mcpConfiguration
Section titled “Configuration”The plugin reads ~/.openclaw/plur.yaml:
plur: enabled: true store: ~/.plur/ # path to engram store inject: max_engrams: 12 # cap per assemble pinned_always: true # always include pinned even if irrelevant capture: correction_patterns: [default] auto_promote_after: 3 # candidate becomes active after 3 confirmations subagent: inherit_scope: true bundle_size: 20Defaults are sensible — most installs never edit this file.
Version compatibility
Section titled “Version compatibility”@plur-ai/claw | OpenClaw |
|---|---|
| 0.7.6 | 2026.4.2+ |
| 0.7.5 | 2026.3.7–2026.4.1 |
| 0.7.0–0.7.4 | 2026.3.7 |
For older OpenClaw versions, check the release notes. The plugin uses OpenClaw’s pluginApi compatibility shim where needed.
Troubleshooting
Section titled “Troubleshooting”- Plugin lists as installed but doesn’t fire — run
openclaw gateway --forceto rebuild the plugin registry. - Subagent doesn’t inherit memory — confirm
subagent.inherit_scope: trueand that the parent session is using the same store path. - High memory usage on
assemble— lowerinject.max_engrams; default 12 is generous.
Next: Hermes (Python) →