Storage
Store location
Section titled “Store location”Session Copilot persists all data to a single JSON file. The lookup order is:
COPILOT_STORE_PATHenvironment variable (if set).claude/copilot/store.jsonin the current project directory~/.claude/copilot/store.jsonas a global fallback
The project-local path is preferred so each project keeps its own session history.
Data model
Section titled “Data model”The store contains three collections:
Decisions
Section titled “Decisions”Each decision records:
- what — the choice that was made
- why — the reasoning behind it
- alternatives — options that were rejected and why
- confidence — how confident the decision is (high, medium, low)
- tags — categorization labels
- files — related file paths
Snapshots
Section titled “Snapshots”A snapshot captures full session state:
- working_on — what was in progress
- done — what was completed
- next_steps — planned follow-up work
- blockers — anything preventing progress
- key_files — important files for context
- notes — freeform context
Timeline events
Section titled “Timeline events”Timeline events are recorded automatically by hooks or manually via copilot.timeline_event. Each event includes a timestamp, event type, and metadata (file paths, command results, pass/fail status).
Data format
Section titled “Data format”All data is stored as JSON in a single file. The file is human-readable and can be inspected directly if needed. There is no database, no binary format, and no network sync.
Pruning
Section titled “Pruning”Use copilot.forget to remove old data:
- By age:
copilot.forgetwitholderThanDaysremoves entries older than N days - By session:
copilot.forgetwith a session ID removes all data from that session
Pruning is permanent. There is no undo.