Package Details: github-copilot-cli 1.0.48-1

Git Clone URL: https://aur.archlinux.org/github-copilot-cli.git (read-only, click to copy)
Package Base: github-copilot-cli
Description: GitHub Copilot CLI brings the power of Copilot coding agent directly to your terminal.
Upstream URL: https://github.com/github/copilot-cli
Keywords: ai cli copilot github
Licenses: LicenseRef-GitHub-Copilot
Conflicts: github-copilot, github-copilot-cli-legacy
Provides: copilot
Replaces: github-copilot
Submitter: Dominiquini
Maintainer: Dominiquini (Edu4rdSHL)
Last Packager: Edu4rdSHL
Votes: 11
Popularity: 2.06
First Submitted: 2025-10-23 17:21 (UTC)
Last Updated: 2026-05-14 16:12 (UTC)

Pinned Comments

Edu4rdSHL commented on 2026-05-11 19:26 (UTC)

For everyone having build issues with the shell completion, follow the following steps:

  • Remove your ~/.copilot/pkg folder
  • Clear your AUR helper cache
  • If using makepkg, use -C

That should solve your problem. However, if the issue persists, build your package in a clean chroot environment.

There aren't problems with packaging, and nothing will be changed on our side, so avoid commenting on a problem that has already been discussed many times. Thanks!

Latest Comments

« First ‹ Previous 1 2 3 4 Next › Last »

jasursadikov commented on 2026-05-04 09:37 (UTC)

@Edu4rdSHL even though

error: Invalid command format.

Did you mean: copilot -i "completion bash"?

For non-interactive mode, use the -p or --prompt option.
Try 'copilot --help' for more information.
==> ERROR: A failure occurred in package().
    Aborting...

ttobsen commented on 2026-05-04 08:33 (UTC)

It looks like the build failure may be related to npm install fetching the optional dependency @github/copilot-linux-x64 from the internet during packaging. If this optional native binary gets installed, it appears to take precedence over the JS fallback (index.js). The native binary in the current release does not seem to expose a completion subcommand, while the JS fallback does.

This could explain why the build succeeds in some environments but not others — in environments where npm skips the optional dependency (e.g. due to network restrictions in certain chroot setups), the JS fallback is used and the build succeeds.

It may also be worth noting that the PKGBUILD appears to trigger an undeclared network fetch during package() for this optional dependency, which is not listed as a source with a checksum.

The failure has now been reproduced by multiple users across 1.0.39 and 1.0.40, both with AUR helpers and with plain makepkg. Could you share the exact steps to reproduce your successful build, including how your chroot environment is set up? That would help narrow down why it behaves differently in your environment.

mburakov commented on 2026-05-04 06:52 (UTC)

Unfortunately, building this fails:

$ curl 'https://aur.archlinux.org/cgit/aur.git/snapshot/github-copilot-cli.tar.gz' | tar xz; cd github-copilot-cli; makepkg
  % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
                                 Dload  Upload  Total   Spent   Left   Speed
100   2761   0   2761   0      0  13606      0                              0
==> Making package: github-copilot-cli 1.0.40-1 (Mon May  4 08:50:35 2026)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading copilot-1.0.40.tgz...
  % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
                                 Dload  Upload  Total   Spent   Left   Speed
100 36.25M 100 36.25M   0      0  6.00M      0   00:06   00:06          6.05M
  -> Downloading CHANGELOG-1.0.40.md...
  % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
                                 Dload  Upload  Total   Spent   Left   Speed
100 114.1k 100 114.1k   0      0 879.1k      0                              0
==> Validating source files with b2sums...
    copilot-1.0.40.tgz ... Passed
    CHANGELOG-1.0.40.md ... Passed
==> Extracting sources...
==> Entering fakeroot environment...
==> Starting package()...
  -> Install using Using NPM
  -> Fix ownership of ALL FILES
  -> Remove references to PKGDIR
  -> Fixing 'package.json'
  -> More fixes for 'package.json'
  -> Generating autocompletions for Bash
error: Invalid command format.

Did you mean: copilot -i "completion bash"?

For non-interactive mode, use the -p or --prompt option.
Try 'copilot --help' for more information.
==> ERROR: A failure occurred in package().
    Aborting...

Edu4rdSHL commented on 2026-05-03 17:58 (UTC)

Again, please build in a clean chroot environment; it builds correctly. If you're having issues, it's a problem with your AUR helper.

Build log: https://gist.githubusercontent.com/Edu4rdSHL/cea80a183fddbfd96a00b36d0b87d7ce/raw/c61a40e9c13c172faf6d0d7659b05fbb9ec1fdbb/gistfile1.txt

jasursadikov commented on 2026-05-03 17:55 (UTC)

I am struggling to install

error: Invalid command format.

Did you mean: copilot -i "completion bash"?

For non-interactive mode, use the -p or --prompt option.
Try 'copilot --help' for more information.
==> ERROR: A failure occurred in package().
    Aborting...
 -> error making: github-copilot-cli-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
github-copilot-cli - exit status 4

ttobsen commented on 2026-04-29 10:28 (UTC) (edited on 2026-04-29 10:31 (UTC) by ttobsen)

Build fails in 1.0.39: autocompletion generation broken

The build fails during Generating autocompletions for Bash/Zsh/Fish because
copilot completion <shell> is not a valid command in the native binary shipped with 1.0.39.

