<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: takoyaki</title>
    <description>The latest articles on Forem by takoyaki (@takoyaki1).</description>
    <link>https://forem.com/takoyaki1</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3801160%2F684c5bdd-6ceb-4598-87cf-b30a982e33fa.png</url>
      <title>Forem: takoyaki</title>
      <link>https://forem.com/takoyaki1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/takoyaki1"/>
    <language>en</language>
    <item>
      <title>Control Claude with Just a URL. The Chrome Extension "Send to Claude" Is Incredibly Useful</title>
      <dc:creator>takoyaki</dc:creator>
      <pubDate>Wed, 22 Apr 2026 14:25:43 +0000</pubDate>
      <link>https://forem.com/takoyaki1/control-claude-with-just-a-url-the-chrome-extension-send-to-claude-is-incredibly-useful-ac8</link>
      <guid>https://forem.com/takoyaki1/control-claude-with-just-a-url-the-chrome-extension-send-to-claude-is-incredibly-useful-ac8</guid>
      <description>&lt;p&gt;If you use Claude on a daily basis, have you ever experienced any of these?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Manually copy-pasting the same prompts over and over&lt;/li&gt;
&lt;li&gt;Wanting to send data from your web app to Claude, but API usage is costly&lt;/li&gt;
&lt;li&gt;Finding it tedious to share "try asking with this prompt" with team members&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Send to Claude&lt;/strong&gt; solves all of these with a single Chrome extension.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://chromewebstore.google.com/detail/send-to-claude/gcbomhdkipopmgjemnonhhmmfggffnno?authuser=0&amp;amp;hl=ja" rel="noopener noreferrer"&gt;https://chromewebstore.google.com/detail/send-to-claude/gcbomhdkipopmgjemnonhhmmfggffnno?authuser=0&amp;amp;hl=ja&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What Can It Do?
&lt;/h2&gt;

&lt;p&gt;In a nutshell, it's a Chrome extension that lets you &lt;strong&gt;programmatically control Claude prompts through URL parameters and a JavaScript API&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;What does this mean? It transforms Claude prompt input from &lt;strong&gt;"something you type by hand" to "something you can automate"&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And because it &lt;strong&gt;operates Claude Chat directly in the browser without using the Claude API&lt;/strong&gt;, there are zero API usage fees. Whether you're on a free Claude account or Claude Pro, your everyday Claude Chat becomes the target of automation.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Best Feature: Pass Prompts via URL Parameters
&lt;/h2&gt;

&lt;p&gt;The usage couldn't be simpler. Just add &lt;code&gt;?prompt=&lt;/code&gt; to the Claude URL.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://claude.ai/new?prompt=Tell me about today's weather
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Simply open this URL in your browser, and the prompt is &lt;strong&gt;auto-filled and auto-submitted&lt;/strong&gt;. That's all there is to it.&lt;/p&gt;

&lt;h3&gt;
  
  
  What This Makes Possible
&lt;/h3&gt;

&lt;h4&gt;
  
  
  1. Bookmarks Become Prompts
&lt;/h4&gt;

&lt;p&gt;Save your frequently used questions or prompts as bookmarks, and you can &lt;strong&gt;ask Claude with a single click&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;📌 Daily News Summary
https://claude.ai/new?prompt=Summarize today's top news in 3 bullet points

📌 English Email Proofreading
https://claude.ai/new?prompt=Please proofread the following English email:&amp;amp;autosubmit=false
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Adding &lt;code&gt;autosubmit=false&lt;/code&gt; will only fill in the prompt without submitting, so you can add more text before sending.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Share Prompts with Your Team
&lt;/h4&gt;

&lt;p&gt;Just paste a URL in Slack or Notion, and everyone on the team can ask Claude using the same prompt.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Try asking about the root cause of this outage with this prompt:"&lt;br&gt;
&lt;code&gt;https://claude.ai/new?prompt=Analyze the following error logs and provide the root cause and recommended actions:&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No more being asked "What prompt should I use?"&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Embed in Links from External Tools
&lt;/h4&gt;

