{"id":1482,"date":"2026-06-27T09:10:03","date_gmt":"2026-06-27T07:10:03","guid":{"rendered":"https:\/\/programmier-workshops.de\/blog\/?page_id=1482"},"modified":"2026-06-27T09:19:28","modified_gmt":"2026-06-27T07:19:28","slug":"claude-code-tipps-and-tricks-2","status":"publish","type":"page","link":"https:\/\/programmier-workshops.de\/blog\/claude-code-tipps-and-tricks-2\/","title":{"rendered":"Claude Code &#8211; Troubleshooting"},"content":{"rendered":"\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/programmier-workshops.de\/blog\/claude-code-tipps-and-tricks-2\/#Plugins\" >Plugins<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/programmier-workshops.de\/blog\/claude-code-tipps-and-tricks-2\/#Installing_Plugins\" >Installing Plugins<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/programmier-workshops.de\/blog\/claude-code-tipps-and-tricks-2\/#Fixing_the_%E2%80%9CPermission_denied_publickey%E2%80%9D_Error_in_Claude_Code\" >Fixing the &#8220;Permission denied (publickey)&#8221; Error in Claude Code<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/programmier-workshops.de\/blog\/claude-code-tipps-and-tricks-2\/#The_Cause\" >The Cause<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/programmier-workshops.de\/blog\/claude-code-tipps-and-tricks-2\/#The_Fix_Force_HTTPS_globally\" >The Fix: Force HTTPS globally<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/programmier-workshops.de\/blog\/claude-code-tipps-and-tricks-2\/#What_this_does\" >What this does<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/programmier-workshops.de\/blog\/claude-code-tipps-and-tricks-2\/#Verifying_the_Change\" >Verifying the Change<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Plugins\"><\/span>Plugins<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Installing_Plugins\"><\/span>Installing Plugins<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Fixing_the_%E2%80%9CPermission_denied_publickey%E2%80%9D_Error_in_Claude_Code\"><\/span>Fixing the &#8220;Permission denied (publickey)&#8221; Error in Claude Code<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you\u2019ve recently started using <strong>Claude Code<\/strong> and tried to install a plugin, you might have run into this frustrating error:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Plaintext<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">git@github.com: Permission denied (publickey).\nfatal: Could not read from remote repository.<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If you\u2019re like me, you probably double-checked your GitHub SSH keys, tried to re-add them, and wondered why <code>git clone<\/code> works perfectly fine in your terminal, but fails inside the Claude Code plugin installer.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"259\" src=\"https:\/\/programmier-workshops.de\/blog\/wp-content\/uploads\/2026\/06\/Bildschirmfoto-2026-06-27-um-09.08.13-1024x259.png\" alt=\"\" class=\"wp-image-1483\" srcset=\"https:\/\/programmier-workshops.de\/blog\/wp-content\/uploads\/2026\/06\/Bildschirmfoto-2026-06-27-um-09.08.13-1024x259.png 1024w, https:\/\/programmier-workshops.de\/blog\/wp-content\/uploads\/2026\/06\/Bildschirmfoto-2026-06-27-um-09.08.13-300x76.png 300w, https:\/\/programmier-workshops.de\/blog\/wp-content\/uploads\/2026\/06\/Bildschirmfoto-2026-06-27-um-09.08.13-768x194.png 768w, https:\/\/programmier-workshops.de\/blog\/wp-content\/uploads\/2026\/06\/Bildschirmfoto-2026-06-27-um-09.08.13-1536x388.png 1536w, https:\/\/programmier-workshops.de\/blog\/wp-content\/uploads\/2026\/06\/Bildschirmfoto-2026-06-27-um-09.08.13-2048x517.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Cause\"><\/span>The Cause<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The culprit is simple: Claude Code\u2019s internal installer is hardcoded to use SSH (<code>git@github.com<\/code>) to fetch plugins. If your system isn&#8217;t configured for SSH authentication (even if your HTTPS git workflow is perfectly fine), the authentication handshake fails.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Fix_Force_HTTPS_globally\"><\/span>The Fix: Force HTTPS globally<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of fighting with SSH keys and agent configurations, you can tell Git to automatically translate any SSH request to an HTTPS request. This utilizes your existing cached GitHub credentials and bypasses the SSH issue entirely.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Open your terminal and run the following command:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\u276f git config --global url.\"https:\/\/github.com\/\".insteadOf git@github.com:<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_this_does\"><\/span>What this does<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">This command updates your global Git configuration (located at <code>~\/.gitconfig<\/code>). It essentially adds a permanent rule that tells Git: <em>&#8220;Whenever you are asked to connect to <code>git@github.com<\/code>, go to <code>https:\/\/github.com<\/code> instead.&#8221;<\/em><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Verifying_the_Change\"><\/span>Verifying the Change<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">You can see exactly what this changed by running:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\u276f git config --list --show-origin<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You should see an entry pointing to your <code>~\/.gitconfig<\/code> file that maps the SSH URL to HTTPS. Once this is set, run your plugin install command again:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/plugin install &lt;plugin-name><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">It should now proceed without a hitch. If you ever need to revert this change for specific projects, you can simply remove that line from your <code>~\/.gitconfig<\/code> file or run <code>git config --global --unset url.\"https:\/\/github.com\/\".insteadOf<\/code><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\u276f git config --global --unset url.\"[https:\/\/github.com\/](https:\/\/github.com\/)\".insteadOf<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Plugins Installing Plugins Fixing the &#8220;Permission denied (publickey)&#8221; Error in Claude Code If you\u2019ve recently started using Claude Code and tried to install a plugin, you might have run into this frustrating error: Plaintext If you\u2019re like me, you probably double-checked your GitHub SSH keys,&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1482","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/pages\/1482","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/comments?post=1482"}],"version-history":[{"count":3,"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/pages\/1482\/revisions"}],"predecessor-version":[{"id":1487,"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/pages\/1482\/revisions\/1487"}],"wp:attachment":[{"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/media?parent=1482"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}