Skip to content

Go further

Migrate to self-hosted

Export your memories and move from Recall Cloud to your own Recall instance.

In this guide

#

Migrating from Cloud to Self-Hosted

Move all your Recall memories from the cloud to your own infrastructure — with full data sovereignty.

If you started with the Recall cloud and later purchased a self-hosted license, you can migrate all your existing memories in one click. The migration exports every memory across all your workspaces into a single JSON file, deletes them from the cloud, and gives you a file you can import directly into your self-hosted instance.

Migration is irreversible — once you confirm, cloud memories are permanently deleted. Make sure your self-hosted instance is running and reachable before you start.

Prerequisites

A valid self-hosted license — purchase one from the Billing page if you haven't already.

Your self-hosted Docker stack running and healthy at its local address (default http://localhost:8080).

Claude Code pointed at your self-hosted instance (via /recall setup).

Step-by-Step Migration

1

Update your self-hosted instance

From your install directory (default ~/.recall), pull the latest image:

docker compose pull
docker compose up -d
2

Point Claude Code at your self-hosted instance

Run the setup command in Claude Code and enter your self-hosted server URL and API key when prompted:

/recall setup

Your API key is in ~/.recall/.env as SELF_HOSTED_API_KEY.

3

Export and delete your cloud memories

Go to the Self-Hosted page and scroll to the Migrate memories from cloud section. Click the button, confirm the warning, and a JSON file will download automatically. Your cloud memories are deleted as part of this step.

4

Import into your self-hosted instance

In Claude Code (now connected to self-hosted), tell Claude to import your file:

“Import my memories from ~/Downloads/recall-migration-2026-03-11.json”

Claude will read the file and call the import_memories tool to restore all your memories into the self-hosted instance.

5

Verify

Ask Claude to search your memories to confirm everything transferred:

“Search my memories for [something you remember storing]”

About the Export Format

The migration file is a standard JSON export compatible with the import_memories MCP tool. It contains all memory fields — content, tags, importance, context type, timestamps, and workspace metadata — so nothing is lost in transit.

{
“exported_at”: “2026-03-11T...”,
“total”: 142,
“memories”: [ ... ]
}

Keep up with what's changing.

Read the changelog