Last Updated: 4/30/2026
Reference
The lookup surface for Jolli Memory: config on top, CLI commands in the middle, troubleshooting at the bottom.
Configuration
All configuration lives in ~/.jolli/jollimemory/config.json. VS Code, IntelliJ, and the CLI read from the same file. Sensitive keys (apiKey, jolliApiKey, authToken) are masked when displayed.
Keys
| Key | Type | Description | Default |
|---|---|---|---|
apiKey | string | Anthropic API key (BYOK). Resolution order: config apiKey → ANTHROPIC_API_KEY env var → Jolli proxy via jolliApiKey. Setting this key overrides any jolliApiKey. | none |
model | string | Alias haiku | sonnet |
maxTokens | number | Token budget per LLM call. | 8192 |
jolliApiKey | string | Jolli API key (sk-jol-...). Used for sign-in and Push to Jolli. | none |
authToken | string | OAuth token from jolli auth login. | none |
codexEnabled | boolean | Enable Codex CLI session discovery. | auto |
geminiEnabled | boolean | Enable Gemini CLI session tracking. | auto |
claudeEnabled | boolean | Enable Claude Code session tracking. | true |
logLevel | enum | debug, info, warn, error. | info |
excludePatterns | string[] | Globs for files to exclude from the Changes panel. | none |
openCodeEnabled | boolean | Enable OpenCode session discovery (uses local SQLite DB; requires Node 22.5+). | auto |
localFolder | string | Push-to-Local destination folder. VSCode Settings UI only - jolli configure will reject this key. | none |
pushAction | enum (jolli,both) | Push button behavior. jolli = upload only; both = upload AND write to localFolder. VSCode Settings UI only. | jolli |
logLevelOverrides | object | Per-component log-level overrides (advanced). | none |
localFolder and pushAction are managed exclusively via the VSCode Settings UI; the CLI’s configure --set does not accept them. All other keys can be edited via jolli configure or by editing the config file directly.
Editing config from the CLI
jolli configure --set model=claude-opus-4-6
jolli configure --set model=sonnet --set maxTokens=16000
jolli configure --remove apiKey
jolli configure --list-keysEnvironment variables
| Variable | What it does |
|---|---|
ANTHROPIC_API_KEY | Fallback for Anthropic direct calls when no apiKey is set. |
JOLLI_AUTH_TOKEN | Read-time OAuth-token override. CI/script use. |
ANTHROPIC_BASE_URL | Override the Anthropic API base URL (consumed by the official SDK; use only when routing through a known proxy/relay). Default: https://api.anthropic.com. |
XDG_DATA_HOME | Base directory for OpenCode’s opencode/opencode.db. Default: ~/.local/share. Set to override OpenCode session discovery on non-standard Linux layouts. |
CLI commands
Binary jolli, package @jolli.ai/cli. Most commands accept --cwd <dir> to run against a specific repo root.
| Command | What it does |
|---|---|
jolli enable | Install git hooks, agent hooks, and the /jolli-recall skill. |
jolli disable | Remove all hooks. Stored Memories are untouched. |
jolli status | Show installation state. --json for machine-readable. |
jolli configure | Manage config keys. See above. |
jolli clean | Remove expired auxiliary state: session entries older than 48 hours from sessions.json, git-op queue entries older than 7 days, and stale squash-pending.json markers older than 48 hours. Stored Memories and transcripts are never deleted by clean - they remain readable by hash even after squash/rebase. --dry-run previews. |
jolli doctor | Diagnose installation health. --fix releases stale locks. |
jolli view | View Memories. Flags: --count <n> (default: 10), --commit <ref> (numeric index — 1 = latest — or hex SHA prefix; HEAD, branch names, and tags are not accepted), --output <path>, `—format <md |
jolli recall | Compile branch context for an AI session. |
jolli export | Export Memories as Markdown. Flags: --commit <sha>, --project <name>. |
jolli auth login | OAuth browser flow. |
jolli auth logout | Remove OAuth and Jolli API key. Anthropic key stays. |
jolli auth status | Show sign-in state. |
jolli recall flags
--full (full content, not summaries), --depth <n>, --budget <tokens> (default 30,000), --include-transcripts, --no-plans, --catalog, --format (md or json), --output <path>.
For full flag lists on any command: jolli <command> --help.
IDE commands
All commands appear under the Jolli Memory category. Invoke from VS Code’s Command Palette (Cmd/Ctrl+Shift+P) or IntelliJ’s Find Action (Cmd/Ctrl+Shift+A).
The IntelliJ settings page at Settings → Tools → Jolli Memory exposes Anthropic API Key, Model, and Jolli API Key. Other keys (integration toggles, excludePatterns) are managed via the CLI or by editing the config file directly.
Agent support matrix
| Agent | How sessions are captured | Surfaces |
|---|---|---|
| Claude Code | Stop hook (records session metadata) + SessionStart hook (auto-injects [Jolli Memory - ] briefing). | CLI, VS Code, IntelliJ |
| Gemini CLI | After-agent hook (captures transcripts). No session-start briefing. | CLI, VS Code, IntelliJ |
| Codex CLI | Filesystem scan of ~/.codex/sessions/. No hook required. | CLI, VS Code, IntelliJ |
| OpenCode | SQLite scan of ~/.local/share/opencode/opencode.db via Node’s built-in node:sqlite. No hook required. Requires Node 22.5+. | CLI, VS Code, IntelliJ |
Troubleshooting
If something isn’t working, run this first:
jolli doctorIt prints a checklist of hook state, credential state, and queue state. For automatic recovery:
jolli doctor --fixIf doctor didn’t pin the issue, the categories below cover what doctor doesn’t.
Summaries not generating
The most common problem. Work through these in order:
- Credentials. Open the Status panel or run
jolli status. If both Anthropic and Jolli show Not configured, you have no way to generate summaries. - Agent in the loop. Memory needs a transcript. If you committed with no supported agent running (Claude Code, Codex CLI, Gemini CLI, or OpenCode), there’s nothing to summarize.
- Hooks installed.
jolli doctorreports “Git hooks: not installed” - runjolli enablefrom the repo root. - Editor Output panel. In VS Code: View → Output → Jolli Memory. Common errors:
LLM proxy request failed with status 429- rate limit. Wait a minute.No LLM provider available.- credentials not set.LLM direct request to api.anthropic.com failed- invalid or rate-limited Anthropic key.
- Agent capture. Claude Code and Gemini CLI need agent hooks (which
enableinstalls) and need to be started after enable. Restart the agent if you started it first. Codex CLI (filesystem-discovered) and OpenCode (SQLite-discovered) don’t need hooks; no restart needed.
Stuck state
A stuck lock or a backlog of queued summaries usually means the worker crashed or the LLM provider was unreachable for a while.
jolli doctor # Reports lock state and queue size
jolli doctor --fix # Releases stale locks
jolli clean --dry-run # Shows what would be cleared
jolli clean # Clears stale queue entriesFor a queue backlog, just making one more commit kicks the worker into processing the rest from that point.
Sign-in failures
OAuth error codes seen on the browser callback page:
| Code | Meaning |
|---|---|
oauth_failed, session_missing, invalid_provider | Generic flow failure. Retry. If persistent, fall back to BYOK. |
no_verified_emails | Your Jolli account has no verified email. Verify one and retry. |
failed_to_get_token | Couldn’t retrieve credentials. Retry; fall back to BYOK if persistent. |
For Could not derive Jolli site URL from API key, regenerate the key at Settings → Jolli Memory → Create Key and re-sign-in.
Push to Jolli failures
- HTTP 426 “Plugin Outdated” - your Memory extension is behind the server. Update the VS Code or IntelliJ extension to the latest version.
- HTTP 403 - the server rejected your Jolli API Key for this workspace, usually because the key was issued for a different tenant/org or your access was revoked. Run
jolli auth statusto see the current workspace; re-authenticate (jolli auth loginor Sign in via the Status panel) to fetch a fresh key.
Still stuck
File an issue (with jolli doctor output included) to support@jolli.ai.