durmem keeps your agents on track.

Install and set up durmem

Use the quickstart for a first save-and-recall. This page explains the installer, setup versus login, harness checks, and local update or removal.

Requirements#

  • macOS or Linux: python3, tar, curl or wget, and sha256sum or shasum.
  • Windows: PowerShell and tar. The installer supplies checksum-verified uv and Python; you do not need Python or uv preinstalled.
  • To configure a harness, install and sign in to Claude Code, Codex, or OpenCode first. The durmem CLI can also connect stores on a computer with no coding harness.
  • Hosted sign-in uses an email code when sign-in is needed. A private server may use an administrator-issued code instead.

Install#

If you are reading the raw repository page, use https://durmem.ai for durmem. For a private server, replace durmem.ai with its HTTPS hostname and any nondefault port. The published website fills durmem.ai with its serving address.

macOS and Linux#

curl -fsSL https://durmem.ai/.well-known/cli/install.sh | sh

Windows#

irm https://durmem.ai/.well-known/cli/install.ps1 | iex

The installer verifies its download and installs a per-user command and runtime. Follow its printed PATH instructions. On macOS or Linux, those instructions may be needed in the current shell as well as future terminals. On Windows, open a new terminal after PATH is updated. Check the command with durmem --version.

durmem setup#

Install and sign in to at least one supported coding harness, then run:

durmem setup

Enter the code only at the hidden prompt, not as a command-line argument. Setup reuses matching saved credentials for the selected server without signing in again. When login runs, it skips the consent prompt only if that server confirms that this email's credentials accepted both current policy versions. If acceptance cannot be confirmed, login shows the prompt; if the server cannot provide its current policy, login stops before the prompt.

Setup asks which detected harnesses to configure. It signs in and writes local store connections when needed, then installs and verifies durmem in the selected harnesses. If none is detected, install one and run setup again. Setup configures the harness; it does not install the harness application or sign in to that application.

When sign-in is required, enter the code only at the hidden prompt. If the selected server already has matching saved durmem credentials, setup can reuse them without asking again. It does not refresh the list of stores created since the last sign-in; run durmem login when you need to refresh those connections. For a private server, pass --base https://durmem.ai to every setup and login command, including retries and repairs, so they keep targeting that server.

After setup, start a new harness session:

Authentication#

Signing in to Claude Code, Codex, or OpenCode is separate from signing in to a durmem account. A harness account does not grant access to durmem stores.

Claude Code#

Start a fresh Claude Code session. Use /hooks to check whether the durmem plugin registered its hooks. Do not start with --bare or disable hooks globally; an MCP connection can work even when hooks are suppressed.

Codex#

Install Codex using the official CLI instructions. Start a fresh Codex session. If Codex asks you to trust durmem plugin hooks, first confirm they come from loom@loom, then choose its persistent trust or enable action. A working MCP connection alone does not prove hook trust.

Ubuntu sandbox prerequisite#

On Ubuntu 24.04 or later, only if Codex reports bwrap: Operation not permitted or a uid-map permission error, follow the official sandbox prerequisites. Do not use danger-full-access as the default remedy or disable Codex’s sandbox. The documented Ubuntu 24.04 remedy installs bubblewrap and Ubuntu’s additional AppArmor profile; if that profile is unavailable or your administrator disallows it, stop and consult the prerequisites or administrator. These remedy commands have not been verified end to end on a fresh Ubuntu host.

Run the Ubuntu remedy from a normal terminal outside the failing Codex session:

sudo apt update
sudo apt install bubblewrap apparmor-profiles apparmor-utils
sudo install -m 0644 /usr/share/apparmor/extra-profiles/bwrap-userns-restrict /etc/apparmor.d/bwrap-userns-restrict
sudo apparmor_parser -r /etc/apparmor.d/bwrap-userns-restrict

This profile allows unprivileged user namespaces for bwrap only and does not disable AppArmor's restriction globally. Restart Codex with its normal sandbox enabled.

OpenCode#

Restart OpenCode or reload its MCP servers. opencode mcp list can help check that durmem is connected; it does not prove that any hook ran.

Re-running and updating#

If you only need to connect another store on the same server, run durmem login. Setup can be re-run to repair the selected harness integration. Follow its restart instruction after it changes configuration. For a private server, include --base https://durmem.ai on each login or setup re-run; after durmem update, follow the setup command it prints, which includes the recorded server origin.

durmem login: connect stores without installing a harness#

If a computer only needs store access and has no coding agent to set up, run durmem login instead of durmem setup. Login connects this computer's durmem stores; it does not configure a harness. It is also the store-connection step for another computer.

durmem login

For a private server, use durmem login --base https://durmem.ai. If the server uses a self-signed certificate, see Trusting a private server's certificate. Sign-in asks for an email and code when needed. If email is disabled on a private server, ask its administrator for the supported code procedure. Do not put a code in a command argument, chat, or repository.

Worker authentication#

For scheduled-worker tokens, native sign-in and the permission boundary, see Connect a computer to Kanban.

Connect to a private server#

Use the server's HTTPS origin explicitly with --base:

durmem setup --base https://durmem.ai

For a computer that has no coding harness to configure, use durmem login --base https://durmem.ai instead. HTTPS is required, including for private IP addresses. For command options, run durmem setup --help or durmem login --help.

Trusting a private server's certificate#

Ask the server administrator for the certificate and the correct HTTPS hostname. Either install the certificate in your operating system's trust store or pass --ca-file /absolute/path/to/cert.pem to durmem setup or durmem login. Use a hostname listed on the certificate; an IP address works only if that IP is also listed. Never turn off certificate verification.

Update#

If your installed CLI lists update in durmem --help, run:

durmem update

It updates the local CLI from its recorded installation server and prints the next setup command. Follow that command, restart the selected harnesses, and check durmem --version. If your installed CLI does not list update, run the installer again from the same server you originally used. Updating the CLI does not update the server; coordinate server upgrades with its administrator.

Where updates come from#

The CLI update and the durmem server are separate. durmem update, when available, uses the CLI's recorded installation server. durmem setup --base https://durmem.ai connects to the chosen server and installs its harness integration. Do not switch a private installation to a different server just to update its client.

Uninstall#

Removing durmem from a computer does not delete the hosted account or stores on the server. For hosted account or deletion help, contact info@durmem.ai. Keep ~/.loom/stores.toml (Windows: %USERPROFILE%\.loom\stores.toml); it holds local connections. Stop any scheduled worker that depends on this computer before removing its runtime. Worker and Fleet records may be stored separately from the CLI.

Remove one harness integration#

Use the harness's own plugin-management instructions to remove only its durmem integration. That is separate from removing the shared durmem CLI or disconnecting a server account. After removal, do not re-run setup with every detected harness selected unless you intend to install durmem in each one again. For Hermes, see the Hermes guide.

Remove the durmem command#

If durmem --help lists uninstall, run durmem uninstall and read its preflight list before confirming. It stops local durmem workers and removes the durmem command and runtime while keeping stores.toml and server-side data. It does not remove every harness's plugin automatically. If your installed CLI does not list uninstall, do not use an old manual file-deletion recipe; ask your administrator or consult the current release instructions.

Optional cache cleanup#

The CLI uses a local embedding-model cache, not server data. The supported uninstall command removes durmem's default cache when available; a custom cache location, if configured, is not removed; do not delete shared uv data that another project may use.

Stop using a store, or delete its data#

Logging out removes a local connection; it does not revoke copied credentials or erase server data. Deleting a store is a separate, irreversible server operation. See Manage stores and check the server before retrying an operation whose result is unknown.

Further reading#