Package Details: pi-coding-agent 0.75.3-1

Git Clone URL: https://aur.archlinux.org/pi-coding-agent.git (read-only, click to copy)
Package Base: pi-coding-agent
Description: A terminal-based coding agent with multi-model support, mid-session model switching, and a simple CLI for headless coding tasks
Upstream URL: https://pi.dev/
Licenses: MIT
Submitter: dcreager
Maintainer: dcreager
Last Packager: dcreager
Votes: 10
Popularity: 4.81
First Submitted: 2025-12-31 13:58 (UTC)
Last Updated: 2026-05-18 13:32 (UTC)

Latest Comments

1 2 Next › Last »

dcreager commented on 2026-05-15 19:16 (UTC)

@uriel Good call, done!

uriel commented on 2026-05-15 16:58 (UTC)

Updating the url from: https://github.com/badlogic/pi-mono to: https://github.com/earendil-works/pi

might be a wise idea even though github reserves old usernames

paulodiovani commented on 2026-05-01 16:22 (UTC)

nitpick: the new website is https://pi.dev

bugabinga commented on 2026-04-30 06:10 (UTC)

@clouedoc thanks, a prefix for npm sounds perfect to me. Installing global npm packages with sudo is just... too scary to me.

@korbireischl thanks for the tip. I use mise right now and configured pi to use a node runtime via that. I will look into that.

korbireischl commented on 2026-04-22 16:23 (UTC)

@clouedoc @bugabinga If you use a node manager like nvm or fnm, node and global packages are installed in your home directory. So pi install npm:xxx won’t run into permission issues.

clouedoc commented on 2026-04-17 11:50 (UTC)

@bugabinga I figured out a clean fix for the permission issue.

The problem is that pi install npm:xxx runs npm install -g under the hood, which targets /usr/lib/node_modules/ (which is only writeable by root).

The fix is to redirect npm's global prefix to a user-owned directory:

bash mkdir -p ~/.npm-global npm config set prefix ~/.npm-global

Then add ~/.npm-global/bin to your PATH. For fish:

fish fish_add_path ~/.npm-global/bin

For bash/zsh, add to your .bashrc / .zshrc:

bash export PATH="$HOME/.npm-global/bin:$PATH"

After that, pi install npm:xxx just works.

clouedoc commented on 2026-04-15 04:07 (UTC)

@bugabinga I've been having the same issue with extensions.

I work around this (somewhat) by installing directly from github (i.e. pi install https://github.com/qmx/pi-plan-mode)

Some extensions seem to not work super well with this approach. I am not sure how to go about it.

bugabinga commented on 2026-04-12 13:47 (UTC)

Hi! How do you guys use pi extensions with this package? When I use pi install ... it tries to install into /usr/lib/node_modules and fails for obvious reasons.

Have I messed something up or misunderstood?

clouedoc commented on 2026-04-08 13:23 (UTC)

Thanks! I like having a human testing&running stuff before it lands on my laptop:)

aussetg commented on 2026-02-26 16:55 (UTC) (edited on 2026-02-26 16:58 (UTC) by aussetg)

Yes update PKGBUILD automatically. I'm lazy, 2 numbers is a lot ;)

I am using nvchecker for that and then a github workflow that just runs every X hours, check versions and if there is a new one update the pkgbuild/srcinfo and then push to aur.

I have also added this patch to my version which I think is a good idea to make sure users know not to actually follow the instructions, even though it was more useful in my case as I didn't know binary existed so I made so unholy npm pkgbuild...

So the patch will have to be modified in your case but you get the idea.

Honestly not that big a deal as I was mostly trying to avoid people running npm install -g @mariozechner/pi-coding-agent

--- a/dist/config.js   1985-10-26 09:15:00.000000000 +0100
+++ b/dist/config.js   2026-02-26 15:04:11.356548559 +0100
@@ -25,12 +25,14 @@
     }
     if (resolvedPath.includes("/yarn/") || resolvedPath.includes("/.yarn/") || resolvedPath.includes("\\yarn\\")) {
         return "yarn";
     }
+    if (resolvedPath.includes("/usr/lib/node_modules/")) {
+        return "aur";
+    }
     if (isBunRuntime) {
         return "bun";
     }
     if (resolvedPath.includes("/npm/") || resolvedPath.includes("/node_modules/") || resolvedPath.includes("\\npm\\")) {
         return "npm";
     }
     return "unknown";
@@ -44,6 +46,8 @@
             return `Run: yarn global add ${packageName}`;
         case "bun":
             return `Run: bun install -g ${packageName}`;
+        case "aur":
+            return `Update with your AUR helper (e.g., paru -Syu or yay -Syu)`;
         case "npm":
             return `Run: npm install -g ${packageName}`;
         default:

Edit: my version is not on the AUR to be clear, no need yours exist