Skip to Content
Jolli MemoryMemory Bank and Sync

Last Updated: 7/24/2026


Memory Bank and Sync

Jolli Memory keeps a copy of every memory on your own disk, and it can mirror those memories across your devices. This page explains the Memory Bank (the local copy), how to find and move it, and how cloud Sync differs from Share in Jolli.

What the Memory Bank is

The Memory Bank is a plain-Markdown copy of your memories, written to a folder on your disk.

Every time Jolli Memory generates a summary, it writes that summary to two places at once: the git orphan branch that stays with your repo (the source of truth), and the Memory Bank folder. This happens automatically on every commit. You do not turn it on, and you do not run anything.

Because the Memory Bank is just files on disk, you can open, read, search, and back them up with any tool - reading them needs no network and not even the extension.

Finding and browsing your memories

By default the Memory Bank lives at:

~/Documents/jolli/<repo>/

Each repository gets its own subfolder. Inside, there are two layers:

  • A visible Markdown layer you browse. One readable file per memory, grouped by branch:

    ~/Documents/jolli/<repo>/<branch>/<slug>-<hash8>.md
  • A hidden .jolli/ layer that holds the canonical JSON (summaries/, transcripts/, index.json). This is for programs to read, not for editing by hand.

  • A generated _wiki/ layer - a browsable knowledge wiki (_index.md plus one page per topic) that jolli compile rebuilds after each commit. Read it freely, but do not edit it: it is regenerated and is never the source of truth.

Open any .md file in your editor, a Markdown previewer, or a file manager. Search it with your normal tools. You do not need the extension or a network connection.

If you delete a .md file by accident, you can bring it back:

jolli heal-folder

This re-renders the missing Markdown from the canonical JSON. It does not call the AI again, and it does not change your source of truth.

Choosing where the Memory Bank lives

You can point the Memory Bank at any folder. This is useful if you want it on a different drive or in a specific location you back up.

In VS Code (or a fork such as Cursor or Windsurf):

  1. Open Settings (the gear icon in the Jolli Memory view).
  2. Go to the Memory Bank section.
  3. Click Browse and pick a folder.
  4. Click Migrate to Memory Bank.

In IntelliJ:

  1. Open the Jolli Memory settings.
  2. Go to the Memory Bank tab.
  3. Set the folder path with the Browse button.
  4. Click Migrate.

When you migrate, Jolli Memory copies your memories into a fresh folder at the new location. The previous folder is left in place on disk. Nothing is deleted, so you can remove the old folder yourself once you are happy with the move.

The folder setting is named localFolder. You can set it with jolli configure --set localFolder=<path> or from the editor Memory Bank settings. To relocate an existing Memory Bank, use the editor’s Migrate button: it copies your memories into the new folder and leaves the old one in place.

Syncing across your devices

Sync copies your Memory Bank to a private space that only you can see, and keeps it consistent across every device you sign in to. Jolli calls this your Personal Space. The copy is private. It is not shared with your team. Under the hood, turning on Sync makes your Memory Bank folder a git working tree connected to a private Jolli-hosted remote - which is why sync conflicts behave like git conflicts, and why you should not nest the folder inside another sync tool (see below).

Sync needs a Jolli API key, so you must be signed in to Jolli. Sign in with jolli auth login, or with Sign In to Jolli in the editor. If you only use an Anthropic API key (BYOK) with no Jolli account, you cannot sync.

Running a sync

From the CLI:

jolli sync-memory-bank

In VS Code, open Settings, go to the Memory Bank section, and click Sync to Personal Space Now.

In IntelliJ, sync runs on its own (see below). You can also trigger it by hand from the Jolli Memory tool window: use the Sync to Personal Space button in the Memory Bank explorer toolbar, or Sync to Memory Bank in the overflow menu.

Automatic or manual, by editor

Whether sync runs on its own depends on the editor:

SurfaceSync behavior
IntelliJAutomatic. Once you are signed in, IntelliJ syncs your Memory Bank to your Personal Space in the background by default. Background sync runs on a poll timer set by the Poll interval (seconds) field on the Sync to Jolli tab, which defaults to 90 minutes (shorter values are raised to the 90-minute minimum). You can turn auto-sync off with the Auto-sync to Personal Space checkbox on that tab, and still sync by hand.
VS CodeManual by default. There is no toggle for background sync; click Sync to Personal Space Now when you want a sync.
CLIManual. Run jolli sync-memory-bank when you want a sync. The CLI never syncs on its own.

A sync status indicator shows one of four states: synced, syncing, conflicts, or offline.

Transcripts stay local unless you opt in

By default, sync mirrors your summaries, plans, and notes, but not your raw conversation transcripts. Transcripts can contain pasted code, tokens, or other sensitive snippets, so they stay on your machine until you opt in.

To include transcripts, turn on the syncTranscripts setting, or add the flag for a single run:

jolli sync-memory-bank --transcripts

This applies to both manual and automatic sync.

If you already use Dropbox, iCloud, or Syncthing

Do not put your Memory Bank folder inside a folder that another tool already syncs, such as Dropbox, iCloud, or Syncthing. Two sync tools fighting over the same files can corrupt them. If your Memory Bank folder is already inside one of those, turn one of them off. Let either Jolli sync or the other tool own that folder, not both.

When two devices disagree

If two devices push changes that conflict, Jolli resolves most of it for you. The internal index files merge automatically. For other files, it uses an AI merge when you have an Anthropic API key set, and falls back to asking you to pick a version.

When you run jolli sync-memory-bank in a terminal, the CLI prompts you on each conflict (keep mine, keep theirs, view a diff, or skip) and can show the diff inline. In a non-interactive shell (a git hook or CI), it cannot prompt, so it skips the conflicting files and prints their paths. Open them in your editor to resolve, then sync again.

Sync compared with Share in Jolli

These are different actions with different audiences. It is worth keeping them straight.

  • The Memory Bank is a local copy on your disk. It is automatic, and nothing leaves your machine.
  • Sync mirrors your Memory Bank to your private Personal Space, so your own devices stay in step. Only you can see it.
  • Share in Jolli publishes one memory to your team’s Jolli Space, so a teammate can read it.
SyncShare in Jolli
What it is forMirror your memories across your own devicesPublish one memory to your team
What it sendsYour whole Memory Bank: summaries, plans, and notes. Transcripts only if you opt inOne commit’s summary plus its attached plans and notes
Who can see itOnly you, in your private Personal SpaceYour team, in a shared Jolli Space
Raw transcriptsOnly if you turn on syncTranscriptsNever sent
The git diffNever sentNever sent
How it runsAutomatic in IntelliJ, manual in VS Code and the CLIManual, one memory at a time
Needs a Jolli API keyYesYes
To undoRe-sync, or delete from your Personal SpaceDelete the article in the Jolli web UI. Your local copy is untouched

To share a memory, open the memory view for a commit and click Share in Jolli. To share a multi-commit story, squash the commits first, then share the combined memory.

Troubleshooting

If sync is not working, start with:

jolli doctor

Common issues:

  • Not signed in. Sync needs a Jolli API key. Sign in with jolli auth login, or with Sign In to Jolli in the editor.
  • HTTP 403 on sync or share. Your Jolli API key was rejected for this workspace, often because it was issued for a different org or was revoked. Re-authenticate to get a fresh key.
  • HTTP 426 Plugin Outdated. Your extension is behind the server. Update the VS Code or IntelliJ extension to the latest version.
  • Conflicts that will not clear. Open the files listed as conflicting, keep the version you want, and sync again.

For the full list of config keys and more troubleshooting, see the Reference.