The copilot wrapper (npm-loader.js) prefers the bundled native ELF binary
(@github/copilot-linux-x64) over the JS fallback (index.js). The native
binary in this release does not expose a completion subcommand, even though it
exists in index.js.

Fix: invoke node index.js directly for the three completion steps:

diff --git a/PKGBUILD b/PKGBUILD
index d6d5554..47df86f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -63,16 +63,18 @@ package() {
                chmod 644 "${pkgjson}"
        done

+       local _jsentry="${pkgdir}/usr/lib/node_modules/${_npmmodule}/index.js"
+
        msg2 "Generating autocompletions for Bash"
-       "${pkgdir}/usr/bin/copilot" completion bash > copilot
+       node "${_jsentry}" completion bash > copilot
        install -Dm644 copilot "${pkgdir}/usr/share/bash-completion/completions/copilot"

        msg2 "Generating autocompletions for Zsh"
-       "${pkgdir}/usr/bin/copilot" completion zsh > _copilot
+       node "${_jsentry}" completion zsh > _copilot
        install -Dm644 _copilot "${pkgdir}/usr/share/zsh/site-functions/_copilot"

        msg2 "Generating autocompletions Fish"
-       "${pkgdir}/usr/bin/copilot" completion fish > copilot.fish
+       node "${_jsentry}" completion fish > copilot.fish
        install -Dm644 copilot.fish "${pkgdir}/usr/share/fish/vendor_completions.d/copilot.fish"

        msg2 "Install README file"

Edu4rdSHL commented on 2026-04-28 21:56 (UTC)

Build in a clean chroot, the packages were tested there and they work

michaellee commented on 2026-04-28 14:49 (UTC) (edited on 2026-04-28 14:49 (UTC) by michaellee)

I think the most recent PKGBUILD update adding autocompletions has some bad syntax. Getting this error:

==> Starting package()...
  -> Install using Using NPM
  -> Fix ownership of ALL FILES
  -> Remove references to PKGDIR
  -> Fixing 'package.json'
  -> More fixes for 'package.json'
  -> Generating autocompletions for Bash
error: Invalid command format.

Did you mean: copilot -i "completion bash"?

For non-interactive mode, use the -p or --prompt option.
Try 'copilot --help' for more information.
==> ERROR: A failure occurred in package().
    Aborting...
 -> error making: github-copilot-cli-exit status 4

UnseenArch commented on 2026-04-28 14:18 (UTC)

Thanks for adding the completion files! But I think the completion file for fish should be in /usr/share/fish/vendor_completions.d/ directory, because /usr/share/fish/completions/ is populated by the fish package itself.

You can see for example in the ripgrep package https://archlinux.org/packages/extra/x86_64/ripgrep/files/

Also, I don't think -s does anything when running npm install -g so you might as well remove it. If it does do something, by all means keep it.

je-vv commented on 2026-01-31 13:32 (UTC)

Can this patch be considered?

diff --git i/PKGBUILD w/PKGBUILD
index 8faf8bd..d1c29ab 100644
--- i/PKGBUILD
+++ w/PKGBUILD
@@ -22,15 +22,11 @@ options=(!strip emptydirs staticlibs zipman)

 license=("LicenseRef-GitHub")

-source=("https://registry.npmjs.org/@github/copilot/-/copilot-${pkgver}.tgz"
-               "README-${pkgver}.md::${_urlraw}/README.md"
-               "LICENSE-${pkgver}::${_urlraw}/LICENSE.md")
+source=("https://registry.npmjs.org/@github/copilot/-/copilot-${pkgver}.tgz")
 noextract=("copilot-${pkgver}.tgz")
 changelog="changelog.md"

-b2sums=('269566b5c2def6e18ce83c906a5f23338b0837ef14c1b8aa3e8258b508fba91ab2d079041bbb01f0b2003493dc56baa50a2a587f899aa16314ad8c511e4e2500'
-        '326a3606b623a71c24e554883f929978f7458b8ebfb9a0834dbaf8e54250eae602d6053b6bc31993bf10ff693f7cb1bc58591b183c7356e1135e3bfd9d689634'
-        '94d35b65a3df51c6cd8d36dc085fefc5dcab1a817323f56c394c4ccacf5c876aa5c1caf65666594678968b49b9958334a43eef62d36f1a9c96878fe59556396d')
+b2sums=('269566b5c2def6e18ce83c906a5f23338b0837ef14c1b8aa3e8258b508fba91ab2d079041bbb01f0b2003493dc56baa50a2a587f899aa16314ad8c511e4e2500')

 # Document: https://wiki.archlinux.org/title/Node.js_package_guidelines
 package() {
@@ -66,5 +62,5 @@ package() {
        install -Dm644 "${pkgdir}/usr/lib/node_modules/@github/copilot/README.md" "${pkgdir}/usr/share/doc/${pkgname}/README.md"

        msg2 "Installing LICENSE"
-       install -Dm644 "LICENSE-${pkgver}" "${pkgdir}/usr/share/licenses/$pkgname/LICENSE"
+       install -Dm644 "${pkgdir}/usr/lib/node_modules/@github/copilot/LICENSE.md" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
 }

Both the README.md and LICENSE.md are getting properly extracted from the npm package without issues, and I compared them with the ones initially downloaded, and there's no difference but some cosmetic identation some places. So there's no real purpose on getting those, and we're compliant on getting them and explored before even getting installed