by pax-beehive
Persistent, provider-neutral memory for Codex, Claude Code, OpenCode, Pi, and MCP coding agents.
# Add to your Claude Code skills
git clone https://github.com/pax-beehive/paxmpaxm is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by pax-beehive. Persistent, provider-neutral memory for Codex, Claude Code, OpenCode, Pi, and MCP coding agents. It has 77 GitHub stars.
paxm's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/pax-beehive/paxm" and add it to your Claude Code skills directory (see the Installation section above).
paxm is primarily written in Go. It is open-source under pax-beehive on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh paxm against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
PAXM carries decisions, conventions, and working context into later Codex, Claude Code, OpenCode, Pi, and MCP sessions. Start locally with SQLite and no account, API key, embeddings, or extra memory-layer model calls. Change memory providers later without rewiring every agent.
Install for Codex · Install the CLI · See the result · Docs
In one session, record a decision:
paxm remember --profile ltm --text \
"Production deploys run through GitHub Actions; never deploy from a laptop"
In a later session, Codex, Claude Code, OpenCode, Pi, or an MCP client can recover it:
paxm recall --query "how do we deploy production?"
With passive integration enabled, paxm recalls relevant context before the agent responds and durably captures completed turns afterward. Provider delays or failures do not block the coding session.
The practical result:
Choose the agent you already use. The Codex plugin is the shortest path to a complete active-and-passive memory loop.
codex plugin marketplace add pax-beehive/paxm --ref paxm-memory-v0.1.4
codex plugin add paxm-memory@pax-agent-nexus
curl -fsSL https://github.com/pax-beehive/paxm/releases/latest/download/install.sh | bash
paxm setup --integration codex-plugin
Start a new Codex task and trust the Pax Agent neXus hooks when /hooks asks.
The explicit installer downloads the latest published paxm binary. The plugin
registers active-memory skills and owns the passive Codex hooks after setup;
it never installs a binary, writes credentials, or bypasses hook trust on its
own.
Verify the first successful loop before relying on passive memory:
paxm config doctor
paxm remember --profile stm --text "PAXM_FIRST_RECALL_OK"
paxm recall --query "PAXM_FIRST_RECALL_OK"
paxm history --days 1
Set PAXM_VERSION before installation for a reproducible version or rollback.
Provider credentials remain user-managed.
Install the paxm CLI, then install the Claude Code plugin:
curl -fsSL https://github.com/pax-beehive/paxm/releases/latest/download/install.sh | bash
claude plugin marketplace add pax-beehive/paxm
claude plugin install paxm-claude@pax-memory
paxm setup --integration claude-plugin
The Claude plugin includes active-memory skills, the paxm MCP server, and five
lifecycle hooks: SessionStart, UserPromptSubmit, PostToolUse,
PostToolUseFailure, and Stop.
Install the latest release and run interactive setup. The default SQLite provider makes the adaptor usable without first creating an account or API key.
curl -fsSL https://github.com/pax-beehive/paxm/releases/latest/download/install.sh | bash
paxm setup
paxm config doctor
paxm setup is where the user chooses a stable user ID, providers, and passive
agent integrations. Selected agents default to IDs such as codex-todd and
can be renamed during interactive setup. Use up/down to move, space to toggle,
and enter to confirm.
Optional team IDs create explicit durable write profiles such as
team-pax-core; non-interactive setup can pass --user-id todd --team-id pax-core.
Active recall skills remain user-installed. SQLite works without an API key; remote providers such as Zep, Mem0, MemOS, and OpenViking require connection details during setup.
SQLite health checks must be allowed to create WAL/SHM files beside the configured database. A sandbox that can read the database but cannot write its parent directory may report SQLite error 14.
Use an isolated writable SQLite path for sandboxed evaluations. The same configuration may be healthy in the real agent process.
When Codex is using the bundled paxm-memory plugin, let the plugin own Codex's
hooks so paxm does not register a duplicate global hook:
Write and recall a memory:
paxm remember --profile ltm --text "We chose SQLite for the local memory layer"
paxm recall --query "local memory layer"
paxm history --days 7
Select OpenCode during setup to install a global local plugin under
~/.config/opencode/plugins/. Select Pi to install its passive extension. Any
MCP-compatible client can use paxm mcp serve --agent codex without passive
hooks; replace codex with the configured client identity.
SQLite gives a new user a complete local memory loop before they choose or deploy a dedicated memory system. It uses FTS5 and BM25 retrieval with turn-level memories and deterministic, query-focused excerpts. Memory ingestion and retrieval call no external LLM or embedding service.
In an initial 30-question LoCoMo agent evaluation, SQLite turn memory answered 13 questions successfully, compared with 11 for Mem0 product-default.
| Memory arm | Successful answers | Mean token F1 | External models in memory layer |
|---|---|---|---|
| paxm SQLite turn memory | 13 / 30 | 0.4211 | None |
| Mem0 product-default | 11 / 30 | 0.3811 | GPT-5 mini + OpenAI embeddings |
This is an exploratory result, not an official LoCoMo score or proof that SQLite broadly outperforms Mem0. It covers one balanced conversation with OpenCode and DeepSeek V4 Flash, using deterministic token F1. See the methodology and limitations.

PAXM is a memory adaptor, not another hosted memory service:
AI agents -> CLI / MCP / skills / hooks -> paxm -> any memory provider
Agents reach paxm in two ways:
| Path | Entry points | Best for |
|---|---|---|
| Active | CLI, MCP, skill | Deliberate recall, explicit writes, inspection |
| Passive | Agent lifecycle hooks | Prompt-time recall and automatic turn capture |
Both paths use the same runtime and provider router. Filtering, profiles, ranking, timeouts, telemetry, and provider behavior stay consistent across agent surfaces.
Passive writes commit to a local durable queue before provider delivery. Slow or unavailable providers retry in the background instead of blocking the agent.
Passive recall uses an 800ms overall budget and 250ms per-provider budget
by default. It returns healthy partial results and records downstream
timeouts.
PAXM keeps the agent-facing contract stable while profiles choose providers, failure policy, ranking, and timeouts. SQLite is the zero-setup default, not a required storage backend.
Lifecycle hooks recall context before the model request and capture completed turns afterward. Writes enter a durable local queue before provider delivery, so provider latency does not block the agent.
Read the detailed architecture and provider adapter contract.
| Agent/client | Active | Passive recall | Passive write |
|---|---|---|---|
| Codex | CLI, MCP, skill | Hook | Hook |
| Claude Code | CLI, MCP, skill | Hook | Hook |
| Pi | CLI, MCP, skill | Extension | Extension |
| Any MCP client | MCP tools | — | — |
| Provider | Mode | Notes |
|---|---|---|
| SQLite | Default, built in | Zero-setup turn memory; no API key, LLM, or embeddings |
| Zep | Built in | User or graph scoped |
| Mem0 | Built in | Self-hosted REST API |
| Mem0 Cloud | Built in | Managed Platform API with async v3 writes/search |
| MemOS | Built in | Self-hosted product API, scoped by memory cube |
| MemOS Cloud | Built in | Managed OpenMem API with Token authentication |
| OpenViking | Built in | Self-hosted session extraction and semantic memory search |
| Custom JSON-RPC | Adapter | Bring an existing or private memory system |
Enable multiple provider instances at once. Recall and write profiles control routes, required or best-effort behavior, ranking weights, thresholds, memory tiers, and t