Skip to main content
ormah — Is your memory still yours? Private. Portable. Yours.

Your memory has always been yours.
Ormah helps keep it that way.

Local. Private. Portable. Yours to keep. Yours to move.

The more an AI knows you, the harder it can feel to leave. But your preferences, decisions, and history shouldn't be what ties you to one company. They're part of what makes you, you. You should be able to change tools without leaving that part of yourself behind.

Ormah gives your AI agents a shared memory. It keeps useful context between sessions and, with supported integrations, whispers relevant memories before the agent replies.

Get started · Watch the original demo · Explore the docs

Move between agents. Keep your context.

Illustrative example. Codex and Claude Code are connected to the same Ormah store and project.

Codex saves a checkout decision in Ormah. When work moves to Claude Code, Whisper injects that decision before Claude replies.
  1. Decide in Codex. “Checkout retries must reuse the same idempotency key.” Codex saves the decision with Ormah's remember tool.
  2. Keep it in Ormah. The decision belongs to the project's shared memory, available beyond this conversation.
  3. Continue in Claude Code. You ask, “Fix the checkout retry.” Whisper supplies the saved decision before the reply, so Claude can keep the key stable without being asked to search memory.
Watch the original Ormah demo on YouTube.

Get started

Your memory starts here. Download the desktop app for your platform.

Download Ormah for macOS — Apple Silicon Download Ormah for Linux — x86_64

Open Ormah and follow setup to connect your agents. All releases · Setup guide

Try your first memory. In a connected agent, ask: “Remember that checkout retries must reuse the same idempotency key.” Then start a new session in the same project and ask: “What key should checkout retries use?”

With a Whisper integration enabled, the saved decision can arrive before the agent replies. To check automatic delivery, inspect the client's hook/context output for the injected memory.

Prefer the terminal?

On macOS or Linux, run:

bash <(curl -fsSL https://ormah.me/install.sh)

The installer installs Ormah and opens setup. Setup downloads the local retrieval models, starts the server, and connects detected supported clients. Choose agent-backed maintenance if you want your coding agent to handle graph cleanup. Local search and Whisper retrieval need no separate model API key.

Manual and Claude Code plugin installation →

Check installation and memory from the terminal

From your project directory:

ormah server status
ormah remember "Checkout retries reuse the same idempotency key." --type decision
ormah recall "checkout retries"

Success means the server reports that it is running and recall returns the decision you just stored. Open the local graph to inspect it.

Setup and troubleshooting →

Memory that stays useful

  • Relevant context appears automatically. Whisper checks the current prompt and surfaces memories that fit. It can stay quiet when there is nothing useful to add.
  • Your agents share what matters. Decisions, preferences, and ongoing work can carry between connected agents using the same store.
  • Memory changes with your work. Ormah can link related memories, flag conflicts, merge duplicates, and let stale context recede. Background jobs and optional agent-backed maintenance keep the graph useful over time.

How it works

Your agents shouldn't have to remember to remember. Ormah brings capture, maintenance, and timely recall into the flow of work.

Learn: save useful context. Maintain: keep memory useful. Whisper: surface context before the next reply.
  1. Learn. Agents save preferences, decisions, patterns, mistakes, and ongoing work through memory tools. With an Ormah LLM provider configured, transcript extraction can also capture memories from sessions. Optional watchers can ingest transcripts and Markdown notes.
  2. Maintain. Scheduled jobs handle tasks such as decay and importance scoring. Judgment-heavy cleanup uses your agent when enabled, or a configured Ormah LLM provider.
  3. Whisper. A supported client asks Ormah for relevant context before the agent replies. Ormah selects memories from the shared store and returns them to the conversation. Explicit recall is available whenever the agent needs to look further.

Choosing agent-backed maintenance during setup leaves server-side LLM extraction off. Enable a provider separately if you want transcript extraction too. Capture and watchers · Whisper · Background jobs

Your memory, under your control

Memories live as readable Markdown files with metadata in ~/.local/share/ormah/memory/nodes/ by default. You can inspect them, keep local backups, and restore them on another machine. The search index is rebuilt from those files.

Storage and retrieval run locally by default. Memories supplied to an agent are processed by that agent's model; optional remote model providers process the content sent to them. You choose those connections.

Optional paid cloud backup encrypts snapshots on your device before upload. Keep the recovery kit: it contains the keys needed to restore them. Cloud backup provides recovery snapshots, not automatic live synchronization between devices.

Storage · Backup, verification, and restore

Connect your agents

Client Memory tools Automatic Whisper
Claude Code MCP Prompt hook
Codex CLI MCP Prompt hook, enabled by setup
Pi Ormah extension Before each agent turn
Claude Desktop on macOS MCP Tool access only

Hooks need a compatible client version and a running Ormah server. Other clients can connect through MCP, the HTTP API, or custom tool schemas; automatic injection needs a client integration.

Client setup · Pi integration · MCP and adapters

Go further

Contribute

Start with the contributing guide. Help improve an integration, clarify a guide, or report a reproducible problem in GitHub Issues. Join the Ormah Discord for discussion and help.

Develop locally

Use Python 3.11+, Node.js/npm, and Make. In an activated Python virtual environment:

git clone https://github.com/r-spade/ormah.git
cd ormah
make install
python -m pytest

See the Makefile for backend and UI development commands. The retrieval eval guide covers local evaluation; evaluation corpora are not included in the repository.

MIT licensed.

Metadata

Release files for ormah 0.15.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for ormah 0.15.2
File Interpreter ABI Platform
ormah-0.15.2-py3-none-any.whl Python 3 none any Details

Release files / ormah-0.15.2-py3-none-any.whl

Download URL ormah-0.15.2-py3-none-any.whl
Size 603.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
be20a1bd992f0ee70adac4add7a47bbf290a40cba04fe2b93d1d4ecd6fda3bbb
BLAKE2b-256 checksum
How to use checksums
2c8b34f32b7d1867b1c4f7d6a10823f6a365050368d1b8bd2f70e28020a50c26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.15.2 This release

1 release file

0.15.1

1 release file

0.15.0

1 release file

0.14.11

1 release file

0.14.10

1 release file

0.14.9

1 release file

0.14.8

1 release file

0.14.7

1 release file

0.14.6

1 release file

0.14.5

1 release file

0.14.4

1 release file

0.14.3

1 release file

0.14.2

1 release file

0.14.1

1 release file

0.14.0

1 release file

0.13.6

1 release file

0.13.5

1 release file

0.13.4

1 release file

0.13.3

1 release file

0.13.2

1 release file

0.13.1

1 release file

0.13.0

1 release file

0.12.4

2 release files

0.12.3

1 release file

0.12.2

1 release file

0.12.1

1 release file

0.12.0

1 release file

0.11.0

2 release files

0.10.1

1 release file

0.10.0

1 release file

0.9.15

2 release files

0.9.14

2 release files

0.9.13

1 release file

0.9.12

1 release file

0.9.11

1 release file

0.9.10

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page