&lt;p&gt;You can add an "Analyze with Claude" button to dashboards and internal tools. Just dynamically generate URLs, and any tool can integrate with Claude.&lt;/p&gt;




&lt;h2&gt;
  
  
  Another Powerful Feature: JavaScript API for External Integration
&lt;/h2&gt;

&lt;p&gt;URL parameters alone are powerful enough, but Send to Claude goes further by providing a &lt;strong&gt;JavaScript API&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This lets you &lt;strong&gt;send prompts to Claude directly from your own web pages and web apps&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;extensionId&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;your-extension-id&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nx"&gt;chrome&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;runtime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sendMessage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="nx"&gt;extensionId&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;autofill&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Please analyze this data:&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;yourData&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;autoSubmit&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;success&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Successfully sent to Claude!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Differences from URL Parameters
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;URL Parameters&lt;/th&gt;
&lt;th&gt;JavaScript API&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ease of Use&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;◎ Just paste a URL&lt;/td&gt;
&lt;td&gt;○ Requires code&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Text Volume&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;△ URL length limits&lt;/td&gt;
&lt;td&gt;◎ Thousands of lines OK&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Dynamic Data&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;△ Encoding required&lt;/td&gt;
&lt;td&gt;◎ Pass variables directly&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Use Cases&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Bookmarks, link sharing&lt;/td&gt;
&lt;td&gt;Web app integration, data analysis&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;With the JavaScript API, you can &lt;strong&gt;send thousands of lines of logs or code directly to Claude&lt;/strong&gt; without worrying about URL length limits.&lt;/p&gt;

&lt;p&gt;And let me emphasize again: &lt;strong&gt;all of this is available completely free of charge&lt;/strong&gt;. Normally, calling Claude from an application requires a Claude API contract with pay-per-token billing. But Send to Claude is simply a browser extension that operates Claude Chat. No API key needed, no charges at all. Whether for personal projects or team experimentation, you can try Claude integration without worrying about costs.&lt;/p&gt;

&lt;h3&gt;
  
  
  async/await Support
&lt;/h3&gt;

&lt;p&gt;For modern JavaScript, you can easily write a Promise-based version.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;sendToClaude&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;autoSubmit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;chrome&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;runtime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sendMessage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="nx"&gt;extensionId&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;autofill&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;autoSubmit&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;chrome&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;runtime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;lastError&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="nf"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;chrome&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;runtime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;lastError&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;message&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;success&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="nf"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="nf"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Failed to send&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// Usage&lt;/span&gt;
&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;sendToClaude&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Please review the following code:&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;codeBlock&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;autoSubmit&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Even More Handy Features
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Instant Send via Right-Click Menu
&lt;/h3&gt;

&lt;p&gt;Select text on a web page, right-click → "Send to Claude." That's it — a new Claude tab opens with the selected text filled in as the prompt.&lt;/p&gt;

&lt;p&gt;Send interesting articles or error messages to Claude without any copy-and-paste.&lt;/p&gt;

&lt;h3&gt;
  
  
  Custom Prompts
&lt;/h3&gt;

&lt;p&gt;Register frequently used prompt templates like "Translate to English," "Summarize," or "Explain this code" in the right-click menu.&lt;/p&gt;

&lt;p&gt;Selected text + custom prompt are automatically combined, so just select text and right-click to complete &lt;strong&gt;translation or summarization in a single action&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You can also configure auto-submit on/off for each custom prompt individually — a nice touch.&lt;/p&gt;

&lt;h3&gt;
  
  
  8 Languages Supported
&lt;/h3&gt;

&lt;p&gt;Supports Japanese, English, German, Spanish, French, Korean, Portuguese, and Chinese. The UI automatically switches based on your browser's language settings.&lt;/p&gt;




