Cross-Session Memory & Continuity
SkillSearchUse when you need to recover context, decisions, or artifacts across multiple Copilot CLI sessions — search prior session history and resume with the right files, notes, and state.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Cross-Session Memory & Continuity skill
What this skill tells your AI
The instructions your AI receives, as published by drvoss/everything-copilot-cli in skills/copilot-exclusive/cross-session-memory/SKILL.md and read by ahel’s review.
Why This is Copilot-Exclusive
Copilot CLI maintains a cross-session history store — a read-only SQLite database
(session_store) that contains conversation history, file references, and full-text search
across all your past sessions. Combined with /resume to continue previous sessions and
session artifacts stored in files/, this creates persistent memory across your development
workflow. Claude Code sessions are ephemeral — when a session ends, its context is gone.
When to Use
- Resuming work on a multi-day task
- Searching past sessions for how you solved a similar problem before
- Building on artifacts (plans, analyses, configs) from previous sessions
- Maintaining context continuity across terminal restarts
- Reviewing what you accomplished in past sessions
Workflow
1. Resume a Previous Session
Use the /resume command to pick up where you left off:
/resume
This lists your recent sessions. Select one to continue with full context restored, including conversation history, file state, and session database.
2. Search Across Sessions
Option A: /chronicle for fast discovery
Start broad with natural-language history lookup:
/experimental on
/chronicle "authentication work from last week"
/chronicle "Redis caching setup"
/chronicle "what did we decide about the payment module architecture?"
If /chronicle is unavailable in your current build, enable experimental commands first.
Use /chronicle to find the most relevant sessions, decisions, or artifacts quickly. Once you
know which session matters, switch to SQL when you need exact filtering or reproducible queries.
Option B: SQL via session_store
Query the session_store database to find past work:
-- Prefer the search index for text lookup, then join back to sessions
sql(database: "session_store",
query: "
SELECT s.id, s.summary, si.source_type
FROM search_index si
JOIN sessions s ON s.id = si.session_id
WHERE search_index MATCH 'authentication OR auth OR login'
ORDER BY s.updated_at DESC
LIMIT 10
")
The session_store includes FTS5 (full-text search) for fast, fuzzy searching
across all your historical sessions.
Start broad, then narrow:
- search
search_indexwith expanded keywords - identify the relevant session IDs
- read the corresponding turns, checkpoints, or files in that session
If you query sessions directly, use it for structured metadata such as repository, branch, or
date range — not as your primary full-text search surface.
3. Access Session Artifacts
Files created during sessions are stored in the session's files/ directory:
~/.copilot/session-state/<session-id>/files/
These persist after the session ends and can be referenced in future sessions.
4. Session Database Continuity
When you resume a session, its SQL database is restored:
-- Check where you left off
SELECT id, title, status FROM todos ORDER BY updated_at DESC;
-- Continue from your last in-progress todo
SELECT * FROM todos WHERE status = 'in_progress';
5. Building Knowledge Over Time
Pattern: Evolving Architecture Documents
Session 1: "Analyze the codebase architecture and create a summary"
→ Produces architecture analysis in session artifacts
Session 2: /resume → "Update the architecture doc with the new payment module
we added last week"
→ Builds on previous analysis
Session 3: /resume → "Add the performance benchmarks we ran yesterday"
→ Continues evolving the document
Pattern: Progressive Refactoring
Session 1: Plan the refactoring (todos created in SQL)
Session 2: /resume → Execute Phase 1 (update todo statuses)
Session 3: /resume → Execute Phase 2 (pick up from SQL state)
Session 4: /resume → Final verification and cleanup
Examples
Multi-Day Feature Development
# Day 1 - Monday
You: "Plan the new notification system"
Copilot: Creates plan, SQL todos, architecture notes
# Day 2 - Tuesday
/resume
You: "Continue with the notification system. Where did we leave off?"
Copilot: Reads SQL todos, sees Phase 1 is done, starts Phase 2
# Day 3 - Wednesday
/resume
You: "Let's finish the notification system and write tests"
Copilot: Picks up from Phase 2 completion, writes tests
Finding Past Solutions
You: "Last month I set up a Redis caching layer for something.
Search my past sessions for how I configured it."
sql(database: "session_store",
query: "
SELECT s.id, s.summary
FROM search_index si
JOIN sessions s ON s.id = si.session_id
WHERE search_index MATCH 'redis OR cache OR redis-cache OR caching'
ORDER BY s.updated_at DESC
LIMIT 5
")
Copilot finds the relevant session and extracts the configuration approach.
Reusing Analysis
You: "I did a security audit of the auth module a few weeks ago.
Find that analysis and check if the issues were fixed."
# Search past sessions
# Find the security audit
# Compare findings against current code
# Report which issues are resolved vs still open
Session Artifact Workflow
# Session 1: Generate a report
You: "Analyze test coverage gaps and create a report"
→ Report saved to session files/
# Session 2: Act on the report
/resume
You: "Now implement the missing tests from our coverage analysis"
→ Reads the report from session artifacts, generates tests
Durable Knowledge in a Worktree
For research notes or reference material that should outlive a single session but stay isolated from active code edits, keep them in a dedicated docs or notes worktree instead of mixing them into the main checkout.
Good uses:
- durable architecture summaries
- long-lived comparison notes
- reproducible research snapshots
Guardrails:
- treat that worktree as a read-mostly knowledge store
- verify the expected remote or target path before writing into it
- redact credentials, tokens, or connection URLs before saving logs or copied config
Tips
- Use /resume for continuity: Don't re-explain context. Resume picks up your full conversation and state.
- Start with /chronicle, drill with SQL: use
/chroniclefor fast discovery, then querysearch_indexor session tables when you need precision. - Name your sessions: Use descriptive first messages so sessions are easy to find later. "Set up payment processing" is better than "help me code."
- SQL todos survive sessions: Your
todostable persists when you resume. Use it as a persistent task tracker across days. - Session store is read-only: You can search
session_storebut not write to it. It's automatically populated from your session history. - Artifacts for important outputs: When Copilot generates something you'll need later (reports, configs, plans), it can save to session files.
- Use worktrees for durable reference sets: If the material should persist beyond one session and stay separate from product code edits, keep it in a dedicated worktree.
- Prefer structured retrieval over memory: search
search_index, then inspect matching turns or checkpoints instead of guessing from titles alone. - Search before you start: Before tackling a problem, search past sessions to see if you've solved something similar. Build on past work, don't repeat it.
Signals
- GitHub stars
- 46
- Forks
- 11
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
cross-session-memory- Source
- github.com/drvoss/everything-copilot-cli