Skip to content

Conversation

@bledden
Copy link

@bledden bledden commented Jan 7, 2026

Summary

Claude's context recollection has improved over time, however I am sure any power user would agree it is not yet perfect. I got tired of scrolling, copying and pasting the message or range of prompt + response exchanges. So I made this plugin. It indexes each message and response, and makes it more efficient than ever to recover lost context with Claude.

  • Adds a new /recall plugin that helps users recover conversation context when Claude loses track
  • Provides interactive browsing with search, time navigation, and pagination
  • Includes observability logging to track context loss patterns

Features

Command Description
/recall Interactive mode with menu
/recall last5 Fetch last 5 exchanges
/recall search <keyword> Full-content search
/recall around <time> Time-based navigation (e.g., 2pm, jan 5 2pm)

Key Capabilities

  • Full-content search across both user prompts AND assistant responses
  • Multi-day session support with date grouping and date-aware time queries
  • Incremental indexing using byte offset tracking (no redundant parsing)
  • Observability logging to ~/.claude/recall-events.log
  • 91 unit tests with full coverage

Plugin Structure

plugins/recall/
├── .claude-plugin/plugin.json
├── commands/recall.md
├── hooks/
│   ├── hooks.json
│   └── save_context_snapshot.py
├── scripts/
│   ├── utils.py
│   ├── show_index.py
│   ├── fetch_exchanges.py
│   └── extract_context.py
├── tests/ (6 test files, 91 tests)
└── README.md

Test plan

  • All 91 unit tests pass (python3 -m unittest discover -v tests/)
  • No Python deprecation warnings
  • Plugin loads correctly with claude --plugin-dir
  • /recall command appears in help
  • Interactive mode displays conversation index
  • Search finds matches in both user and assistant text
  • Time navigation finds correct exchanges
  • Observability events logged correctly

🤖 Generated with Claude Code

Add a new plugin that helps users recover conversation context when Claude
loses track, with interactive browsing and observability logging.

Features:
- `/recall` command with interactive menu
- Quick commands: `last5`, `last10`, `search <keyword>`, `around <time>`
- Full-content search across user prompts and assistant responses
- Multi-day session support with date-aware time navigation
- Paginated index display (20 exchanges per page)
- Incremental index updates using byte offset tracking
- Observability logging to ~/.claude/recall-events.log

Plugin structure:
- commands/recall.md - The /recall command definition
- hooks/save_context_snapshot.py - UserPromptSubmit hook for indexing
- scripts/utils.py - Shared utilities
- scripts/show_index.py - Paginated index display
- scripts/fetch_exchanges.py - Exchange fetching by query
- tests/ - 91 unit tests with full coverage

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@bledden bledden changed the title feat: add recall plugin for conversation context recovery feat: Add recall plugin for conversation context recovery Jan 7, 2026
@bledden
Copy link
Author

bledden commented Jan 8, 2026

@ashwin-ant are you going to be the right person to ping to get eyes on this? Apologies if not!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant