{"componentChunkName":"component---src-templates-post-template-js","path":"/copilot-antherror","result":{"data":{"markdownRemark":{"id":"c2c66966-1c91-548d-93de-b4008b214b51","html":"<h2 id=\"事象の原因と解消方法\" style=\"position:relative;\"><a href=\"#%E4%BA%8B%E8%B1%A1%E3%81%AE%E5%8E%9F%E5%9B%A0%E3%81%A8%E8%A7%A3%E6%B6%88%E6%96%B9%E6%B3%95\" aria-label=\"事象の原因と解消方法 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>事象の原因と解消方法</h2>\n<p>しばらく前から、特定の端末でのみ Github Copilot で GPT-5.4 や GPT-5.5 などのモデルを使用しようとすると以下のエラーが発生するようになりました。</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">● Response was interrupted due to a server error. Retrying<span class=\"token punctuation\">..</span>.\n\n✗ Execution failed: Error: Failed to get response from the AI model<span class=\"token punctuation\">;</span> retried <span class=\"token number\">5</span> <span class=\"token builtin class-name\">times</span> <span class=\"token punctuation\">(</span>total retry <span class=\"token function\">wait</span> time: <span class=\"token number\">5.70</span> seconds<span class=\"token punctuation\">)</span> Last error: TypeError <span class=\"token punctuation\">[</span>ERR_INVALID_CHAR<span class=\"token punctuation\">]</span>: Inval character <span class=\"token keyword\">in</span> header content <span class=\"token punctuation\">[</span><span class=\"token string\">\"Authorization\"</span><span class=\"token punctuation\">]</span></code></pre></div>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/0051a1ffec333eb85ee637b79ab77775/d93d9/image-20260605220852665.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 31.666666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAIAAABM9SnKAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAuElEQVQY042PyQ6CQBBEOaJoQggMs2vYtwz//3c+GTmYeLAOpKuoRzeJkNZaI6Wq69oYg5FSVlWFVeodYgmLosiy7Pat5B+Y/Dcs9dN7p7Wh6pzz3mutIwkDiSUHpn0/9YFr9XDOxiW06TGXZYkFE0LEzXmep2l6OXU9lDytC/s+TdM8z+u6dl03juOyLPGJ+r7fto1CCIGQOb7i6wm/h6fRti1w0zTDMFBljiQFlnMCF3GLOkTIdS81qiQQ9sWMoAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/0051a1ffec333eb85ee637b79ab77775/8ac56/image-20260605220852665.webp 240w,\n/static/0051a1ffec333eb85ee637b79ab77775/d3be9/image-20260605220852665.webp 480w,\n/static/0051a1ffec333eb85ee637b79ab77775/e46b2/image-20260605220852665.webp 960w,\n/static/0051a1ffec333eb85ee637b79ab77775/972ad/image-20260605220852665.webp 1243w\"\n              sizes=\"(max-width: 960px) 100vw, 960px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/0051a1ffec333eb85ee637b79ab77775/8ff5a/image-20260605220852665.png 240w,\n/static/0051a1ffec333eb85ee637b79ab77775/e85cb/image-20260605220852665.png 480w,\n/static/0051a1ffec333eb85ee637b79ab77775/d9199/image-20260605220852665.png 960w,\n/static/0051a1ffec333eb85ee637b79ab77775/d93d9/image-20260605220852665.png 1243w\"\n            sizes=\"(max-width: 960px) 100vw, 960px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/0051a1ffec333eb85ee637b79ab77775/d9199/image-20260605220852665.png\"\n            alt=\"image-20260605220852665\"\n            title=\"image-20260605220852665\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>Claude Opus などのモデルは問題なく使用できていたのと、特定の端末がプロキシ環境だったこともあり、CLI のバージョンアップでそのうち解決するかと思っていたのですが、いつまでたっても解決しませんでした。</p>\n<p>そこで、少し調べてみたところ、どうも GitHub Copilot CLI の認証用のトークンに不正な文字列が混入しているとこのような問題が起きるらしいということがわかりました。</p>\n<p>実際に、以下のスクリプトで環境変数を確認すると、認証トークンの末尾に見えない改行文字が混入していることがわかりました。</p>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token keyword\">import</span> os\n\nnames <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span>\n  <span class=\"token string\">\"GITHUB_TOKEN\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token string\">\"GH_TOKEN\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token string\">\"COPILOT_GITHUB_TOKEN\"</span>\n<span class=\"token punctuation\">]</span>\n\n<span class=\"token keyword\">for</span> name <span class=\"token keyword\">in</span> names<span class=\"token punctuation\">:</span>\n    v <span class=\"token operator\">=</span> os<span class=\"token punctuation\">.</span>environ<span class=\"token punctuation\">.</span>get<span class=\"token punctuation\">(</span>name<span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">if</span> v <span class=\"token keyword\">is</span> <span class=\"token boolean\">None</span><span class=\"token punctuation\">:</span>\n        <span class=\"token keyword\">continue</span>\n    bad <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">(</span>i<span class=\"token punctuation\">,</span> <span class=\"token builtin\">repr</span><span class=\"token punctuation\">(</span>c<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">for</span> i<span class=\"token punctuation\">,</span> c <span class=\"token keyword\">in</span> <span class=\"token builtin\">enumerate</span><span class=\"token punctuation\">(</span>v<span class=\"token punctuation\">)</span> <span class=\"token keyword\">if</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span>c<span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;</span> <span class=\"token number\">32</span> <span class=\"token keyword\">or</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span>c<span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> <span class=\"token number\">127</span><span class=\"token punctuation\">]</span>\n    <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string-interpolation\"><span class=\"token string\">f\"</span><span class=\"token interpolation\"><span class=\"token punctuation\">{</span>name<span class=\"token punctuation\">}</span></span><span class=\"token string\">: length=</span><span class=\"token interpolation\"><span class=\"token punctuation\">{</span><span class=\"token builtin\">len</span><span class=\"token punctuation\">(</span>v<span class=\"token punctuation\">)</span><span class=\"token punctuation\">}</span></span><span class=\"token string\">, bad_chars=</span><span class=\"token interpolation\"><span class=\"token punctuation\">{</span>bad<span class=\"token punctuation\">}</span></span><span class=\"token string\">\"</span></span><span class=\"token punctuation\">)</span></code></pre></div>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/1e2c0744ffbed1c7a34044ddd0710827/e9140/image-20260605220943541.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 45.416666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAIAAAC9o5sfAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA90lEQVQoz5VQy07EMAzsEeLYzvvZtGnLasUJDvv/30aKhHYPIC2WZcuyZjyeyaKN+fAuK2QQIP8TEwPF7sw78xvhjpglFkka5RM8E72SKAJvkj+QO+GA8fOXJXNgaAAzQBYQABhGPAVWqI0rbV5yafu2OedCCEqrRzgi/gGWTKRT6fW4zftn8D7HrNQwT0jA75RCPDp5J5rg5Vyk5ajbJa1XPxeuwebmY1Vtwd7yNtd+iXMPXhtrVGwhphSUdzzVXHIpddlyTce+hRzSGuva27KaoF21LlnnHRH93LuLmKqvQ6q31ozfnTvr6HbMhkkZbYn4lP2bg18j/yLx2k9QhAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/1e2c0744ffbed1c7a34044ddd0710827/8ac56/image-20260605220943541.webp 240w,\n/static/1e2c0744ffbed1c7a34044ddd0710827/d3be9/image-20260605220943541.webp 480w,\n/static/1e2c0744ffbed1c7a34044ddd0710827/e46b2/image-20260605220943541.webp 960w,\n/static/1e2c0744ffbed1c7a34044ddd0710827/ab43a/image-20260605220943541.webp 1226w\"\n              sizes=\"(max-width: 960px) 100vw, 960px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/1e2c0744ffbed1c7a34044ddd0710827/8ff5a/image-20260605220943541.png 240w,\n/static/1e2c0744ffbed1c7a34044ddd0710827/e85cb/image-20260605220943541.png 480w,\n/static/1e2c0744ffbed1c7a34044ddd0710827/d9199/image-20260605220943541.png 960w,\n/static/1e2c0744ffbed1c7a34044ddd0710827/e9140/image-20260605220943541.png 1226w\"\n            sizes=\"(max-width: 960px) 100vw, 960px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/1e2c0744ffbed1c7a34044ddd0710827/d9199/image-20260605220943541.png\"\n            alt=\"image-20260605220943541\"\n            title=\"image-20260605220943541\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>最終的にこの改行文字を削除した結果、GPT 系のモデルを使用できるようになりました。</p>\n<h2 id=\"まとめ\" style=\"position:relative;\"><a href=\"#%E3%81%BE%E3%81%A8%E3%82%81\" aria-label=\"まとめ permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>まとめ</h2>\n<p>意外とハマったのと検索しても情報がでてこなかったのでメモ。</p>","fields":{"slug":"/copilot-antherror","tagSlugs":["/tag/github-copilot/"]},"frontmatter":{"date":"2026-06-05","description":"認証トークンに不正な文字が混入すると Github Copilot CLI で GPT 系のモデルを使用できなくなる問題の解消方法について","tags":["Github Copilot"],"title":"認証トークンに不正な文字が混入すると Github Copilot CLI で GPT 系のモデルを使用できなくなる問題の解消","socialImage":{"publicURL":"/static/490b0a2e2e87f4e302797fdd4b6be45a/copilot-antherror.png"}}}},"pageContext":{"slug":"/copilot-antherror"}},"staticQueryHashes":["251939775","401334301","825871152"]}