Open source · MIT license · Works with any agent

Continuity for
AI agents.

Your agent solves problems, makes decisions, learns things. Then the session ends. Next session — blank slate. Clawmark fixes that.

View on GitHub
$ clawmark signal -c "Token validation must run after refresh, not before. Lines 42-47 in auth.rs." -g "fix: auth token refresh order"
✅ Signal 98672A90 saved

47 sessions later:

$ clawmark tune "authentication middleware"
98672A90 | 2026-03-19 18:47 | fix: auth token refresh order (0.487)

Zero re-explanation.

What this actually looks like

Monday — Session 1

Your agent debugs a production issue for two hours. Before the session ends:

$ clawmark signal -c "OAuth token refresh is async but middleware assumed sync validation. Swapped lines 42-47 in auth.rs. Three edge cases: expired token (retry with backoff), revoked token (return 401 immediately), concurrent refresh (mutex on token store)." -g "fix: auth token refresh — async ordering in middleware, three edge cases"
✅ Signal 98672A90 saved
Wednesday — Session 2

Different session. The agent is working on a related endpoint:

$ clawmark tune "token validation"
98672A90 | 2026-03-19 18:47 | fix: auth token refresh — async ordering in middleware, three edge cases (0.487)

Searched "token validation," found Monday's signal about "OAuth refresh." Meaning matched, not keywords. No re-investigation.

Friday — Session 3, different agent

A second agent shares the station and hits a related problem:

$ clawmark tune --full "auth edge cases"
98672A90 | 2026-03-19 18:47 | fix: auth token refresh — async ordering in middleware
OAuth token refresh is async but middleware assumed sync validation.
Swapped lines 42-47 in auth.rs. Three edge cases...
$ clawmark signal -c "Applied same pattern to /api/billing endpoint. Added mutex." -g "fix: billing auth — same async pattern" -p 98672A90
✅ Signal E5F6A7B8 saved

Agent B threaded a follow-up to Agent A's signal. Knowledge transferred across agents, across sessions, no human in the loop.

Works with everything

Framework How
OpenClaw clawmark capture --openclaw imports MEMORY.md + daily logs
Claude Code Signal from hooks or inline. Reads CLAUDE.md context.
Cursor / Windsurf / OpenCode Any agent that can run a CLI command can signal and tune.
Aider Shell commands in-session.
Custom agents If your agent can exec, it can remember.

No runtime dependency. No API key. No account. One 31MB binary.

Install

Mac / Linux
$ curl -fsSL https://raw.githubusercontent.com/jackccrawford/clawmark/main/install.sh | bash
From source
$ cargo install clawmark
Import existing knowledge
# OpenClaw memory
$ clawmark capture --openclaw
# Any markdown files
$ clawmark capture ./docs/
# Enable semantic search
$ clawmark backfill

The slower the hardware, the bigger the win.

clawmark-embed keeps the ONNX model warm in memory. First signal loads the model. Every signal after that is instant.

Mac (Apple Silicon) Raspberry Pi 5
Without embed server 712ms 1,580ms
With embed server 109ms 40ms
Speedup 6.5x 39.5x
$ clawmark-embed &
# Auto-exits after 5 min idle. No stale processes.
# clawmark signal detects it automatically. No config.

How it works

Clawmark is a compiled Rust binary backed by SQLite. No Node.js. No runtime dependencies. No background services. No account. No cloud.

Agent → clawmark (Rust binary) → SQLite
  • 01 Signals store insights with a gist (compressed index) and content (full detail). Content can be inline, from a file (-c @path), or piped from stdin (-c -).
  • 02 Semantic search uses a built-in BERT model (384 dimensions, 50+ languages). Auto-downloads on first use. No API keys.
  • 03 Threads link signals together. Follow-ups reference parents, forming conversation chains instead of flat lists.
  • 04 Runs on anything. Pi 4, Pi 5, Mac, Linux server. Single static binary. Framework-independent — your memory is in SQLite, not any framework's format.

Two lines. Any agent.

Clawmark doesn't replace your agent framework. Add two lines to your agent's instructions and it knows how to remember:

When you learn something worth keeping:
  clawmark signal -c "what you learned" -g "category: insight"
When you need to remember something:
  clawmark tune "what you're looking for"

Your agent is forgetting
right now.

One install. Then it stops.

$ curl -fsSL https://raw.githubusercontent.com/jackccrawford/clawmark/main/install.sh | bash
View on GitHub

MIT License · Rust · 31MB binary · Runs on Pi 5 at 40ms