ChatGPT Search Revealer — Browser Extension

🔍 ChatGPT Search Revealer

v2.3.0 — July 30, 2026

Makes ChatGPT reveal every hidden web search query it runs before answering your question — exact wording, reformulations, and which sources it chose to use vs. skip.

How it works: When enabled, a reveal prompt is appended to your message asking ChatGPT to disclose its search process. A floating toggle button (🔍 ON/OFF) appears in ChatGPT so you control when it’s active. The bookmarklet version does the same thing with a single click — no install required.

📋 How to Use

  1. Install the extension (or drag the bookmarklet to your bookmarks bar)
  2. Visit chatgpt.com and type your question
  3. ChatGPT will list its search queries before answering
  4. Use the toggle button to turn injection on/off as needed

⬇️ Download Extension

⬇ Download v2.3.0 (ZIP, 6.6 KB)

Unzip → open chrome://extensions → enable Developer mode → Load unpacked → select the folder

🔖 Bookmarklet (No Install)

Prefer not to install anything? Drag this to your bookmarks bar:

🔍 Reveal Search Queries

Usage: Type your question in ChatGPT → click the bookmarklet → press Enter. A badge confirms the prompt was added.

📝 Example Output

🔍 Search queries I used: 1. “cheapest beer prices Price County WI liquor store beer specials” 2. “Price County Wisconsin grocery store beer sale prices” 3. “Price County WI liquor stores beer specials Phillips Park Falls Prentice” 4. “Price County, WI, USA liquor store beer”Reformulations: I refined the search from general “cheapest beer prices” to Price County-specific liquor stores because the first results were mostly unrelated Wisconsin bars/stores outside the county.Sources used vs. skipped: Used: Price County area directories and local business listings Skipped: Generic beer-price articles, Reddit discussions from other counties

🔧 Technical Details

  • Manifest V3 Chrome Extension
  • Permissions: storage only
  • Host permissions: chatgpt.com, chat.openai.com
  • Content script: document_start, MAIN world
  • Injection method: execCommand('insertText')
  • Editor target: ProseMirror contenteditable div
  • Toggle: Floating ON/OFF button
  • No background script — zero persistence
  • No data collection — fully local

🔒 Privacy

This extension does not collect, store, or transmit any data. It modifies your chat input locally in your browser only. The toggle state is in-memory (not persisted). No analytics, no tracking, no external calls. Full privacy policy →

⚠️ Limitations

  • ChatGPT must have web search enabled (free accounts have “implicit” search capability)
  • The injection prompt is visible in your message — ChatGPT sees it as part of your question
  • ChatGPT may occasionally ignore the instruction if no search is needed for your question
  • Toggle defaults to ON — click it to turn off for normal chatting
  • Bookmarklet requires a manual click before each message (extension auto-injects)

📜 Changelog

v2.3.0 CURRENT

July 30, 2026

  • Fixed: Injection now works with ChatGPT’s ProseMirror editor (contenteditable div, not a textarea)
  • Fixed: Uses document.execCommand('insertText') which ProseMirror respects
  • Added: Floating ON/OFF toggle button — control injection per-message
  • Added: Bookmarklet version for no-install usage
  • Improved: Multi-approach injection (keydown, click, submit, fetch fallback)

v2.0.0

July 30, 2026

  • Pivoted from network interception to prompt injection approach
  • Discovered ChatGPT runs searches server-side — the search query never reaches the browser
  • Changed content script to document_start + MAIN world

v1.1.0

July 30, 2026

  • Fixed URL regex to cover all 4 endpoint variants
  • Fixed isolated world issue (moved to MAIN world)
  • Fixed XHR patching and MutationObserver crash at document_start
  • Discovered ChatGPT’s instrumentation library overwrites fetch/XHR via Object.defineProperty

v1.0.0

July 30, 2026

  • Initial release — network interception approach
  • Intercepted window.fetch and XMLHttpRequest to capture SSE stream data
  • Discovered ChatGPT uses server-side search (queries never sent to client)
Scroll to Top