letheClaw
/install letheclaw
letheClaw — Agent memory
You can use the letheClaw API to store and retrieve memories for the user or the current session. The API base URL is in the environment variable LETHECLAW_API_URL.
Environment patterns:
- Docker Compose with letheClaw API container:
http://api:8080 - Host machine from Docker Desktop (Windows/Mac):
http://host.docker.internal:51234 - Local testing (same machine):
http://localhost:51234
If LETHECLAW_API_URL is unset, try http://host.docker.internal:51234 first (Docker Desktop default), then ask the user.
⚠️ PROTOCOL (NON-NEGOTIABLE)
Retrieval Rule
When the user asks about history, decisions, prior work, "what did we do", or any past context:
-
ALWAYS query letheClaw API FIRST:
curl -s "{LETHECLAW_API_URL}/memory/search?q=\x3Cquery>&limit=5" -
Use the returned
contentfield directly — search results include full text. No need formemory_getor flat file access. -
NEVER use
memory_searchtool as the first step. That tool searches flat markdown files, which are backup/reference only. -
Apply criticality filtering when appropriate:
- Security/config: add
&min_criticality=0.7 - General recall: add
&min_criticality=0.5 - Exploratory: no filter
- Security/config: add
-
Use tag pre-filtering when query domain is clear (e.g.,
tags=moltbookfor Moltbook questions). -
letheClaw is the authoritative memory system. Flat files may be stale or incomplete.
Storage Rule
When the user says "log this", "remember that", or you observe something worth recording:
- POST to letheClaw API (see "Store a memory" below)
- Assign appropriate criticality: 0.3 (transient) → 0.5 (useful) → 0.7 (important) → 0.9 (critical)
- Tag precisely: 2-5 specific tags (type + domain, e.g.
["episodic", "security", "moltbook"]) - Set source:
operator_input(user said it),direct_observation(you verified it),inferred(derived)
No exceptions. This is operator-mandated protocol.
Store a memory
- POST
{LETHECLAW_API_URL}/memory - Body (JSON):
content(required), optional:source(e.g.operator_input,direct_observation,inferred),tags(array),operator,session_key,context - Returns:
memory_id(UUID). Save it to update criticality or fetch provenance later.
Search memories (semantic)
- GET
{LETHECLAW_API_URL}/memory/search?q={query}&limit=5 - Optional:
min_criticality(0–1) to filter by importance. - Optional:
tags(comma-separated) to pre-filter by tag before semantic search (e.g.tags=moltbook,security) - Returns:
resultsarray withid,content(full text),criticality,tags,source,created_at,access_count
Important: Search results include full content — you do NOT need to call memory_get afterward. Use the returned content directly.
Criticality filtering guidance:
- Security/config queries:
min_criticality=0.7(critical knowledge only) - General recall:
min_criticality=0.5(useful and above) - Exploratory search: no filter (all results)
Tag pre-filtering (performance optimization): When query intent is clear, pre-filter by tags to reduce search space:
# "Latest Moltbook posts"
curl "{LETHECLAW_API_URL}/memory/search?q=posts&tags=moltbook,episodic&limit=5"
# "Security findings"
curl "{LETHECLAW_API_URL}/memory/search?q=findings&tags=security,semantic&min_criticality=0.7&limit=3"
Recent memories
- GET
{LETHECLAW_API_URL}/memory/recent - Returns: Recently stored memories (from cache or DB).
Update criticality (manual)
- POST
{LETHECLAW_API_URL}/memory/{memory_id}/criticality - Body (JSON):
criticality(0–1, required), optionalreason - Use when the user or you want to mark a memory as more or less important.
Mark operator correction
- POST
{LETHECLAW_API_URL}/memory/{memory_id}/correction - No body. Call when the user corrects something about this memory; this boosts criticality and increments a correction counter so provenance shows how often it was corrected.
Get provenance
- GET
{LETHECLAW_API_URL}/memory/{memory_id}/provenance - Returns: Full memory object plus
events(history of criticality changes: manual_boost, operator_correction, etc.) andcorrection_count.
Errors
- 400 — Invalid request or invalid memory ID format.
- 404 — Memory not found (wrong or deleted ID).
- 5xx — Server/upstream error; suggest checking if letheClaw is running and reachable.
When the user says they want to remember something, search memory, see why a memory is important, or correct a memory, use the appropriate endpoint above.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install letheclaw - After installation, invoke the skill by name or use
/letheclaw - Provide required inputs per the skill's parameter spec and get structured output
What is letheClaw?
Use letheClaw to store, search, and manage memories with criticality and provenance. It is an AI Agent Skill for Claude Code / OpenClaw, with 663 downloads so far.
How do I install letheClaw?
Run "/install letheclaw" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is letheClaw free?
Yes, letheClaw is completely free (open-source). You can download, install and use it at no cost.
Which platforms does letheClaw support?
letheClaw is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created letheClaw?
It is built and maintained by JoahTheron (@joahtheron); the current version is v1.0.1.