sessions
Search and memory across your AI coding sessions — one index over Claude Code, Codex, and Pi. Fuzzy-find and resume from the CLI, give agents recall via MCP, and get usage reports.
Install / Use
claude mcp add nicknisi -- npx -y github:nicknisi/sessionsIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Tags
Our assessment of sessions
sessions scores 78/100 on our quality scale, 3657th of 4,648 Development & Engineering skills we index.
Its MCP Server is 68 KB long, well organised into 38 sections with 24 code examples: long enough that it reads more like full documentation than a focused instruction file, which agents can find harder to follow.
It has 43 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 5 days ago, so sessions is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
WarningOur scan of the whole file found 1 high-risk pattern. Read the lines below before installing sessions, and do not run it with automatic approvals. An AI review of the same text found nothing harmful.
- highTells the agent to ignore its other instructionsline 339
… private-key blocks), prompt-injection phrasing ("ignore previous instructions…"), and invisible Unicode characters never enter the store or… - noteInstalls by piping a downloaded script into a shellline 439
curl -fsSL https://sessions.engineering/wrapped | sh - noteInstalls by piping a downloaded script into a shellline 440
curl -fsSL https://sessions.engineering/wrapped | sh -s -- --year 2025 # pass options after --
AI review by kimi-k2.7-code on 2026-10-28. Automated pattern scan on 2026-10-28. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
sessions compared with similar skills
All 4 of these similar skills score higher than sessions; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| sessions (this skill)by nicknisi | 78 | 43 | 5d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 105.5k | 3d ago | CLAUDE.md |
| taste-skillby Leonxlnx | 100 | 104.3k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.1k | today | CLAUDE.md |
| ai-job-searchby ai-job-search-dev | 100 | 67.1k | 1d ago | CLAUDE.md |
Frequently asked questions
- How do I install sessions?
- Run
claude mcp add nicknisi -- npx -y github:nicknisi/sessions. The install tabs above show the steps for each supported agent. - Which AI agents does sessions work with?
- It is written for Claude Code, Claude Desktop and OpenAI Codex, as a MCP Server file. Other agents that read the same format can often use it too.
- Is sessions safe to use?
- Our scan of the whole file found 1 high-risk pattern. Read the lines below before installing sessions, and do not run it with automatic approvals. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is sessions still maintained?
- The repository was last updated 5 days ago, so sessions is actively maintained.
Skill content
View source on GitHubWhy
Every AI coding session leaves a transcript behind. Claude Code buries them in ~/.claude/projects/, Codex and Pi have their own layouts, OpenCode keeps everything in a SQLite database — and everything in them (what you tried, what you decided, what broke) is effectively write-only.
sessions builds a full-text search index over all of it and makes that history useful in three ways:
- Search & resume (CLI) — fuzzy-find any past session across all four tools, ranked by relevance, and jump back in.
- Agent memory (MCP) — agents search your history, pull a repo-scoped context primer when you return to a codebase, and answer "what did I do last week?" via bundled skills.
- Usage reports — a token/cost dashboard across tools, models, and projects.
Install
Homebrew
brew install nicknisi/formulae/sessions
Or, equivalently:
brew tap nicknisi/formulae
brew install sessions
From source
git clone https://github.com/nicknisi/sessions && cd sessions
bun install && bun run build
The compiled binary is at dist/sessions. Requires Bun when building from source. The Homebrew install is a standalone binary — no runtime needed.
Dependencies
- fzf (optional but recommended) — used for fuzzy selection. If fzf is not installed, a built-in numbered list selector is used as a fallback. Install with
brew install fzf. - Ollama (optional) — enables semantic recall (see below). If Ollama is not running, search stays purely lexical. Install from ollama.com.
Semantic recall
Search is lexical by default (full-text ranking over titles, paths, commands, and messages). When an embedding endpoint is available, sessions adds an optional semantic lane that fuses with — never replaces — the lexical results, so a paraphrase like "flaky tests" can surface a session about "intermittent CI failures".
- Providers: the lane defaults to Ollama on
http://localhost:11434(override withSESSIONS_OLLAMA_URL) usingnomic-embed-text(override withSESSIONS_OLLAMA_MODEL;ollama pull nomic-embed-textto install it). SetSESSIONS_EMBED_PROVIDERto opt into a remote endpoint instead:openaifor any OpenAI-compatible/embeddingsAPI (defaulthttps://api.openai.com/v1, modeltext-embedding-3-small) orteifor Text Embeddings Inference (defaulthttp://localhost:8080, model read from its/info).SESSIONS_EMBED_URL,SESSIONS_EMBED_MODEL(openai only) andSESSIONS_EMBED_API_KEY(sent asAuthorization: Bearer) configure the remote providers; the key is required only for the real OpenAI endpoint, whereOPENAI_API_KEYis used as a fallback. - Absence is first-class: no endpoint, an unreachable server, the model not pulled, an unknown
SESSIONS_EMBED_PROVIDER, or a malformed URL all degrade to identical lexical behavior. Nothing is contacted unless a provider is detected or named — there is no flag. - Threshold:
SESSIONS_EMBED_THRESHOLD(a number in(0, 1)) overrides the cosine floor below which a nearest-vector match is ignored; the default is0.45. Cosine values are model-specific. Withintfloat/multilingual-e5-small, unrelated sessions already score about0.77–0.88, so0.45filters nothing. On two small mixed Korean/English corpora I measured, the true paraphrase hit ranked first every time but beat the best unrelated session by only0.02–0.08, and the bands overlapped across the two corpora, so no single floor separated them (0.84missed a true hit on both). Treat it as a per-corpus value to measure for your own model, not a recommended setting. - Privacy: the default Ollama lane contacts only
localhost; nothing leaves your machine, and no model is bundled in the binary. A remote provider sends the embedded session text (title, first prompt, files touched, and the first few user messages, capped at 2000 characters per session) and your query text to the configured endpoint — and only when you setSESSIONS_EMBED_PROVIDERyourself.
Quick Setup
After installing, run:
sessions setup
This automatically:
- Copies the plugin and skills to
~/.local/share/sessions/plugin/ - Detects which AI tools you have installed (Claude Code, Cursor, Codex)
- Adds the MCP server config to each tool
- Registers the plugin so skills are discoverable
❯ sessions setup
sessions setup
✓ Plugin installed to ~/.local/share/sessions/plugin/
✓ MCP server added to Claude Code
✓ Plugin registered with Claude Code
✓ MCP server added to Cursor
✓ Plugin registered with Cursor
Skills available:
/context Context primer for the current repo
/weekly-summary Summarize your past week's AI sessions
/standup Yesterday + today activity for standups
/recall What did I do on a specific project?
/session-metrics Usage dashboard with tool breakdown
/session-reflect Reflect on prompting, corrections, and delegation
/memory Triage durable facts mined from past sessions
Run `sessions setup` again after upgrading to update skills.
After upgrading sessions (e.g., brew upgrade sessions), run sessions setup again to update the skills to the latest version.
To remove the plugin, the MCP config, and the SessionStart hook: sessions uninstall. It removes only what the installer created — durable data in ~/.local/share/sessions (the memory store and the transcript archive) is left alone.
CLI: search & resume
sessions # Browse all sessions with fzf
sessions <query> # Full-text search across session content
sessions --here # Scope to current git repo only
sessions --tool claude # Filter to Claude Code sessions only
sessions --errored # Only sessions that hit an error
sessions --file src/auth.ts # Only sessions that touched this file
sessions context # Print a context primer for the current repo
sessions why <target> # Why does this code exist? Correlate it to past sessions
sessions continue [<session>] # Pick a session back up in any agent, against today's code
sessions digest <session> # Print one session's arc as compact markdown
sessions report # Usage report (HTML dashboard, opens in browser)
sessions memory mine # Mine past sessions for durable facts (JSON on stdout)
sessions memory mine --since-last # ...only transcripts changed since the last mine
sessions memory report # Recurrence report: violations, repeats, fuzzy paraphrase pairs
sessions memory pending # Count + preview the candidates awaiting triage
sessions memory approve <id> # Keep a mined candidate as a durable memory
sessions memory approve <id> --always-on # ...and exempt it from topic filtering
sessions memory approve <id> --no-always-on # ...or explicitly revoke that exemption
sessions memory approve <id> --scope group:authkit # ...and scope it to a project group
sessions memory approve <id> --scope repo:. # ...or bind it to this repo (imports arrive unbound)
sessions memory reject <id> # Dismiss a candidate; it stops being emitted
sessions memory snooze <id> # Hide a candidate without rejecting it
sessions memory merge <id> <id>... # Fold paraphrases into the first id
sessions memory export # Write approved memories as a portable bundle (JSON)
sessions memory import <p> # Merge another author's bundle in as candidates
sessions memory import --from pi-hermes # ...or import another agent's memory store
sessions vault status # Durable transcript archive: counts, bytes, vault-only sessions
sessions vault inspect <target> # One archived session by original path or session id
Options
| Flag / Command | Description |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| context | Print a markdown context primer for the current repo (see Context primer) |
| digest <session> | Print one session's arc as compact markdown (~8k chars): each genuine user turn with its exchange's final assistant reply. Accepts a JSONL file path or a session id |
| continue [<session>] | Pick a past session back up in any agent with a brief of its arc, whether its work landed, and what changed since in the files it touched (see Continue). --in <tool> picks the agent; --print prints the brief |
| why <target> | Explain wh
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
105.5kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
taste-skill
104.3kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
headroom
78.1kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ai-job-search
67.1kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
