LTM: A JSON Protocol for Portable Agent Memory Across Models and Machines
If you use Claude across multiple editors or machines, you've likely hit the context portability wall: your CLAUDE.md doesn't follow you to Cursor, Cursor rules don't transfer to Codex, and nothing survives a model or OS switch. Existing "agent memory" tools are mostly markdown files you manually groom or vendor-locked stores. A new open-source project called ltm takes a different approach: a small JSON protocol called the Core Memory Packet, plus a CLI and server to move packets around.
How It Works
At the end of a session, the agent calls ltm save. At the start of the next session, ltm resume pulls in the dossier on the current obstacle—regardless of model, harness, or machine. A packet contains five required fields and is typically 2 to 5 KB:
- Goal: what you're trying to achieve
- Decisions locked in: constraints that shaped the code
- What you've already tried: dead ends and rejected approaches
- Next step: what to do next
The commit log already carries the work that went fine. LTM focuses on what agents can't reconstruct from a repo: dead ends and constraints that never appear in code.
Key Design Decisions
- Model, harness, and machine agnostic: a packet written by Claude on macOS reads fine for Codex on Linux, or for a teammate on their machine. The protocol is the product; CLI and server are reference implementations.
- Token-efficient: a 2–5 KB packet at session start is cheaper than letting the agent re-explore the codebase to rediscover what was already tried and rejected.
- Self-host or managed hub: same protocol either way. One Go binary, SQLite on disk, runs on a low-end VPS.
- Redaction is load-bearing: every packet is scanned before leaving the machine. AWS keys, GitHub tokens, JWTs, private keys, absolute paths, Slack and Stripe tokens—all blocked by default. Secrets don't travel.
- MCP support out of the box: Claude Code, Cursor, Zed, Codex, etc. can call
saveandresumeas tools without ever typing an ID. - Intent is portable, configuration isn't: packets never carry
CLAUDE.md, skills, prompts, or tool setup—those stay local.
Try It Without Signing Up
You can see what a resume looks like immediately: ltm example --resume runs the full flow against a sample packet and drops the resume block on your clipboard.
License and Ethics
LTM is Apache 2.0. The builder acknowledges LLM assistance: every agent-touched commit carries an Assisted-by: trailer in Linux kernel conventions.
Repo: github.com/dennisdevulder/ltm
📖 Read the full source: r/ClaudeAI
👀 See Also
Surgical GitHub Extraction: A Claude Skill to Fetch One Function, Not the Whole Repo
A new open-source Claude Skill named surgical-github-extraction stops Claude Code from cloning entire repos when you only want one function or pattern. It reads the README, pulls 1–3 raw source files, and lifts the smallest useful unit with a provenance comment.

NerfGuard: A Classifier That Routes Coding Requests to Cheaper Models, Cutting Spend 3x
NerfGuard uses a fast classifier to route coding agent requests to the least expensive model and reasoning depth needed, yielding 3x usage for the same spend. Includes token optimizations.

Clawhub Skill Enables OpenClaw to Analyze Apple Health Data via API
A new Clawhub skill called 'apple-health-export-analyzer' allows OpenClaw to read and analyze Apple Health data by serving it as an API, parsing large XML files to extract relevant metrics and provide daily health updates with actionable suggestions.

Alfred Beta Launches: Simplified OpenClaw Alternative for Non-Technical Users
Alfred is a new beta tool that provides approximately 70% of OpenClaw's functionality with significantly reduced complexity, featuring simple defaults for app connections, memory, usage modes, and infrastructure while allowing customization.