Ever got stuck in a long Claude thread and wished you could instantly jump to ChatGPT, Gemini, or Perplexity without losing text, code blocks, images, or attached files?
MoveChat is a free, 100% open-source, privacy-first Chrome extension that lets you capture, transfer, and export your AI chats in 1-click.
If MoveChat helps you switch between AI platforms effortlessly, please consider giving this repository a β star! It helps other developers and AI users discover this open-source tool.
| Feature | Description |
|---|---|
| β‘ 1-Click Seamless Transfer | |
| Capture chat threads on one AI platform and resume them instantly on another without losing context. | |
| π 100% Local & Safe | |
All data stays strictly in your browser (chrome.storage.local ). Zero tracking, zero telemetry, zero external servers. |
|
| πΌοΈ Full Media & File Support | |
| Automatically extracts code blocks, inline images, generated artifacts, and attached documents during handoff. | |
| π Multi-Format Export | |
Export any AI conversation to Markdown (, .md )PDF, or raw JSON for offline notes & documentation. |
|
| π§ Optional AI Compression | |
| Summarize long, verbose chat histories using your own API key (OpenAI / Anthropic / Gemini) before transferring. | |
| π‘οΈ Manifest V3 Compliant | |
| Built adhering strictly to Chrome Web Store MV3 security, privacy, and performance guidelines. |
MoveChat offers full bidirectional capture and handoff across all major AI chat platforms:
| Platform | Capture Session | Resume Chat | Images & Media | File Attachments |
|---|---|---|---|---|
ChatGPT (chatgpt.com ) |
||||
| β | β | β | β | |
Claude (claude.ai ) |
||||
| β | β | β | β | |
Gemini (gemini.google.com ) |
||||
| β | β | β | β | |
Perplexity (perplexity.ai ) |
||||
| β | β | β | β |
graph LR
A[Active AI Chat<br/>Claude / ChatGPT / Gemini / Perplexity] -->|1-Click Capture| B(MoveChat Extension)
B -->|Stored Locally| C[Browser Local Storage<br/>chrome.storage.local]
C -->|1-Click Resume| D[Target AI Platform<br/>ChatGPT / Claude / Gemini / Perplexity]
C -->|Export| E[Markdown .md / PDF / JSON]
Capture: Click**"Capture this session"** in the MoveChat popup while viewing an active conversation. MoveChat safely reads the thread, extracting text, code blocks, images, and attachments.Store: Conversations are saved locally on your device in structured JSON format. You can search, review, or organize your session library anytime.Resume: Select any target AI platform and click**"Resume in new chat"**. MoveChat automatically opens the target platform, populates the prompt, attaches your files/images, and lets you continue where you left off.
Get MoveChat directly from the official Chrome Web Store:
π Install MoveChat from Chrome Web Store
Clone the repository:
git clone https://github.com/VC067/MoveChat.git
cd MoveChat
Install dependencies:
npm install
Build the production extension:
npm run build
Load into Google Chrome:- Open
chrome://extensions
in your browser. - Enable
Developer mode(toggle switch in top right corner). - Click
Load unpacked and select the generateddist/
directory.
- Open
npm run dev
npm run build
npm run lint
MoveChat/
βββ src/
β βββ popup/ # Extension Popup UI (React + Tailwind CSS)
β β βββ components/ # Header, LibraryView, SessionDetailView, SettingsView, etc.
β β βββ hooks/ # Custom Chrome Storage Hooks
β βββ content/ # Content Scripts (Runs on AI web apps)
β β βββ scrapers/ # ChatGPT, Claude, Gemini & Perplexity scrapers
β β βββ injectors/ # Prompt & file injectors for each target platform
β β βββ dom.ts # DOM parsing & HTML-to-Markdown converter
β β βββ index.ts # Content script entry point & message listener
β β βββ storage.ts # Content script storage helper
β βββ background/ # Service Worker (Tab navigation & CORS image proxy)
β β βββ index.ts
β βββ shared/ # Core Utilities & Types
β βββ types.ts # Data interfaces (Session, Message, AttachedFile)
β βββ storage.ts # Chrome storage wrapper
β βββ markdown.ts # Markdown exporter
β βββ pdf.ts # PDF exporter (jsPDF)
β βββ compress.ts # Optional AI summary/compression engine
βββ public/
βββ manifest.json # Chrome Manifest V3 configuration
MoveChat is engineered with a strict privacy-first principle:
- π
Zero Remote Analytics or Tracking: We do not collect, track, or transmit any user data. - πΎ
100% On-Device Storage: All captured sessions, images, settings, and optional API keys remain inside
chrome.storage.local
. - π
Scoped Host Permissions: Host permissions are strictly restricted to supported AI web domains (chatgpt.com
,claude.ai
,gemini.google.com
,perplexity.ai
) and necessary image CDNs (*.googleusercontent.com
,*.oaiusercontent.com
).
| Permission | Purpose |
|---|---|
activeTab |
|
| Read conversation elements on the active tab when requested by the user | |
storage |
|
| Store chat sessions, settings, and exports locally on your machine | |
tabs |
|
| Open a new tab when resuming conversations on another platform | |
scripting |
|
| Inject content scripts for chat scraping and prompt injection |
For complete details, view our Privacy Policy.
Distributed under the MIT License. See LICENSE for details.