&lt;h2&gt;
  
  
  Usage Ideas
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Scenario&lt;/th&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Daily news summary&lt;/td&gt;
&lt;td&gt;Bookmark a URL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Code review requests&lt;/td&gt;
&lt;td&gt;Auto-send via JavaScript API&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Article translation&lt;/td&gt;
&lt;td&gt;Select text → Right-click → Custom prompt&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Error log analysis&lt;/td&gt;
&lt;td&gt;Send large text via JavaScript API&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sharing prompts with team&lt;/td&gt;
&lt;td&gt;Paste URL in Slack/Notion&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Internal tool integration&lt;/td&gt;
&lt;td&gt;Add "Analyze with Claude" button via API&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The essence of &lt;strong&gt;Send to Claude&lt;/strong&gt; is making Claude programmable.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;URL parameters&lt;/strong&gt; for easy automation through bookmarks and link sharing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JavaScript API&lt;/strong&gt; for full-fledged external integration from web apps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No Claude API contract, no API keys, no server-side implementation needed. Achieving all of this in the browser alone at &lt;strong&gt;zero cost&lt;/strong&gt; is groundbreaking.&lt;/p&gt;

&lt;p&gt;If you want to weave Claude more deeply into your daily workflow, give it a try.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://chromewebstore.google.com/detail/send-to-claude/gcbomhdkipopmgjemnonhhmmfggffnno?authuser=0&amp;amp;hl=ja" rel="noopener noreferrer"&gt;Send to Claude - Chrome Web Store&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>claude</category>
      <category>chrome</category>
      <category>chromeextension</category>
      <category>ai</category>
    </item>
    <item>
      <title>Control ChatGPT with Just a URL. The Chrome Extension "Send to ChatGPT" Is Incredibly Useful</title>
      <dc:creator>takoyaki</dc:creator>
      <pubDate>Wed, 22 Apr 2026 14:19:16 +0000</pubDate>
      <link>https://forem.com/takoyaki1/control-chatgpt-with-just-a-url-the-chrome-extension-send-to-chatgpt-is-incredibly-useful-g1d</link>
      <guid>https://forem.com/takoyaki1/control-chatgpt-with-just-a-url-the-chrome-extension-send-to-chatgpt-is-incredibly-useful-g1d</guid>
      <description>&lt;p&gt;If you use ChatGPT on a daily basis, have you ever experienced any of these?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Manually copy-pasting the same prompts over and over&lt;/li&gt;
&lt;li&gt;Wanting to send data from your web app to ChatGPT, but API usage is costly&lt;/li&gt;
&lt;li&gt;Finding it tedious to share "try asking with this prompt" with team members&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Send to ChatGPT&lt;/strong&gt; solves all of these with a single Chrome extension.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://chromewebstore.google.com/detail/send-to-chatgpt/imfgbkigkgceiiomjccjkeiidkndbapb?authuser=0&amp;amp;hl=ja" rel="noopener noreferrer"&gt;https://chromewebstore.google.com/detail/send-to-chatgpt/imfgbkigkgceiiomjccjkeiidkndbapb?authuser=0&amp;amp;hl=ja&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What Can It Do?
&lt;/h2&gt;

&lt;p&gt;In a nutshell, it's a Chrome extension that lets you &lt;strong&gt;programmatically control ChatGPT prompts through URL parameters and a JavaScript API&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;What does this mean? It transforms ChatGPT prompt input from &lt;strong&gt;"something you type by hand" to "something you can automate"&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And because it &lt;strong&gt;operates ChatGPT directly in the browser without using the ChatGPT API&lt;/strong&gt;, there are zero API usage fees. Whether you're on a free ChatGPT account or ChatGPT Plus, your everyday ChatGPT becomes the target of automation.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Best Feature: Pass Prompts via URL Parameters
&lt;/h2&gt;

