Skip to content
← All articles

How to find an old chat in ChatGPT: built-in search, archive and filters

Where to look for a lost ChatGPT conversation: Ctrl+K search, archive, projects, data export — and what to do when built-in search isn't enough.

October 26, 2026 · 5 min

A couple of months of heavy use and your ChatGPT history becomes a feed of hundreds of titles like "Code help" and "New chat". The answer you need is in there somewhere, but scrolling the sidebar is hopeless. Here's what ChatGPT itself already gives you, where it stops, and how to search faster.

ChatGPT has had chat history search since autumn 2024, and it matches message text, not just titles. As of October 2026 it's available on every plan, including Free, on the web and in the iOS and Android apps (OpenAI Help).

To open it:

  1. On the web, press Ctrl+K (Windows) or Cmd+K (macOS), or click the magnifying glass in the sidebar.
  2. Type a word or a short phrase from the conversation.
  3. If no chats show up, switch the type filter to "All": search also returns projects, files and images.

What to know about it (as of October 2026, per OpenAI Help):

  • it matches exact keywords, so "configured" won't find "configuration";
  • archived chats do show up in results, even though they're hidden from the sidebar;
  • deleted chats are gone from search and can't be recovered;
  • new conversations become searchable within a few minutes;
  • Canvas contents aren't searched.

How to phrase a query that hits

Since matching is exact, search for words you almost certainly typed verbatim:

  • names and terms: a library, function, client, city;
  • code fragments: useEffect, ON CONFLICT, docker compose;
  • numbers and error codes: 429, ERR_REQUIRE_ESM;
  • rare words rather than common verbs with many forms.

Step 2. Check the archive and your projects

If you ever archived the chat, it won't be in the sidebar. Archived chats still come up in search, and the full list lives under Settings → Data controls.

Projects are the other place conversations hide. They've been available on the free plan since September 2025 (Engadget). A chat inside a project doesn't appear in the general "Chats" list, so if you filed conversations into projects, look inside each one.

Step 3. Last resort: export your whole history

When search fails, you can download everything and search the files locally:

  1. Settings → Data controls → Export data → Confirm export.
  2. Wait for the email with the "Download data export" link. As of October 2026, it can take up to 7 days to prepare, and the link expires after 24 hours (OpenAI Help).
  3. The archive contains chat.html (all chats on one page) and conversations.json.

Opening chat.html and pressing Ctrl+F beats nothing. For large histories, query the JSON from a terminal:

# Every message mentioning "migration", prefixed with the chat title
jq -r '.[] | .title as $t | .mapping[]?.message?.content?.parts?[]?
  | select(type == "string" and test("migration"; "i")) | "\($t): \(.[0:120])"' conversations.json

The obvious downside: it's a snapshot of the export day, and each new export takes hours or days.

Where built-in search falls short

Task ChatGPT built-in search What you actually need
Find "configuration" when you wrote "configured" No, exact match only Stemming
Find a chat from last spring No date filter after: and before:
Match only your question, not the AI's answer No role filter role:me
Find chats that contain code No has:code
Jump to the matching message in a long chat You scroll to it yourself Scroll to the hit
Search ChatGPT and Claude at once No Cross-site search

If you dig through history once a month, the built-in search is enough. If you do it several times a day, these gaps cost real time.

Searching with Chatsavo

Chatsavo is a browser extension that adds a panel with folders and full-text search to ChatGPT. Today it works on ChatGPT and Claude; Gemini, Grok and Alice are in testing; DeepSeek, Perplexity and GigaChat come later.

How its search differs from the built-in one:

  • Stemming and typos for English and Russian. "proxy configuration" finds "configured the proxy". A one-letter typo in a word longer than four letters won't stop it.
  • Quoted phrases. "connection pool" matches those words in that order.
  • Filters (Pro): site:, folder:, before:, after:, role:me|ai, has:code.
  • Jump to the message. Clicking a result opens the chat and scrolls to the match, highlighted.

Say you remember the AI sent you an SQL query with ON CONFLICT sometime in spring:

"ON CONFLICT" after:2026-03 before:2026-06 role:ai has:code

Or you know you asked about vacation days but don't remember the wording:

vacation role:me site:chatgpt

Open search with Alt+Shift+F from any ChatGPT page. We don't take over Ctrl+K — it stays with the site's own search.

Full-text search on the current site is part of the free version. Filters and searching across all sites at once are in Pro; see the pricing page.

One caveat

Chatsavo only reads what the ChatGPT page itself loads. It remembers the chat list with titles on every visit, and a chat's text when you open it. So right after installing, full-text search covers the chats you've opened since. An old conversation you haven't opened in a while will still be found by title; to search its text, open it once.

Chat texts stay in your browser and aren't sent anywhere.

In short

  1. Start with Ctrl+K in ChatGPT: search for rare words, code fragments and numbers.
  2. Check the archive and projects.
  3. For a one-off dig, export and search conversations.json.
  4. If you search often, you need stemming, date and role filters, and jump-to-message.

If that last point sounds like you, give Chatsavo a try: 7 days of Pro free, no card. Setup takes a couple of minutes — here's how.

Find any old chat in a second

Chatsavo adds folders and full-text search to ChatGPT and Claude. Free, and chat text stays in your browser.

Install for free

Read next