PrefillPrompt turns a prompt into a shareable link for ChatGPT, Claude, Gemini, or Perplexity. Choose an AI and model in one searchable field, write the prompt, then tap the arrow to copy the link.
Important
The prompt is part of the URL. Anyone who receives the link—and systems that record URLs—can read it. Do not put secrets or sensitive personal information in a shared prompt.
- ChatGPT, Claude, Gemini, and Perplexity destinations
- One provider-and-model combobox, searchable by names such as ChatGPT, OpenAI, Claude, Anthropic, Gemini, or an exact model
- Flexible aliases
latest,latest-fast, andlatest-reasoning - A checked-in model catalog refreshed from OpenRouter through tested weekly pull requests
- ChatGPT web-search links
- Experimental temporary or incognito conversation links where the destination supports them
- Copyable URLs and Markdown buttons
- QR-code export and native Web Share where the browser supports it
- Progressively disclosed share formats, conversation options, examples, and browser-local history
- A reliable copy-and-open Gemini handoff when a public deep link cannot preserve the prompt
- A stateless Nuxt application deployed with Cloudflare Workers and Static Assets
History and preferences stay in the current browser. PrefillPrompt does not sync them between devices.
PrefillPrompt has no account system, application database, analytics SDK, or advertising tracker. Preferences and up to six recent prompts are optional browser-local history. The app continues to work when browser storage is denied or full.
Prompt links are not private: the prompt is encoded in the URL and can appear in browser history, clipboards, QR scanners, link previews, network infrastructure, and destination-provider logs. Do not put secrets or sensitive information in a PrefillPrompt URL. See Privacy and logging for the exact storage, request, and logging behavior.
| Destination | Prompt | Link |
|---|---|---|
| ChatGPT with web search | Research the current state of Web Platform Baseline and cite primary sources. | Open prompt |
| Claude | Turn these rough release notes into a concise customer announcement. | Open prompt |
| Gemini | Compare three ways to add offline support to a Nuxt app, including tradeoffs. | Open prompt |
| Perplexity | Find primary sources explaining Cloudflare Workers Static Assets routing. | Open prompt |
GET https://prefillprompt.com/api/prompt redirects the browser to the selected service with the prompt and supported options.
| Query key | Required | Meaning |
|---|---|---|
q |
Yes | The URL-encoded prompt text. Newlines and Unicode are supported. |
s |
No | Service ID or recognized service alias. Supported IDs are chatgpt, claude, gemini, and perplexity. A provider-specific model may imply its service; otherwise the default is ChatGPT. |
m |
No | Legacy name for the service. It is used only when s is absent. New links should use s. |
model |
No | A provider model ID or the alias latest, latest-fast, or latest-reasoning. |
web |
No | Set to true or 1 to request ChatGPT web search. |
temporary |
No | Set to true or 1 to request ChatGPT Temporary Chat or Claude Incognito. Experimental. |
For example:
https://prefillprompt.com/api/prompt?s=chatgpt&model=latest-reasoning&web=true&q=Compare%20the%20latest%20browser%20automation%20standards
https://prefillprompt.com/api/prompt?s=chatgpt&temporary=true&q=Help%20me%20brainstorm%20three%20names%20for%20a%20weekend%20prototype
PrefillPrompt launches third-party web applications; those applications do not provide a single stable, documented URL API for every model and mode.
- Model and mode controls are best-effort. A service may ignore an option, fall back to its default, rename a model, or require a particular account, plan, region, or feature rollout.
- The
latest*aliases intentionally move to the latest known-good mapping. Use an explicit model ID when reproducibility matters. webcurrently targets ChatGPT web search. Other services choose their own search behavior.temporarycurrently maps to ChatGPT Temporary Chat and Claude Incognito. Gemini and Perplexity have no verified URL switch for this mode.- Gemini does not publish a dependable third-party prompt-link contract. Gemini links use a one-tap copy-and-open handoff so the prompt is not silently dropped.
- Gemini and Perplexity do not publish stable URL controls for selecting consumer models or modes, so those destinations may use their account defaults.
- Temporary or incognito mode is not a privacy guarantee. Confirm the destination UI shows the requested mode before sending sensitive content.
- The OpenRouter catalog is useful for discovering model names, but it is not authoritative for consumer web-app URL controls. PrefillPrompt does not treat OpenRouter availability as proof that a model can be selected by URL.
git clone https://github.com/ThatGuySam/prefillprompt.git
cd prefillprompt
pnpm install
pnpm devThe development server is available at http://localhost:3000.
The repository requires Node 22.13 or newer within the Node 22 release line, or Node 24 and newer, for development and Cloudflare commands. .node-version pins Node 22.16.0, and Corepack reads the pinned pnpm version from package.json.
| Command | Purpose |
|---|---|
pnpm dev |
Start the Nuxt development server. |
pnpm build |
Create the standard production build. |
pnpm build:cloudflare |
Build Nuxt for Cloudflare Workers and Static Assets. |
pnpm preview |
Preview the Cloudflare-targeted build locally. |
pnpm lint |
Run ESLint. |
pnpm models:update |
Validate OpenRouter's public endpoint and update the checked-in model catalog when its model set changes. |
pnpm typecheck |
Run Nuxt and Vue TypeScript checks. |
pnpm test |
Run the automated test suite once. |
pnpm check |
Run lint, typecheck, tests, and the Cloudflare build. |
pnpm deploy:preview |
Upload a Cloudflare Worker version and print its preview URL without promoting it to production. |
pnpm deploy:blue |
Build and upload the named blue Cloudflare preview. |
Before sharing a Cloudflare preview:
pnpm check
pnpm deploy:previewReview the emitted preview URL, including the homepage and each redirect path, before any production rollout.
- Nuxt renders the responsive prompt builder and browser-local state.
- A shared provider registry resolves services, models, aliases, and supported modes.
- The browser bundle reads a generated model catalog; the application does not depend on OpenRouter at runtime.
- The Nitro
/api/promptroute validates a link and returns an uncached redirect without storing the prompt. - Gemini requests redirect to a first-party clipboard handoff because the consumer app has no documented public prompt-link contract.
- Cloudflare serves prerendered frontend assets first and invokes the Worker for API routes.
- Fork and clone the repository.
- Create a focused branch.
- Make the change and add or update tests.
- Run
pnpm check. - Open a pull request describing the behavior change and verification.
PrefillPrompt is open-source software available under the MIT License.
