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/paxmLast scanned: 7/15/2026
{
"issues": [
{
"file": "README.md",
"line": 62,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl -fsSL https://github.com/pax-beehive/paxm/releases/latest/download/install.\"",
"severity": "low"
},
{
"file": "plugins/paxm-memory/skills/paxm-setup/SKILL.md",
"line": 26,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl -fsSL https://github.com/pax-beehive/paxm/releases/latest/download/install.\"",
"severity": "medium"
},
{
"file": "skills/paxm/SKILL.md",
"line": 24,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl -fsSL https://github.com/pax-beehive/paxm/releases/latest/download/install.\"",
"severity": "medium"
}
],
"status": "PASSED",
"scannedAt": "2026-07-15T06:13:27.922Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}paxm 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 431 GitHub stars.
Yes. paxm passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
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!
PAXM carries decisions, conventions, and working context into later Codex, Claude Code, OpenCode, Pi, Cursor, TRAE, Kimi Code, ZCode, Kiro, Cline, 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. Team Memory can derive a scoped
agent credential from a paxl device connection; paxm never writes that secret
to config.yaml.
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.
Session bootstrap injects the configured user, agent, and session identity together with the current local time and time zone. Codex, Claude Code, and Pi use their session-start events; OpenCode performs the same bootstrap before the first message in a session. If a later user input arrives more than 12 hours after the preceding turn activity, paxm refreshes the local-time context before the agent handles that input.
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 asks only two questions: which providers to enable and which
agents get passive memory. Agents found on the machine are pre-selected and
marked (detected), and cloud provider API keys are masked as they are typed.
Everything else uses the tuned defaults. When Team Memory is selected, setup
first reads the on-prem user ID from paxl device status, with channel status as
a compatibility fallback; otherwise the user ID comes from $USER. Agents get
IDs such as codex-todd, and selected providers route
read/write as required. Use up/down to move, space to toggle, and enter to
confirm. Fine-tuning (paths, profiles, routing policy, per-hook behavior) lives
in the config file; see docs/config.md.
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. Scripts can also skip the selection prompts entirely with
repeatable flags, e.g. paxm setup --provider sqlite --agent codex --agent claude.
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
paxm dashboard # localhost metrics, logs, sessions, and recall inspection
Select OpenCode during setup to install a global local plugin under
~/.config/opencode/plugins/. Select Pi to install its passive extension.
Cursor, TRAE, TRAE CN, Kimi Code, ZCode, Kiro, and Cline selections install a
client-native hook/MCP integration while preserving unrelated client config.
See the agent integration matrix for exact event
mappings, paths, host limitations, verification, and rollback. Any
MCP-compatible client can use paxm mcp serve --agent codex; 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 c