Skip to Content
Jolli MemoryRecall vs Search

Last Updated: 8/20/2026


Recall vs Search

Overview

Recall resumes one branch. Search finds a decision across all branches. Both feed old context back to you, so people mix them up. They do different jobs.

If you only remember one thing: Recall pulls one branch’s full history into your next AI session so you can keep going where you left off. Search scans every branch for a decision, topic, or commit when you do not remember where it lives.

Prerequisites

  • The jolli CLI installed and Memory enabled in the repository.
  • Memories already generated on this machine - Recall reads your own disk, not the server.
  • On Cursor and Codex, the automatic session-start briefing needs the Jolli plugin for that agent.

Recall: resume one branch

Recall compiles everything Memory knows about a single branch - its commit summaries, the decisions behind them, attached plans and notes, and file-change stats - into a briefing for your AI agent. One branch, full depth. Use it to continue your own work after a break.

Recall reads your own machine. It compiles from the memories stored with your local clone, so it can only recall a branch whose memories were generated on this machine. A teammate’s branch is not in your store, even if you have checked their branch out: memories are kept on local-only git refs and are never pushed to your remote alongside the code. To read a colleague’s reasoning, use the shared Jolli Space they published to - see Reading a teammate’s work below.

Automatic vs explicit

Automatic, in Claude Code, Cursor, and Codex. When you start a session in a repo with Memories, a compact [Jolli Memory — <branch>] block (about 300 to 500 tokens) prepends the conversation: branch name, recent Memories, key decisions, and pinned plans. It is small enough not to eat your context budget. On any day after your last commit the briefing adds a tip to run a full Recall; once more than three days have passed it escalates that to a warning naming the number of days.

Claude Code gets this from the CLI alone. Cursor and Codex get it once you install the Jolli plugin for that agent - see Jolli Memory in Your AI Agent.

The automatic briefing runs on feature branches only. It is skipped on the shared branches main, master, develop, development, staging, and production (an exact, case-sensitive match, so a branch named Main or release/2.0 still gets one). Skipping the automatic briefing does not disable recall: you can always pull any branch’s context on demand with jolli recall <branch> (for example jolli recall main).

Every other agent, and these three without a plugin, pulls context manually instead of getting the automatic briefing.

Explicit, any agent. Inside Claude Code, run /jolli:recall (or /jolli:recall <branch>) for a deeper pull. In Codex, Gemini CLI, OpenCode, Cursor, and Copilot the same skill is /jolli-recall. From the CLI:

jolli recall

With no argument, Recall uses your current git branch. Pass a branch name to recall a different one. If the name does not match a recorded branch, Recall lists the branches it has. (jolli recall is also available under the alias jolli context.)

Short summary vs full context

A bare jolli recall prints a short, human-readable summary for the terminal: last commit, topic counts, a few key decisions, files changed. That is a digest, not the full context.

To get the full context (the version worth feeding to an AI agent), add a flag:

jolli recall --full # full markdown to your terminal jolli recall --format json # structured payload for a skill or agent jolli recall --output ctx.md # full markdown written to a file

Useful flags

The everyday ones: --full (full context instead of the short summary), --budget <tokens> (default 20,000; raise it when a long branch truncates, since lower-priority fields are trimmed first), and --format <md|json> (JSON for a skill or agent). See Reference for the complete set: --depth, --output, --include-transcripts, --no-plans, and --catalog.

Search: find a decision across branches

Search runs a full-text, relevance-ranked query over your distilled commit summaries across every branch recorded on this machine. It returns lightweight hits, each with a title, a short snippet, the branch it belongs to, and the commit. It does not return the full decision text per hit - it points you to where the answer lives.

From the CLI:

jolli search "why did we switch to JWT"

Reach for Search when you are asking “have we handled X before”, “why did we choose X over Y”, or “which commit touched that half-remembered ticket or file”.

Useful flags

The common ones: --limit <n> (default 20, max 100), --branch <branch>, --type <topic|commit>, and --format <json|text> (default json). See Reference for the full set.

Tip: jolli search prints JSON by default. For a quick terminal read, add --format text for a one-line-per-hit view.

Then recall the hit’s branch for depth

Search hits are intentionally shallow. When a hit looks right, run Recall on that hit’s branch to load the full rationale and decisions:

jolli recall <branch-from-the-hit>

Search finds the branch. Recall gives you its full story.

Which one do I want?

I want to…UseWhy
Continue a branch I was working onRecallLoads that one branch’s full history into your AI session.
Understand a teammate’s branchTheir Jolli SpaceRecall and Search only read memories generated on your own machine.
Remember why we chose X over YSearchFinds the decision wherever it was made.
Find the commit for a half-remembered ticket or fileSearchRanked hits across every branch.
Read the full rationale behind a search hitRecall the hit’s branchSearch hits are lightweight; decisions live in Recall.

Rule of thumb: you know the branch, use Recall. You are hunting a topic, use Search.

Reading a teammate’s work

Both Recall and Search read the memories stored with your own clone, so neither reaches work done on someone else’s machine. Checking out their branch does not help: the memories live on git refs Jolli keeps local, and pushing your code never pushes them.

What crosses between people is a Jolli Space. When a teammate shares a memory or pushes a branch to a Space, it becomes readable there:

  • In the Jolli web app, in the Space their repository is bound to.
  • From your AI agent, using the hosted memory tools over MCP, which search your organization’s memory rather than your local store. See Use Your Memory from Any AI Agent (MCP).

So the split is worth holding onto: Recall and Search answer “what did I do here”, and the Space answers “what did we decide”. If a teammate’s branch is not showing up for you, the question is whether it was ever pushed to a Space, not which flag to pass to Recall.

Commands, by where you run them

Where you run itRecallSearch
Claude CodeAutomatic briefing at session start; /jolli:recall [branch] for depth./jolli:search <query>.
Cursor, Codex (with the Jolli plugin)Automatic briefing at session start; /jolli-recall in Cursor, $jolli:recall in Codex, for depth./jolli-search in Cursor, $jolli:search in Codex.
Gemini, OpenCode, and Codex or Cursor without the pluginNo auto briefing; run the /jolli-recall skill./jolli-search where the skill is installed.
CLIjolli recall (short) or jolli recall --full (full).jolli search <query>.
VS Code extension”Recall in Claude Code” button, or “Copy recall prompt” to paste into any AI tool.See the callout below. The sidebar box is a filter.
JetBrains pluginRecall menu copies a prompt for your AI coding tool.See the callout below. The sidebar box is a filter.
Jolli in your browserA Memory summary’s panel has a Copy Recall Prompt button that copies a ready-to-paste recall prompt for your AI agent.n/a
AI agents (MCP)recall tool (defaults to the current branch).search tool.

This is the most common mix-up.

The “Search Memories” box in the VS Code and IntelliJ sidebar is not jolli search. It is a case-insensitive substring filter over the Memories list. In VS Code and its forks (Cursor, Windsurf) it matches on commit message, branch name, and repo name; in IntelliJ it matches on commit message, branch name, repo name, and file path, and only in the Timeline view. Either way it does not read inside the Why, Decisions, or Implementation text, and it does not use the full-text ranking that jolli search does.

So if you type a decision detail into the sidebar box and get nothing, that is expected. The box narrows the visible list of stored Memories; it does not search their contents.

To search decision and topic text across branches, use one of these instead:

  • jolli search "<query>" from the CLI.
  • /jolli:search <query> in Claude Code, or /jolli-search <query> in another agent with the skill.
  • The search MCP tool, if your agent is wired to Memory over MCP.