&lt;p&gt;The usage couldn't be simpler. Just add &lt;code&gt;?prompt=&lt;/code&gt; to the ChatGPT URL.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://chatgpt.com/?prompt=Tell me about today's weather
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Simply open this URL in your browser, and the prompt is &lt;strong&gt;auto-filled and auto-submitted&lt;/strong&gt;. That's all there is to it.&lt;/p&gt;

&lt;h3&gt;
  
  
  What This Makes Possible
&lt;/h3&gt;

&lt;h4&gt;
  
  
  1. Bookmarks Become Prompts
&lt;/h4&gt;

&lt;p&gt;Save your frequently used questions or prompts as bookmarks, and you can &lt;strong&gt;ask ChatGPT with a single click&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;📌 Daily News Summary
https://chatgpt.com/?prompt=Summarize today's top news in 3 bullet points

📌 English Email Proofreading
https://chatgpt.com/?prompt=Please proofread the following English email:&amp;amp;autosubmit=false
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Adding &lt;code&gt;autosubmit=false&lt;/code&gt; will only fill in the prompt without submitting, so you can add more text before sending.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Share Prompts with Your Team
&lt;/h4&gt;

&lt;p&gt;Just paste a URL in Slack or Notion, and everyone on the team can ask ChatGPT using the same prompt.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Try asking about the root cause of this outage with this prompt:"&lt;br&gt;
&lt;code&gt;https://chatgpt.com/?prompt=Analyze the following error logs and provide the root cause and recommended actions:&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No more being asked "What prompt should I use?"&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Embed in Links from External Tools
&lt;/h4&gt;

&lt;p&gt;You can add an "Analyze with ChatGPT" button to dashboards and internal tools. Just dynamically generate URLs, and any tool can integrate with ChatGPT.&lt;/p&gt;




&lt;h2&gt;
  
  
  Another Powerful Feature: JavaScript API for External Integration
&lt;/h2&gt;

&lt;p&gt;URL parameters alone are powerful enough, but Send to ChatGPT goes further by providing a &lt;strong&gt;JavaScript API&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This lets you &lt;strong&gt;send prompts to ChatGPT directly from your own web pages and web apps&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;extensionId&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;your-extension-id&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nx"&gt;chrome&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;runtime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sendMessage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="nx"&gt;extensionId&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;autofill&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Please analyze this data:&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;yourData&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;autoSubmit&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;success&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Successfully sent to ChatGPT!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Differences from URL Parameters
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;URL Parameters&lt;/th&gt;
&lt;th&gt;JavaScript API&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ease of Use&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;◎ Just paste a URL&lt;/td&gt;
&lt;td&gt;○ Requires code&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Text Volume&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;△ URL length limits&lt;/td&gt;
&lt;td&gt;◎ Thousands of lines OK&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Dynamic Data&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;△ Encoding required&lt;/td&gt;
&lt;td&gt;◎ Pass variables directly&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Use Cases&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Bookmarks, link sharing&lt;/td&gt;
&lt;td&gt;Web app integration, data analysis&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;With the JavaScript API, you can &lt;strong&gt;send thousands of lines of logs or code directly to ChatGPT&lt;/strong&gt; without worrying about URL length limits.&lt;/p&gt;

&lt;p&gt;And let me emphasize again: &lt;strong&gt;all of this is available completely free of charge&lt;/strong&gt;. Normally, calling ChatGPT from an application requires an OpenAI API contract with pay-per-token billing. But Send to ChatGPT is simply a browser extension that operates ChatGPT in the browser. No API key needed, no charges at all. Whether for personal projects or team experimentation, you can try ChatGPT integration without worrying about costs.&lt;/p&gt;

&lt;h3&gt;
  
  
  async/await Support
&lt;/h3&gt;

