Go to file
golem 17bccc1ade fix: derive the model maxlength and document the frame-focus cases
maxlength was hard-coded to 200 in the markup while MAX_MODEL_CHARS lives
in lib/defaults.js; lowering the constant would have left the input
accepting values mergeSettings() silently discards. It is now set from the
constant at render time.

Also records the hasFocus() gate's four manual frame cases in AGENTS.md,
including the findbar trade-off, and notes that fitToBudget()'s budget
guarantee assumes mergeSettings-validated input.
2026-08-01 23:21:45 -06:00
.gitea/workflows build: add Firefox development foundation 2026-07-29 16:13:35 -06:00
background fix: prefer the focused frame, bound model length, drop dead flag 2026-08-01 23:15:46 -06:00
docs/superpowers doc: record the $-pattern and frame-focus corrections 2026-08-01 23:17:23 -06:00
icons build: removed old favicons 2024-06-10 02:27:22 -06:00
lib fix: derive the model maxlength and document the frame-focus cases 2026-08-01 23:21:45 -06:00
options fix: derive the model maxlength and document the frame-focus cases 2026-08-01 23:21:45 -06:00
test fix: prefer the focused frame, bound model length, drop dead flag 2026-08-01 23:15:46 -06:00
.gitignore build: add Firefox development foundation 2026-07-29 16:13:35 -06:00
AGENTS.md fix: derive the model maxlength and document the frame-focus cases 2026-08-01 23:21:45 -06:00
CHANGELOG.md doc: document options panel, entry points, and the ChatGPT prefill limitation 2026-08-01 22:53:26 -06:00
LICENSE.txt build: updated name to comply with OpenAI branding policy 2024-06-10 01:35:45 -06:00
manifest.json feat: add context menu and keyboard shortcut entry points 2026-08-01 22:21:06 -06:00
package-lock.json build: add Firefox development foundation 2026-07-29 16:13:35 -06:00
package.json feat: add settings defaults and validation with unit tests 2026-08-01 21:59:47 -06:00
README.md doc: correct the README npm test description 2026-08-01 23:00:23 -06:00
web-ext-config.mjs doc: add extension options panel design spec 2026-07-29 20:35:25 -06:00

Search with ChatGPT Powered by OpenAI Firefox Extension

This extension adds ChatGPT as a configurable Firefox search provider. Type gpt <query> in the address bar to open the query in a new ChatGPT session. It uses no API key, custom server, or intermediary handler.

This is an unofficial extension provided by Zavage Software Inc.

See LICENSE.txt for licensing terms.

Options

Open about:addons, select this extension, and choose the Options tab (Preferences on macOS and Linux). Available settings:

  • Model (experimental) — a model slug such as auto. ChatGPT may ignore it and use your account default; leave blank to always use the account default.
  • Request a temporary chat — asks ChatGPT not to save the conversation. ChatGPT may not honour this; check its own indicator before relying on it.
  • Ask ChatGPT to use web search — a hint to ChatGPT's interface, not a guarantee.
  • Open in — a new tab, a new background tab, or a new window.
  • Prompt template — wraps your text, for example Explain simply: {query}.

These settings apply to the new entry points: selecting text and choosing Ask ChatGPT from the right-click menu, or pressing Alt+Shift+G. Rebind the shortcut under Manage Extension Shortcuts in the Add-ons gear menu.

The gpt <query> address-bar search is unchanged and does not read these settings.

The options panel, the right-click item, and the keyboard shortcut require Firefox 112 or newer. On older versions the extension still installs and the gpt <query> address-bar search still works; only these newer features are inactive.

Why you press Enter twice

ChatGPT no longer submits prompts that are passed to it in a URL — it fills them into the composer and waits. So gpt <query> opens ChatGPT with your query filled in, and you press Enter there to send it.

This is a change OpenAI made to chatgpt.com, not a fault in this extension, and it is outside our control. It was a deliberate security measure: automatically running a prompt that arrived in a link let malicious links execute instructions in a signed-in ChatGPT session. The extra keypress is the checkpoint that prevents that. No API key, server, or intermediary is involved either way.

Browser Support

Firefox Desktop is the current development and release target. Chrome, Brave, other Chromium browsers, and additional WebExtension platforms may be evaluated after the Firefox feature set is more substantial; they are not current targets.

Development

Install Node.js 22 or newer, Firefox, and the locked development dependencies:

npm ci

Available commands:

  • npm run dev launches the extension in a temporary Firefox profile and reloads it when files change.
  • npm run lint validates the extension and treats warnings as errors.
  • npm run test:unit runs the node:test unit tests over test/.
  • npm run build creates web-ext-artifacts/search-with-chatgpt-firefox-<version>.zip.
  • npm test runs the same lint, unit test, and build checks used by Gitea Actions.

The generated ZIP is unsigned. Use npm run dev for local testing; signing and submission to Mozilla Add-ons remain a separate release step.

Before submitting a change, confirm that gpt <query> opens https://chatgpt.com?q=<query>, the provider remains non-default, and it can be configured in Firefox search settings.

Privacy Policy

This extension has no server, no API key, and no intermediary. Nothing is reported to Zavage Software.

  • Your settings are stored in your own browser profile. If you use Firefox Sync with Add-ons enabled, they sync end-to-end encrypted through your own Mozilla account.
  • When you choose Ask ChatGPT or press the shortcut, the text you selected is placed in the chatgpt.com URL the extension opens for you. It goes nowhere else.
  • The extension reads a page's selected text only at the moment you invoke it, and never reads page addresses or titles.