Guides ·
Hop ChatGPT to Grok
Chat Transfer hops ChatGPT to Grok in Chrome by pasting a wrapped handoff from the open ChatGPT thread into Grok’s composer at grok.com locally — Full, Last N, or last assistant — without account migration and without silent-send.
Version 0.4.0 is live on the Chrome Web Store. Soft Auto-Send stays opt-in and default off. Preferences live in chrome.storage.local. Add to Chrome
What “hop ChatGPT to Grok” means here
People search “hop ChatGPT to Grok,” “transfer ChatGPT chat to Grok,” or “continue ChatGPT thread in Grok” for two different jobs. Chat Transfer only does the first:
| Job | What moves | Chat Transfer |
|---|---|---|
| Hop current thread | The ChatGPT chat you have open on chatgpt.com: Full, Last N, or last assistant → Grok composer at grok.com | Yes. Copy and export stay on this device too |
| Full-account migration | ChatGPT history folders, memories, custom GPTs, and Projects — or Grok / xAI history and memories | No |
| Keep two sites in sync | An ongoing mirror after the hop, including TransferLLM-style account sync | No. One hop does not watch later messages |
| Send | Who presses Send on Grok | Paste never silent-sends. Soft Auto-Send is opt-in, default off, and asks once |
The reverse walkthrough is Hop Grok to ChatGPT. Claude and Gemini siblings: Hop a ChatGPT chat to Claude, Hop a ChatGPT chat to Gemini. Gemini into Grok: Hop Gemini to Grok. File archive instead of a composer paste: Export ChatGPT chat to another AI.
Where the Grok hop lands
Open target always opens Grok’s canonical new-chat URL (https://grok.com/) and pastes there. It does not append into an existing Grok conversation, and it does not keep ChatGPT and Grok in sync after you send.
The Grok adapter also detects grok.x.ai and x.com / twitter.com paths under /i/grok when you are already on those pages (Copy / Export from Grok still work). A hop from ChatGPT still lands on grok.com, not inside an X Grok drawer. Destination Send is Grok’s control (grokSendButton / Send), never ChatGPT’s.
Grok’s composer is a TipTap / ProseMirror box. Chat Transfer writes the hop with DOM events; it does not call page-world editor APIs. If the box is empty after land, paste the hop backup yourself — Soft Auto-Send does not run on a failed land. Before inject, if Grok’s composer already has a stale draft, paste land best-effort clears once, then pastes the exact hop preview.
Steps: ChatGPT → Grok in Chrome
- Add Chat Transfer from the Chrome Web Store (0.4.0).
- Open the ChatGPT chat you want to continue in Grok (a thread on chatgpt.com or chat.openai.com, not an empty new chat).
- Open the popup or side panel → pick a hop payload (Full, Last N, or last assistant) → choose Open target / hop toward Grok (or the hop-to-last-used shortcut if you bound Grok last).
- Grok’s new-chat page (
https://grok.com/) gets a best-effort paste into the composer. If the box is empty, paste the hop backup yourself. - You click Send on Grok — unless Soft Auto-Send is on (see below).
Extract runs only when you hop, Copy, or Export. Chat Transfer does not scrape ChatGPT in the background. The wrapped hop names ChatGPT as the source (“The following is a transcript from ChatGPT… Absorb it as context and continue from the last turn…”) and, when the tab URL is http(s), adds a Source: line with query, hash, and credentials stripped. Copy and Export stay unwrapped — no hop wrapper and no Source: line. Longer install walkthrough: How to use.
Optional Also open can open one more Site with the same hop preview (from ChatGPT with Grok selected, that extra Site is Claude). Status still says you need to press Send on each destination. There is no third destination.
What the ChatGPT extract actually keeps
ChatGPT’s page mixes turns with chrome, thoughts, and optional GPT / canvas panels. Chat Transfer reads the open thread from public hooks (data-message-author-role and related turn markers), then filters:
- Cheap ChatGPT chrome is not a turn. Copy, Edit, action buttons, and screen-reader “You said / ChatGPT said” labels stay out of the hop.
- Ordered DOM fence. On ChatGPT, a turn body walks children in document order: a heading becomes an ATX Markdown heading, a rendered
<pre>becomes a fenced code block with a language tag when the page shows one, and the prose between them stays between them. Headings and fences are not zipped by index. If that walk is empty or loses most of the visible text, the previous innerText path stays so a plain user bubble does not go hollow. - Empty assistant honesty. If an assistant turn is in the extract list but its trimmed body is empty, hop status says to check the page before hopping — it does not invent reply text.
- Scroll cap honesty. Scroll & extract stops after 12 attempts. If the turn count was still growing, status can remind once on the next successful Open target: “Last extract hit the scroll cap. More turns may remain.”
- Visible attachments become
[attachment not exported: …]— file bytes are not invented, and ChatGPT canvases / custom GPT tools are not rebuilt inside Grok.
Keep system prompt only includes a system turn when that panel is currently in the DOM. Checking the box does not invent custom GPT instructions.
Payload choices for a Grok hop
- Full — the turns read from the open ChatGPT page, wrapped with a short continue line for Grok.
- Last N — the last N turns. N starts at 10. Presets set 4, 8, or 16. Useful when the ChatGPT thread is long and you only need recent context in Grok.
- Last assistant — only the last assistant reply from ChatGPT, when you want Grok to react to that answer alone.
Hop / Copy / Export / Overflow: Hop pastes the wrapped preview. Copy puts the unwrapped transcript on the clipboard. Export downloads Markdown on this device (same unwrapped transcript as Copy). Over about 12k characters, Grok’s composer gets a short Last N (or compact) paste and the full Markdown downloads as a .md so a cut is not silent. Copy and Export stay the full unwrapped transcript — no hop wrapper. See Overflow paste.
Soft Auto-Send stays opt-in (default off)
A hop paste into Grok does not silent-send. Soft Auto-Send is opt-in (hopSoftAutoSend in chrome.storage.local, default off). After a successful paste it asks once: “Send this hop now?” Confirm presses Grok Send once; Cancel leaves the paste; a failed paste never asks. There is no upgrade path that turns the box on for existing installs. Full walkthrough: Soft Auto-Send. Same facts as the privacy policy (2026-10-09).
When the setting is on, Confirm is one best-effort press — not a retry loop. If Send is not pressable on the first look, Chat Transfer polls briefly (about two seconds) before one click; if that still misses, it may dispatch one plain Enter on the composer. That is the whole press budget for that hop. Try attach full.md can put a file in the box; that path still never clicks Send.
Local only — chrome.storage, no backend
Chat Transfer is a local-only Chrome extension. Settings (Demo mode, Keep system prompt, hop payload, last-used target, Soft Auto-Send) stay in on-device chrome.storage.local. There is no Chat Transfer backend; the marketing site does not receive hop text. Host access is only Claude, ChatGPT, Gemini, and Grok domains. Soft Auto-Send adds no host_permissions and no downloads permission.
This is still “this thread,” not a full-account move. ChatGPT history folders, memories, custom GPTs, and Projects stay on ChatGPT. Grok history and memories stay on Grok. A ChatGPT→Grok hop only continues the open chat you asked to transfer.
When not to use a hop
- You need images, files, or ChatGPT canvases re-attached inside Grok — hop notes them; it does not rebuild binaries.
- You want a custom GPT, ChatGPT memory, or Project copied as Grok memory — hop does not migrate those objects.
- You want the paste to land inside an existing Grok thread or the X Grok drawer — Open target opens grok.com new chat.
- You want background scraping while you browse — Chat Transfer only reads when you act.
- You need an ongoing sync between ChatGPT and Grok accounts — that is not what hop does. See Hop vs migration.
FAQ
Can I hop ChatGPT to Grok without migrating my account?
Yes. Chat Transfer hops the open ChatGPT thread into Grok’s composer on this device. It does not move accounts, memories, custom GPTs, or later messages.
Does hopping ChatGPT to Grok silent-send?
No. Paste never silent-sends. Soft Auto-Send is opt-in, default off, and asks once after a successful paste. It may press Grok Send only after you confirm — never ChatGPT Send on the source tab.
Is this different from hopping ChatGPT to Claude or Gemini?
Same extension and local paste model. Destination is Grok at grok.com; Soft Auto-Send and payload choices (Full / Last N / last assistant) are shared. See the Claude guide and the Gemini guide for those land URLs.
Where does the Grok hop land?
Open target opens https://grok.com/ and pastes there. It does not append into an existing Grok conversation, and it does not keep the two threads in sync after you send.
What if ChatGPT’s last reply looks empty in the hop?
Do not assume the hop invented it. Empty-assistant honesty surfaces when an assistant turn is already in the extract list but its trimmed body is empty. Check the ChatGPT page (still-streaming reply, thought-only chrome, or a missed message body) before you send on Grok.
Related
Product · Guides · Hop Gemini to Grok · Hop Claude to Grok · Hop Grok to ChatGPT · Hop a ChatGPT chat to Gemini · Hop a ChatGPT chat to Claude · Export ChatGPT chat to another AI · Hop Gemini to ChatGPT · Hop Claude to ChatGPT · Soft Auto-Send · How to use · Hop vs migration · Overflow paste · Privacy · Add to Chrome