Seamlessly continue AI conversations across tools when you hit context window limits.
Capture → Compress → Continue
You’re deep in a conversation with ChatGPT, debugging a complex issue. 50 messages in, you hit the context window limit. Now what?
Context Resolver is a Chrome extension that acts as portable AI conversation memory:
All data stays 100% local in your browser. No servers. No accounts. No tracking.
| Platform | Capture | Inject |
|---|---|---|
🤖 ChatGPT (chatgpt.com) |
✅ | ✅ |
🟠 Claude (claude.ai) |
✅ | ✅ |
✨ Gemini (gemini.google.com) |
✅ | ✅ |
🔍 Perplexity (perplexity.ai) |
✅ | ✅ |
🐋 DeepSeek (chat.deepseek.com) |
✅ | ✅ |
⚡ Grok (grok.com) |
✅ | ✅ |
Navigate to any supported AI chat and click Capture Context. The extension extracts all messages, preserving code blocks, formatting, and conversation structure.
Three compression levels to fit any context window:
| Level | Size | What’s Preserved |
|---|---|---|
| Full | 100% | Everything — raw conversation |
| Summary | ~30-40% | First/last exchanges + all code blocks + key decisions |
| Key Points | ~10-15% | Only decisions, requirements, action items, and code |
Injects context with a structured handoff prompt that tells the receiving AI tool:
Manage multiple saved contexts with:
chrome.storage.local| Shortcut | Action |
|:———|:——-|
| ⌘⇧C / Ctrl+Shift+C | Capture context from current tab |
| ⌘⇧V / Ctrl+Shift+V | Inject context into current tab |
Backup your entire context library to JSON and import it on another machine.
This is the easiest way to install the extension for free:
context-resolver-vX.X.X.zip file from the Assets section..zip file into a folder on your computer.chrome://extensions/.git clone https://github.com/PuneetDadhich/Context-Resolver.gitchrome://extensions/Context Resolver/
├── manifest.json # Manifest V3 configuration
├── icons/ # Extension icons (16-128px)
├── background/
│ └── service-worker.js # Event-driven message router
├── sidepanel/
│ ├── sidepanel.html # Side panel UI
│ ├── sidepanel.css # Premium dark-mode styles
│ └── sidepanel.js # UI logic & state management
├── content-scripts/
│ ├── platform-detector.js # URL-based platform detection
│ ├── injector.js # Cross-platform injection utilities
│ └── adapters/
│ ├── base-adapter.js # Abstract base adapter
│ ├── chatgpt-adapter.js # ChatGPT DOM extraction
│ ├── claude-adapter.js # Claude DOM extraction
│ ├── gemini-adapter.js # Gemini DOM extraction
│ ├── perplexity-adapter.js # Perplexity DOM extraction
│ ├── deepseek-adapter.js # DeepSeek DOM extraction
│ └── grok-adapter.js # Grok DOM extraction
├── lib/
│ ├── utils.js # Shared utilities
│ ├── storage.js # chrome.storage wrapper
│ ├── compressor.js # Context compression engine
│ └── template.js # Handoff prompt templates
└── styles/
└── design-tokens.css # CSS design system
chrome.runtime.sendMessageMake sure you’re on the chat page of a supported platform, not a settings or account page.
Some platforms lazy-load messages. Try scrolling through the entire conversation before capturing.
Some platforms use custom editors (like ProseMirror or Quill). If direct injection fails, the text is copied to your clipboard — just paste manually with Ctrl+V.
Click the puzzle piece icon in Chrome’s toolbar and pin Context Resolver.
Contributions are welcome! To add support for a new platform:
content-scripts/adapters/BaseAdapter and implement static matches(), getMessages(), getInputElement()content-scripts/platform-detector.jsmanifest.json (content_scripts matches + host_permissions)Context Resolver does not collect, transmit, or store any user data externally.
chrome.storage.localSee PRIVACY.md for the full privacy policy.
MIT License — see LICENSE for details.