Your coding agent can answer from what your past sessions found.

Sessions are your chats with Claude Code, Codex, opencode or Copilot.

npm i -g https://membral.me/membral-cli.tgz && membral setup
See the recorded runs

“…import now retries a 504”

“I didn't add a retry for the 504. Earlier sessions deliberately decided against one, and you chose to keep that.”

An outage nobody wrote down in the repository.

Asked how production was brought back after the database stopped responding, no run without Membral said the database was restarted rather than restored. All five runs with Membral did, in every one of four recorded sets. Limits: some runs with Membral gave only a lower bound for the downtime, and both sides ran with Claude Code's own memory empty.

We restarted the production Supabase Postgres through the Supabase management API.

[…] from roughly 06:50 to 07:29 UTC on Oct 1.

[…] These come from recorded session notes. I haven't checked Supabase's own logs or status history.

A rules file such as CLAUDE.md, which your agent reads every session, holds only what someone wrote into it. If the answer is already there, that file is enough; on such questions in our tests, the agent did slightly worse with Membral. Membral holds what past sessions found and decided, and you write none of it.

How it works

  1. 01It saves each session

    When a session ends it is uploaded automatically; setup arranges that for each agent it finds. Setup also brings in your last 30 days.

    Install steps in the README
  2. 02It keeps what mattered

    Decisions, findings and outcomes, each with the quote it came from and a link back to the session.

  3. 03Your agent looks it up

    In Claude Code, past decisions that match your request arrive with it. In every agent setup connects, the agent can search for more.

Not a live view of your pull requests, tests or deploys. It says what a past session found and gives the link; the agent checks the current state itself.

Your chats too

  • A Chrome extension saves them

    It saves your ChatGPT and Claude.ai conversations to your Membral account while you use them in the browser.

  • Your agents can search them

    The same tools that find past coding sessions also find past chats: search_conversations, get_conversation and list_recent_conversations.

  • Found by their words

    Search matches the words in your chats, so an agent can pull up what you discussed without extra setup.

Chrome extension setup

What is uploaded, and where it lives

What is uploaded. What you typed, what the agent wrote back, and which files and tools it used. That includes code the agent wrote. The output of the tools it ran, such as file reads and command output, is not kept for Claude Code sessions. Text shaped like a key, token or password is replaced with [REDACTED] before it is stored, and writes to files like .env or private keys keep no text. This works by known patterns, so a secret in an unusual shape can get through. At setup you choose which projects to sync; a project you leave out stays on your machine.

On membral.me. Stored in a hosted Postgres database (Supabase) where each account can read only its own rows. We run the service and hold the database's admin key, so we can technically read stored data. Extraction is on for every account: to pull out decisions and findings, our server sends session text from your last 30 days to a hosted model provider under our key. Deleting your account in Settings deletes everything stored for it. Deleting one session on its own is not there yet.

On your machine. Or run all of it in Docker on your machine with membral local up. Nothing leaves it except the calls extraction makes to the model you choose. With your own Claude Code login (it needs a token from claude setup-token), that includes Claude Code's own traffic to Anthropic, and the first start downloads Claude Code from npm onto your machine; the image does not include it. With a local Ollama model, nothing leaves your machine at all. You need Docker (Compose 2.23 or newer) and Node 22.5 or newer.

The app image is published with the public launch; until then, build it from a clone first: docs/SELF-HOSTING.md#the-image

The privacy policy has the details.

Questions

Which agents work with it?
Setup connects Claude Code, opencode, GitHub Copilot (CLI and VS Code Copilot Chat), Codex CLI and Antigravity: their sessions are saved, and each can search them. Past decisions arrive with your request only in Claude Code, and Claude Code is the only agent we have tested. Any other agent that supports MCP, a standard way for agents to use outside tools, can search too.
Which model reads the sessions?
On membral.me, our server sends session text to a hosted model under our own key; you set up no key. On your machine you pick: your Claude Code login, a hosted model with your key, or a local Ollama model. With none, import, session pages and search still work; nothing is extracted.
Can my team use it?
Each developer installs it with their own account, and their agent looks up their own sessions. Not there yet: team or admin controls, or one shared store for a team.
Does it capture ChatGPT and Claude.ai chats?
Yes. The Chrome extension saves them as you use them in the browser, and your agents can search them next to your coding sessions.
Do my chats leave my machine?
The extension sends them to the Membral you sign in to, which today is the hosted one at membral.me. Pointing the extension at a local install is not supported yet.
Is it open source?
Yes, under the MIT license.
github.com/surajtripathy07/membral

Start

  1. 01In a terminal with Node 22.5 or newer, run the install command.

    Back to the install command

    It installs the membral command-line tool, built from packages/cli in the MIT repository, and starts setup.

  2. 02Your browser opens to sign in. Back in the terminal, setup lists the projects it found (all checked; uncheck any to keep them local) and connects the coding agents it finds.

  3. 03To check that it worked, run:

    membral status

    It shows your account, this device and what synced last.

  4. 04Then work as usual. Your sessions are listed at membral.me, and in Claude Code each past decision that comes with a request names the session it came from.

A line Claude Code receives looks like this (the age, session id and link here are examples):
[decision · 2d ago · session abcd1234] An import is never re-sent after a 504: the server may already have saved the batch. → https://example.com/merge-requests/1

Use Claude Code? You can install the plugin instead.

Membral — your coding agent remembers what past sessions found