github / github/copilot-cli

Codespaces ships Copilot CLI 1.0.3 and `copilot update` only installs with `sudo`

オープン
#4,501 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

area:installation area:platform-linux
主要言語
Shell
スター
11.2k
フォーク
1.9k
平均マージ
14時間 16分
マージ済み PR(30日)
6

説明

Describe the bug

A newly opened GitHub Codespace starts with GitHub Copilot CLI 1.0.3 installed at /usr/local/bin/copilot.

Running copilot update reports that version 1.0.80 was downloaded, but the installed binary is not replaced and copilot --version continues to report 1.0.3, even after opening a new terminal or restarting the Codespace.

Running sudo copilot update does successfully install the update. This indicates that the normal updater cannot replace the root-owned binary in /usr/local/bin, but still prints a success message.

Affected version
  • Preinstalled version in the Codespace: 1.0.3
  • Version reported as downloaded by the updater: 1.0.80
Steps to reproduce the behavior
  1. Open a GitHub Codespace.
  2. Run copilot --version and confirm that it reports GitHub Copilot CLI 1.0.3.
  3. Run copilot update.
  4. Observe the message: Copilot CLI version 1.0.80 downloaded.
  5. Run copilot --version again.
  6. Open a new terminal or restart the Codespace and run copilot --version again.
  7. Run sudo copilot update and observe that the update succeeds.
Actual output
$ copilot --version
GitHub Copilot CLI 1.0.3.
Run 'copilot update' to check for updates.

$ copilot update
Checking for updates...
Copilot CLI version 1.0.80 downloaded.

$ copilot --version
GitHub Copilot CLI 1.0.3.
Run 'copilot update' to check for updates.

The version remains 1.0.3 after opening a new terminal and after restarting the Codespace. The update succeeds only when run as sudo copilot update.

Investigation
  • which -a copilot returns a single path: /usr/local/bin/copilot.
  • ls -la /usr/local/bin/copilot shows that the file is still dated March 9 after the non-sudo update, so the installed binary was not overwritten.
  • The normal updater appears unable to write to the root-owned /usr/local/bin/copilot binary.
  • Despite not replacing the binary, it prints a successful download message instead of reporting the installation failure.
  • Running sudo copilot update successfully performs the update.
Expected behavior
  1. New GitHub Codespaces should start with the current supported stable Copilot CLI version (1.0.80 at the time of this report, or the latest stable version), rather than the outdated 1.0.3 binary.
  2. copilot update should actually replace the installed binary.
  3. If the updater cannot write to /usr/local/bin/copilot, it should exit with a non-zero status and clearly explain that elevated permissions are required, for example by suggesting sudo copilot update.
  4. It should not display a success message unless the installed binary has been replaced and the new version can be verified.
Workaround
$ sudo copilot update
Environment
  • GitHub Codespaces (devcontainer)
  • Linux Codespace
  • Initial Copilot CLI version: 1.0.3
  • Update version reported by the CLI: 1.0.80
  • Installed binary: /usr/local/bin/copilot
  • Exact uname -a output was not captured
Related issue
  • #4405 — the stale preinstalled binary and failed non-sudo update prevented verification with the newer CLI version suggested there.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず GitHub Codespace で copilot update を再現し、copilot update のエントリーポイントと /usr/local/bin/copilot へのインストールを調査します。通常実行と sudo 実行を、それぞれの終了ステータスとバージョン出力を含めて比較します。新しい Codespaces でサポート対象のバージョンを利用でき、置き換えに失敗した場合は明確に報告され、インストール済みバージョンが変更された後にのみ成功が表示されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
linux, shell
領域
cli, devops
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。