&lt;p&gt;For modern JavaScript, you can easily write a Promise-based version.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;sendToChatGPT&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;autoSubmit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;chrome&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;runtime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sendMessage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="nx"&gt;extensionId&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;autofill&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;autoSubmit&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;chrome&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;runtime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;lastError&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="nf"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;chrome&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;runtime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;lastError&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;message&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;success&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="nf"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="nf"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Failed to send&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// Usage&lt;/span&gt;
&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;sendToChatGPT&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Please review the following code:&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;codeBlock&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;autoSubmit&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Even More Handy Features
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Instant Send via Right-Click Menu
&lt;/h3&gt;

&lt;p&gt;Select text on a web page, right-click → "Send to ChatGPT." That's it — a new ChatGPT tab opens with the selected text filled in as the prompt.&lt;/p&gt;

&lt;p&gt;Send interesting articles or error messages to ChatGPT without any copy-and-paste.&lt;/p&gt;

&lt;h3&gt;
  
  
  Custom Prompts
&lt;/h3&gt;

&lt;p&gt;Register frequently used prompt templates like "Translate to English," "Summarize," or "Explain this code" in the right-click menu.&lt;/p&gt;

&lt;p&gt;Selected text + custom prompt are automatically combined, so just select text and right-click to complete &lt;strong&gt;translation or summarization in a single action&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You can also configure auto-submit on/off for each custom prompt individually — a nice touch.&lt;/p&gt;




&lt;h2&gt;
  
  
  Usage Ideas
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Scenario&lt;/th&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Daily news summary&lt;/td&gt;
&lt;td&gt;Bookmark a URL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Code review requests&lt;/td&gt;
&lt;td&gt;Auto-send via JavaScript API&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Article translation&lt;/td&gt;
&lt;td&gt;Select text → Right-click → Custom prompt&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Error log analysis&lt;/td&gt;
&lt;td&gt;Send large text via JavaScript API&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sharing prompts with team&lt;/td&gt;
&lt;td&gt;Paste URL in Slack/Notion&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Internal tool integration&lt;/td&gt;
&lt;td&gt;Add "Analyze with ChatGPT" button via API&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The essence of &lt;strong&gt;Send to ChatGPT&lt;/strong&gt; is making ChatGPT programmable.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;URL parameters&lt;/strong&gt; for easy automation through bookmarks and link sharing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JavaScript API&lt;/strong&gt; for full-fledged external integration from web apps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No OpenAI API contract, no API keys, no server-side implementation needed. Achieving all of this in the browser alone at &lt;strong&gt;zero cost&lt;/strong&gt; is groundbreaking.&lt;/p&gt;

&lt;p&gt;If you want to weave ChatGPT more deeply into your daily workflow, give it a try.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://chromewebstore.google.com/detail/send-to-chatgpt/imfgbkigkgceiiomjccjkeiidkndbapb?authuser=0&amp;amp;hl=ja" rel="noopener noreferrer"&gt;Send to ChatGPT - Chrome Web Store&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>chrome</category>
      <category>chromeextension</category>
      <category>ai</category>
    </item>
    <item>
      <title>Control Gemini with Just a URL. The Chrome Extension "Send to Gemini" Is Incredibly Useful</title>
      <dc:creator>takoyaki</dc:creator>
      <pubDate>Mon, 02 Mar 2026 10:17:11 +0000</pubDate>
      <link>https://forem.com/takoyaki1/control-gemini-with-just-a-url-the-chrome-extension-send-to-gemini-is-incredibly-useful-b8d</link>
      <guid>https://forem.com/takoyaki1/control-gemini-with-just-a-url-the-chrome-extension-send-to-gemini-is-incredibly-useful-b8d</guid>
      <description>&lt;p&gt;If you use Google Gemini on a daily basis, have you ever experienced any of these?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Manually copy-pasting the same prompts over and over&lt;/li&gt;
&lt;li&gt;Wanting to send data from your web app to Gemini, but API usage is costly&lt;/li&gt;
&lt;li&gt;Finding it tedious to share "try asking with this prompt" with team members&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Send to Gemini&lt;/strong&gt; solves all of these with a single Chrome extension.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://chromewebstore.google.com/detail/send-to-gemini/gklmoobnblcdiglifjmdilofgndghmml" rel="noopener noreferrer"&gt;Send to Gemini - Chrome Web Store&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What Can It Do?
&lt;/h2&gt;

