> ## Documentation Index
> Fetch the complete documentation index at: https://docs.versuno.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# versuno memory capture

> Capture your coding agents' memory folders into Versuno, cloud or local.

```
versuno memory capture [--local] [--review] [--dry-run]
```

Coding agents write memory files as you work. This command finds those files, normalizes them into one shape, and saves them, either to the Versuno cloud (the default) or to a local store on your machine (`--local`).

It only reads the agents' own memory folders. It never touches hand-written files like `CLAUDE.md`, and it never modifies anything inside the agent folders.

## Supported sources

| Agent          | Location                                                          | Unit of capture                                               |
| -------------- | ----------------------------------------------------------------- | ------------------------------------------------------------- |
| Claude Code    | `~/.claude/projects/<project>/memory/` (per project)              | one file is one memory                                        |
| GitHub Copilot | VS Code `globalStorage/github.copilot-chat/memory-tool/memories/` | one memory per `##` section, or the whole file if it has none |

The two agents store memory differently, so the unit differs. Claude Code writes one memory per file. Copilot groups several memories under `##` headings inside a topic file, so each `##` section becomes its own memory. A Copilot file with no `##` headings is captured as a single memory.

## Local vs cloud

By default, capture uploads to the Versuno cloud and needs you logged in (`versuno login`).

With `--local`, nothing leaves your machine. Capture writes the same normalized memories to `~/.versuno/memory/` as plain Markdown files. No account, no network, no login. Search them later with [`versuno memory recall`](/cli/memory-recall).

Local writes are idempotent. Each memory is keyed on a stable identity, so running capture again skips the memories that haven't changed and rewrites the ones you edited in place. No duplicates.

## Options

| Flag        | Description                                                                                           |
| ----------- | ----------------------------------------------------------------------------------------------------- |
| `--local`   | Write to the local store (`~/.versuno/memory/`) instead of the cloud. No account needed.              |
| `--review`  | Step through each memory and drop any you don't want before capturing. The default is to capture all. |
| `--dry-run` | Print the normalized payload as JSON instead of capturing. Works without logging in.                  |

## How it works

1. Find every installed agent's memory folder.
2. All folders start selected. Press space to skip any, then enter.
3. Normalize each folder's memories into one shape: content, title, summary, type hint, wikilinks, content hash.
4. Save them. Upload to the cloud, or write to the local store with `--local`.

## Local store layout

```
~/.versuno/memory/
  claude/
    agent-signup-delete-cascade-gate-e70a412b.md
    brain-chat-feature-96631f7a.md
  copilot/
    code-comment-style-3e1a7c58.md
```

Every file is plain Markdown you can open and read. The frontmatter records the agent, source, content hash, and capture time.

## Examples

```bash theme={null}
# Capture everything into the Versuno cloud
versuno memory capture

# Capture into the local store, no account required
versuno memory capture --local

# Step through and drop individual memories before capturing
versuno memory capture --local --review

# See the normalized payload without capturing anything
versuno memory capture --dry-run
```

## See also

* [versuno memory recall](/cli/memory-recall) searches the local store
* [versuno memory install-hook](/cli/memory-install-hook) makes Claude Code recall automatically
