bde796b26325a6444222f693b5e0374a07de1dc9
lrnassar
  Wed Oct 29 15:35:11 2025 -0700
Adding a link to the docs page for the CAPTCHA on hgHubConnect. No RM.

diff --git src/hg/hgHubConnect/hgHubConnect.c src/hg/hgHubConnect/hgHubConnect.c
index 92148601e69..a1a3d73f855 100644
--- src/hg/hgHubConnect/hgHubConnect.c
+++ src/hg/hgHubConnect/hgHubConnect.c
@@ -436,42 +436,42 @@
 puts("<div id='apiKeySection' class='tabSection'>");
 puts("<h4>API key</h4>");
 char *userName = wikiLinkUserName();
 char *userId = wikiLinkUserId();
 if (userName==NULL || userId==NULL)
     {
     char *hgsid = cartSessionId(cart);
     char *loginUrl = wikiLinkUserLoginUrlReturning(hgsid, wikiLinkEncodeReturnUrl(hgsid, "hgHubConnect", "#dev"));
     printf("<div class='help'>You are not logged in. Please <a href='%s'>Login</a> now, then this page will show the API key.</div>", loginUrl);
     }
 else
     {
     char *existingKey = getApiKey(userName);
     if (existingKey)
         {
-        puts("<div id='apiKeyInstructions' class='help'>You have <span id='removeOnGenerate'>already</span> generated an API key. If you would like to generate a new key (which revokes old keys), click 'Generate key'. To use your API key with Hubtools, copy and paste the below key to your ~/.hubtools.conf file. This is not necessary for URL use to bypass the CAPTCHA.<br><br>");
+        puts("<div id='apiKeyInstructions' class='help'>You have <span id='removeOnGenerate'>already</span> generated an API key. If you would like to generate a new key (which revokes old keys), click 'Generate key'. To use your API key with Hubtools, copy and paste the below key to your ~/.hubtools.conf file. This is not necessary for URL use to <a href='/FAQ/FAQdownloads.html#CAPTCHA'>bypass the CAPTCHA</a>.<br><br>");
         puts("<div id='apiKey' style='margin-left: 15px; font-family: monospace'>");
         printf("%s\n", existingKey);
         puts("</div>");
         puts("</div>");
         puts("<div id='generateDiv' class='help'>Generate an API key <button id='generateApiKey'>Generate key</button></div>");
         }
     else
         {
-        puts("<div id='generateDiv' class='help'>Generate an API key to bypass the CAPTCHA or use the <tt>hubtools up</tt> command");
+        puts("<div id='generateDiv' class='help'>Generate an API key to <a href='/FAQ/FAQdownloads.html#CAPTCHA'>bypass the CAPTCHA</a> or use the <tt>hubtools up</tt> command");
         puts("<button id='generateApiKey'>Generate key</button></div>");
-        printf("<div id='apiKeyInstructions' style='display: %s'>To use your API key with hubtools, create a file ~/.hubtools.conf and add the key. This is not necessary for URL use to bypass the CAPTCHA.<br><br>\n", existingKey != NULL ? "block" : "none");
+        printf("<div id='apiKeyInstructions' style='display: %s'>To use your API key with hubtools, create a file ~/.hubtools.conf and add the key. This is not necessary for URL use to <a href='/FAQ/FAQdownloads.html#CAPTCHA'>bypass the CAPTCHA</a>.<br><br>\n", existingKey != NULL ? "block" : "none");
         puts("<div id='apiKey' style='margin-left: 15px; font-family: monospace'>");
         puts("</div></div>");
         }
     printf("<div id='revokeDiv' class='help' style='display: %s'>\nTo revoke any API keys associated with your account, click the revoke button: <button id='revokeApiKeys'>Revoke</button>\n</div>", existingKey != NULL ? "block" : "none");
     // add the event handlers for clicking the generate/revoke buttons
     jsInlineF(""
     "document.getElementById('generateApiKey').addEventListener('click', generateApiKey);\n"
     "document.getElementById('revokeApiKeys').addEventListener('click', revokeApiKeys);\n"
     );
     }
 
 puts("</div>"); // tabSection apiKey
 }
 
 void hgHubConnectDeveloperMode()