&lt;p&gt;In a nutshell, it's a Chrome extension that lets you &lt;strong&gt;programmatically control Gemini prompts through URL parameters and a JavaScript API&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;What does this mean? It transforms Gemini prompt input from &lt;strong&gt;"something you type by hand" to "something you can automate"&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And because it &lt;strong&gt;operates Gemini Chat directly in the browser without using the Gemini API&lt;/strong&gt;, there are zero API usage fees. Whether you're on a free Gemini account or Gemini Advanced, your everyday Gemini Chat becomes the target of automation.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Best Feature: Pass Prompts via URL Parameters
&lt;/h2&gt;

&lt;p&gt;The usage couldn't be simpler. Just add &lt;code&gt;?prompt=&lt;/code&gt; to the Gemini URL.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://gemini.google.com/app?prompt=Tell me about today's weather
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Simply open this URL in your browser, and the prompt is &lt;strong&gt;auto-filled and auto-submitted&lt;/strong&gt;. That's all there is to it.&lt;/p&gt;

&lt;h3&gt;
  
  
  What This Makes Possible
&lt;/h3&gt;

&lt;h4&gt;
  
  
  1. Bookmarks Become Prompts
&lt;/h4&gt;

&lt;p&gt;Save your frequently used questions or prompts as bookmarks, and you can &lt;strong&gt;ask Gemini with a single click&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;📌 Daily News Summary
https://gemini.google.com/app?prompt=Summarize today's top news in 3 bullet points

📌 English Email Proofreading
https://gemini.google.com/app?prompt=Please proofread the following English email:&amp;amp;autosubmit=false
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Adding &lt;code&gt;autosubmit=false&lt;/code&gt; will only fill in the prompt without submitting, so you can add more text before sending.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Share Prompts with Your Team
&lt;/h4&gt;

&lt;p&gt;Just paste a URL in Slack or Notion, and everyone on the team can ask Gemini using the same prompt.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Try asking about the root cause of this outage with this prompt:"&lt;br&gt;
&lt;code&gt;https://gemini.google.com/app?prompt=Analyze the following error logs and provide the root cause and recommended actions:&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No more being asked "What prompt should I use?"&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Embed in Links from External Tools
&lt;/h4&gt;

&lt;p&gt;You can add an "Analyze with Gemini" button to dashboards and internal tools. Just dynamically generate URLs, and any tool can integrate with Gemini.&lt;/p&gt;




&lt;h2&gt;
  
  
  Another Powerful Feature: JavaScript API for External Integration
&lt;/h2&gt;

&lt;p&gt;URL parameters alone are powerful enough, but Send to Gemini goes further by providing a &lt;strong&gt;JavaScript API&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This lets you &lt;strong&gt;send prompts to Gemini directly from your own web pages and web apps&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;extensionId&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;your-extension-id&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nx"&gt;chrome&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;runtime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sendMessage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="nx"&gt;extensionId&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;autofill&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Please analyze this data:&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;yourData&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;autoSubmit&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;success&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Successfully sent to Gemini!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Differences from URL Parameters
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;URL Parameters&lt;/th&gt;
&lt;th&gt;JavaScript API&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ease of Use&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;◎ Just paste a URL&lt;/td&gt;
&lt;td&gt;○ Requires code&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Text Volume&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;△ URL length limits&lt;/td&gt;
&lt;td&gt;◎ Thousands of lines OK&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Dynamic Data&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;△ Encoding required&lt;/td&gt;
&lt;td&gt;◎ Pass variables directly&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Use Cases&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Bookmarks, link sharing&lt;/td&gt;
&lt;td&gt;Web app integration, data analysis&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;With the JavaScript API, you can &lt;strong&gt;send thousands of lines of logs or code directly to Gemini&lt;/strong&gt; without worrying about URL length limits.&lt;/p&gt;

