Guides · Hop Claude to Gemini ·
Hop Claude to Grok
Chat Transfer hops Claude to Grok in Chrome by pasting a wrapped handoff from the open Claude thread on claude.ai 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 Claude to Grok” means here
People search “hop Claude to Grok,” “transfer Claude chat to Grok,” or “continue Claude thread in Grok” for two different jobs. Chat Transfer only does the first:
| Job | What moves | Chat Transfer |
|---|---|---|
| Hop current thread | The Claude chat you have open on claude.ai: Full, Last N, or last assistant → Grok composer at grok.com | Yes. Copy and export stay on this device too |
| Full-account migration | Claude Projects, artifacts, memories, and the rest of the account — 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 |
Claude into ChatGPT instead of Grok: Hop Claude to ChatGPT. ChatGPT into Grok: Hop ChatGPT to Grok. Gemini into Grok: Hop Gemini to Grok. The reverse walkthrough is Hop Grok to Claude. Same extension, same local paste; this page starts on Claude and lands in Grok.
Where the hop reads Claude, and where Grok lands
Open the Claude thread you want to continue — a chat on https://claude.ai/, not an empty /new composer. The Claude adapter matches claude.ai and *.claude.ai. Extract reads visible turns from public hooks such as [data-testid="user-message"], .font-claude-response, and .font-claude-message. It does not treat the global [data-is-streaming] wrapper as a message body (that flag can sit on a page shell while a reply streams).
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 Claude and Grok in sync after you send. Host access also includes grok.x.ai and x.com / twitter.com paths under /i/grok so Copy / Export / hop from a tab already on those Grok surfaces can still read the open thread. A hop toward Grok still lands on grok.com, not inside an X Grok drawer. Destination Send is Grok’s control (grokSendButton / Send), never Claude’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: Claude → Grok in Chrome
- Add Chat Transfer from the Chrome Web Store (0.4.0).
- Open the Claude chat you want to continue in Grok (a thread on claude.ai, 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 — Soft Auto-Send does not run on a failed land. - 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 Claude in the background. The wrapped hop names Claude as the source (“The following is a transcript from Claude… 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 Claude with Grok selected, that extra Site is ChatGPT). Status still says you need to press Send on each destination. There is no third destination.
What the Claude extract actually keeps
Claude’s page mixes turns with chrome, thought panels, and optional artifact drawers. Chat Transfer reads the open thread, then filters:
- Cheap Claude chrome is not a turn. Copy, Retry, Share, and thought / thinking headers stay out of the hop when they are not message bodies.
- 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 Claude artifacts 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 Claude Project instructions or custom styles.
Payload choices for a Grok hop
- Full — the turns read from the open Claude 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 Claude thread is long and you only need recent context in Grok.
- Last assistant — only the last assistant reply from Claude, 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 — including claude.ai, grok.com, grok.x.ai, and x.com/i/grok. Soft Auto-Send adds no host_permissions and no downloads permission.
This is still “this thread,” not a full-account move. Claude Projects, artifacts, and memories stay on Claude. Grok history and memories stay on Grok. A Claude→Grok hop only continues the open chat you asked to transfer.
When not to use a hop
- You need images, files, or Claude artifacts re-attached inside Grok — hop notes them; it does not rebuild binaries.
- You want Claude Projects, styles, or memories 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 Claude and Grok accounts — that is not what hop does. See Hop vs migration.
FAQ
Can I hop Claude to Grok without migrating my account?
Yes. Chat Transfer hops the open Claude thread into Grok’s composer on this device. It does not move accounts, Projects, memories, artifacts, or later messages.
Does hopping Claude 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 Claude Send on the source tab.
Is this different from hopping Claude to ChatGPT?
Same extension and local paste model. Source is Claude; destination is Grok at grok.com. Soft Auto-Send and payload choices (Full / Last N / last assistant) are shared. See the Claude → ChatGPT guide for that land URL.
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 Claude’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 Claude page (still-streaming reply, thought-only chrome, or a missed message body) before you send on Grok.
Related
Product · Guides · Hop Grok to Claude · Hop Gemini to Grok · Hop Claude to ChatGPT · Hop ChatGPT to Grok · Hop Grok to ChatGPT · Hop Gemini to ChatGPT · Export ChatGPT chat to another AI · Hop a ChatGPT chat to Claude · Hop a ChatGPT chat to Gemini · Soft Auto-Send · How to use · Hop vs migration · Overflow paste · Privacy · Add to Chrome