Bringing Claude.ai Chat History Into Claude Code
No, Claude Code can't see the conversation you had on claude.ai. The two products don't share history, memory, or session state, so a customer's request that you explored on your phone last night doesn't exist as far as Claude Code is concerned when you open a terminal the next morning. You have to re-explain it, paste it in, or start the investigation over.
That's not a setting you missed. It's a gap Anthropic has confirmed by closing feature request after feature request asking for exactly this bridge. The rest of this guide covers why the gap exists, the one built-in workaround and its real limits, and the point where copying context by hand stops being a minor annoyance and starts costing a team actual missed signal.
Why the two products don't share a brain
Claude Code starts every session with an empty context window. What it knows going in comes from two places: whatever you write into a CLAUDE.md file, and auto memory, notes Claude saves about your preferences and corrections in a per-repository folder. Both are documented in Anthropic's memory guide, and neither one reads from claude.ai. CLAUDE.md is something you write; auto memory is scoped to a single repo on a single machine. Nothing in that system pulls in a conversation from a different product.
claude.ai keeps its own conversation history entirely on its own side, tied to your account, viewable in the web and desktop apps. There's no API or setting that lets Claude Code query it, and no setting on claude.ai that pushes a conversation into a Claude Code session. They're built by the same company and share a name, but as far as either product's code is concerned, they're strangers.
The feature people keep asking for
This is a well-worn request, not a niche one. A GitHub issue filed against Claude Code describes the exact workflow: explore a request on claude.ai, then switch to Claude Code to build it, and want the context to travel with you instead of getting retyped. It was closed within days as a duplicate of issue #48990, filed months earlier and blunter about the double standard: Claude Code can already read a connected Slack workspace, so why not its own sibling product's chat history. GitHub's own automation flagged two more possible duplicates on the same thread: issue #13843, proposing a "Send to Claude Code" button, and issue #15542, asking for an opt-in /recall command with semantic search over past conversations. None of them shipped as a feature. The pattern across all of them is the same, that Claude Code can read third-party tools it has no history with, but not the one Anthropic product that might actually have the answer already worked out.
The one built-in workaround, and its real ceiling
There is exactly one first-party way to get a claude.ai conversation out of the product, the export feature under Settings > Privacy > Export data on the web app or desktop, which bundles your conversation and account data and emails you a download link. According to Anthropic's own help article, that link expires after 24 hours, and the exported data can't even be imported back into a different personal Claude account, let alone parsed into a Claude Code session automatically. It's built for taking your data with you if you leave, not for handing a conversation to a coding agent. In practice, the workaround everyone actually uses is simpler and cruder. Ask claude.ai to summarize the thread, copy the summary, and paste it as the first message in Claude Code. It works. It also drops nuance, and it's a step a person has to remember to take every single time.
Marina, the retry bug, and a conversation nobody could find again
Coalfire Analytics builds usage-metering software for API platforms, nine people total, small enough that whoever answers a customer email is often the same person who ends up reading the code. A customer wrote in about metering events silently dropping during a retry storm, and it landed on Marina Lindholm.
Marina didn't have the codebase open, so she opened claude.ai on her phone during her commute and walked through the customer's description with it, asking it to reason through what could cause counts to undercount specifically during retries. Twenty minutes of back-and-forth later, she had a solid theory, a deduplication key that didn't account for retried requests carrying a new timestamp.
At her desk, she opened Claude Code to actually look at the ingestion code and confirm it.
Marina, to Claude Code: we've got customers reporting dropped metering events during retry storms, can you check the dedup logic in the ingestion service
Claude Code: I don't see any existing analysis of this in the repo. Want me to start by reading through the ingestion service to understand the current dedup approach?
Claude Code had no idea the phone conversation had happened. It started from zero, re-reading the same ingestion code Marina had already reasoned about, and took another fifteen minutes to arrive at the same dedup-key theory she'd worked out on her commute. She hadn't lost the reasoning. She'd just left it in a conversation Claude Code had no way to reach.
One engineer can get away with this. A team can't.
For one engineer doing this occasionally, retyping a summary is a mild tax. It stops being mild once more than one person is involved. A teammate who picks up the same customer's follow-up two weeks later has no way to find Marina's claude.ai conversation at all, since it isn't shared, isn't searchable outside her own account, and isn't linked to the customer, the ticket, or the repo anywhere. The exploration either gets redone from scratch again, or it quietly gets skipped and the fix ships with less context than the first person had. Multiply that across a support queue and the actual loss isn't the fifteen minutes Claude Code spends re-deriving a theory. It's the reasoning that never gets written down anywhere a second person can find.
Put the record somewhere both surfaces can reach
The fix isn't waiting for Anthropic to wire claude.ai's chat history into Claude Code, that request has been asked and closed enough times that it's clearly not coming soon. The fix is not relying on chat history as the thing that carries context in the first place. A conversation transcript is hard to search, hard to share, and lives in exactly one product. A record built for exactly this, structured by customer and topic, isn't.
That's the category Modem works in, and we're a disclosed party here since we build it. Modem watches Slack, support tools, and connected repos, clusters what customers actually said into topics with the original quotes attached, and exposes all of it through one MCP server. Setup in Claude Code is one command, claude mcp add --transport http modem https://mcp.modem.dev/mcp, documented here. claude.ai supports the same kind of connection on its own. Anthropic's custom connectors documentation confirms remote MCP servers can be added under Customize > Connectors on every plan, including Free. Point both surfaces at the same server, and neither one is reading the other's transcript. What Modem actually guarantees is narrower than that, and more useful: the customer's original report is filed once, attached to a topic, and readable from claude.ai or Claude Code without anyone retyping it. It doesn't hand Claude Code the dedup-key theory Marina worked out on her commute, that reasoning is still hers unless she writes it down somewhere shared. What it removes is the reason she needed claude.ai for the customer-facing part of the job at all. Modem's Claude Code integration goes a step further and lets a topic get delegated to Claude Code directly, with the customer's original report attached as the task brief, so that exploration can start in Claude Code instead of on a phone during a commute.
This doesn't restore a claude.ai transcript inside Claude Code, and it isn't trying to. It replaces the need for the transcript in the first place, for anything that's about a customer request rather than a private brainstorm. For a solo, one-off exploration that never needs to be found again, the copy-paste workaround above is genuinely fine.
A cheap first step, before reaching for anything bigger
If a claude.ai exploration keeps needing to reach Claude Code, don't wait on the export feature or a future bridge. Write the theory down somewhere both tools already read: a scratch note in the repo, a comment on the ticket, or, once a request recurs across more than one person, a system built to hold it. The context loss compounds quietly, one re-derived theory at a time, until someone notices the same bug got explained twice in two different tools by two different people who never knew about each other. For more on getting Claude Code the customer context it doesn't have by default, see the six best tools for that and what happens when Claude Code is assigned an issue with no context attached.