&lt;p&gt;And let me emphasize again: &lt;strong&gt;all of this is available completely free of charge&lt;/strong&gt;. Normally, calling Gemini from an application requires a Gemini API contract with pay-per-token billing. But Send to Gemini is simply a browser extension that operates Gemini Chat. No API key needed, no charges at all. Whether for personal projects or team experimentation, you can try Gemini integration without worrying about costs.&lt;/p&gt;

&lt;h3&gt;
  
  
  async/await Support
&lt;/h3&gt;

&lt;p&gt;For modern JavaScript, you can easily write a Promise-based version.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;sendToGemini&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;autoSubmit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;chrome&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;runtime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sendMessage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="nx"&gt;extensionId&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;autofill&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;autoSubmit&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;chrome&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;runtime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;lastError&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="nf"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;chrome&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;runtime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;lastError&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;message&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;success&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="nf"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="nf"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Failed to send&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// Usage&lt;/span&gt;
&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;sendToGemini&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Please review the following code:&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;codeBlock&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;autoSubmit&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Even More Handy Features
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Instant Send via Right-Click Menu
&lt;/h3&gt;

&lt;p&gt;Select text on a web page, right-click → "Send to Gemini." That's it — a new Gemini tab opens with the selected text filled in as the prompt.&lt;/p&gt;

&lt;p&gt;Send interesting articles or error messages to Gemini without any copy-and-paste.&lt;/p&gt;

&lt;h3&gt;
  
  
  Custom Prompts
&lt;/h3&gt;

&lt;p&gt;Register frequently used prompt templates like "Translate to English," "Summarize," or "Explain this code" in the right-click menu.&lt;/p&gt;

&lt;p&gt;Selected text + custom prompt are automatically combined, so just select text and right-click to complete &lt;strong&gt;translation or summarization in a single action&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You can also configure auto-submit on/off for each custom prompt individually — a nice touch.&lt;/p&gt;

&lt;h3&gt;
  
  
  8 Languages Supported
&lt;/h3&gt;

&lt;p&gt;Supports Japanese, English, German, Spanish, French, Korean, Portuguese, and Chinese. The UI automatically switches based on your browser's language settings.&lt;/p&gt;




&lt;h2&gt;
  
  
  Usage Ideas
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Scenario&lt;/th&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Daily news summary&lt;/td&gt;
&lt;td&gt;Bookmark a URL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Code review requests&lt;/td&gt;
&lt;td&gt;Auto-send via JavaScript API&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Article translation&lt;/td&gt;
&lt;td&gt;Select text → Right-click → Custom prompt&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Error log analysis&lt;/td&gt;
&lt;td&gt;Send large text via JavaScript API&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sharing prompts with team&lt;/td&gt;
&lt;td&gt;Paste URL in Slack/Notion&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Internal tool integration&lt;/td&gt;
&lt;td&gt;Add "Analyze with Gemini" button via API&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The essence of &lt;strong&gt;Send to Gemini&lt;/strong&gt; is making Gemini programmable.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;URL parameters&lt;/strong&gt; for easy automation through bookmarks and link sharing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JavaScript API&lt;/strong&gt; for full-fledged external integration from web apps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No Gemini API contract, no API keys, no server-side implementation needed. Achieving all of this in the browser alone at &lt;strong&gt;zero cost&lt;/strong&gt; is groundbreaking.&lt;/p&gt;

&lt;p&gt;If you want to weave Gemini more deeply into your daily workflow, give it a try.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://chromewebstore.google.com/detail/send-to-gemini/gklmoobnblcdiglifjmdilofgndghmml" rel="noopener noreferrer"&gt;Send to Gemini - Chrome Web Store&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>gemini</category>
      <category>chrome</category>
      <category>chromeextension</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
