Install PwrAgent on Linux
PwrAgent publishes Linux builds for x64 and arm64 in four
formats: a Debian package for Debian and Ubuntu, an RPM for Fedora,
RHEL, and openSUSE, a pacman package for Arch and Arch-based
distributions, and a portable tar.gz. The packages install the app
under /opt/PwrAgent, put pwragent on your PATH, and register a
launcher entry named PwrAgent in your desktop environment.
Every build carries a pinned Grok Build and its own Git and Git LFS. It does not bundle or install Codex CLI. Install Codex separately, then use Settings → AI Providers in PwrAgent if you need to refresh discovery.
Which architecture?
Run uname -m. It prints x86_64 on an Intel or AMD machine (use the
x64 files) and aarch64 on ARM64 (use the arm64 files). The
commands below use x64. On ARM64, replace x64 with arm64 in the
file name.
Install
Each command below fetches the newest Stable release.
Debian, Ubuntu, and derivatives:
curl -fLO https://github.com/pwrdrvr/PwrAgent/releases/latest/download/PwrAgent-linux-x64.deb && sudo apt install ./PwrAgent-linux-x64.deb
Fedora, RHEL, and openSUSE:
sudo dnf install https://github.com/pwrdrvr/PwrAgent/releases/latest/download/PwrAgent-linux-x64.rpm
On openSUSE, download the .rpm and install it with
sudo zypper install ./PwrAgent-linux-x64.rpm.
Arch and Arch-based distributions:
sudo pacman -U https://github.com/pwrdrvr/PwrAgent/releases/latest/download/PwrAgent-linux-x64.pacman
After installing a package, launch PwrAgent from your app menu or run:
pwragent
Portable tar.gz, any distribution: extract it wherever you like
and run the pwragent executable inside. It doesn’t add a launcher
entry or put pwragent on your PATH.
curl -fLO https://github.com/pwrdrvr/PwrAgent/releases/latest/download/PwrAgent-linux-x64.tar.gz
tar xzf PwrAgent-linux-x64.tar.gz
./PwrAgent-*-linux-x64/pwragent
The archive extracts to a folder named for the version, such as
PwrAgent-1.1.6-linux-x64/.
The packages set up Electron’s sandbox helper for you when they
install. The tar.gz can’t: on a distribution that restricts
unprivileged user namespaces, such as Ubuntu 24.04 and later, it can
exit with an error about the SUID sandbox. Install the package for
your distribution instead, or give the bundled helper root ownership
and mode 4755:
sudo chown root:root PwrAgent-*-linux-x64/chrome-sandbox
sudo chmod 4755 PwrAgent-*-linux-x64/chrome-sandbox
Direct downloads
| Machine | Downloads |
|---|---|
Intel / AMD (x86_64) |
x64 .deb · x64 .rpm · x64 .pacman · x64 .tar.gz |
ARM64 (aarch64) |
arm64 .deb · arm64 .rpm · arm64 .pacman · arm64 .tar.gz |
There is no AppImage. Each release also carries the same files under versioned names. Those, and older releases, are on the GitHub Releases page.
Verify the download
Download SHA256SUMS from the same release, then run this from the
folder that holds both files:
sha256sum -c SHA256SUMS --ignore-missing
It prints OK next to the file you downloaded. SHA256SUMS covers
every Linux file (deb, rpm, pacman, and tar.gz, for both
architectures), under the stable names above and the versioned
names. The macOS and Windows downloads have their own manifests,
PwrAgent-macos-SHA256SUMS and PwrAgent-windows-SHA256SUMS.
Keyring for saved secrets
PwrAgent encrypts bot tokens, API keys, and other saved secrets with a key held by your desktop keyring. It never saves them unencrypted. On GNOME and KDE Plasma the keyring is already in place, and you don’t need to set anything up.
Some desktops, including tiling window managers such as Hyprland and sway, don’t tell PwrAgent which keyring to use. On these desktops, the first launch of PwrAgent looks for a keyring on its own:
- It asks the session bus which keyring services are available. A keyring that is already running wins over one the bus would have to start. Secret Service providers such as GNOME Keyring and KeePassXC come first, then KWallet 6, KWallet 5, and older KWallet.
- It restarts once with that keyring. If you ran
pwragentfrom a terminal, the command returns to the prompt and the window opens from the restarted app. - It saves the choice to
~/.pwragent/linux-password-store. Later launches use that keyring from the start and don’t restart.
If PwrAgent is already encrypting with a working keyring, it keeps using that keyring, even when a different one is available. Switching keyrings would leave your saved secrets unreadable.
The saved choice lives in the PwrAgent home directory ($PWRAGENT_HOME if
you set it), so every profile uses the same keyring.
When no keyring is found
If PwrAgent finds no keyring, the secret fields in Settings show one of these messages, and PwrAgent won’t save the secret:
- “Secret storage is using the unsafe basic_text backend.”
- “Secret storage encryption is unavailable.”
Install a keyring, then quit and reopen PwrAgent. GNOME Keyring works on any desktop, and the session bus starts it when PwrAgent asks for it. Install it with your package manager:
sudo apt install gnome-keyring # Debian / Ubuntu
sudo dnf install gnome-keyring # Fedora / RHEL
sudo pacman -S gnome-keyring # Arch
Outside GNOME, GNOME Keyring may ask you to set a password for a new keyring.
To use KeePassXC instead, turn on Secret Service Integration in its settings and keep it running while you use PwrAgent.
PwrAgent checks the session bus with busctl, dbus-send, or gdbus,
whichever it finds first. Every systemd-based distribution ships busctl,
so most desktop installs have at least one. If none is installed, or the
session bus can’t be reached, PwrAgent can’t look for a keyring, so
choose one yourself.
A saved choice is not dropped when its keyring can’t be reached. If that keyring stops running, or you cancel its unlock prompt, PwrAgent does not fall back to a different one. The secret fields show the unavailable message. Start or unlock that keyring, then restart PwrAgent.
Choose the keyring yourself
To pick the keyring for every launch, set PWRAGENT_LINUX_PASSWORD_STORE.
Set it in the shell you run pwragent from, or in your session environment
so the app-menu launcher sees it too:
export PWRAGENT_LINUX_PASSWORD_STORE=gnome-libsecret
| Value | Keyring |
|---|---|
gnome-libsecret |
GNOME Keyring, KeePassXC, or another Secret Service provider |
kwallet6 |
KWallet on Plasma 6 |
kwallet5 |
KWallet on Plasma 5 |
kwallet |
Older KWallet (kwalletd) |
basic |
Skip detection and ignore the saved choice. On a desktop without a keyring, PwrAgent can’t save secrets. |
auto |
Same as leaving it unset: detect and remember, as described above |
For a single launch, pass the keyring on the command line instead:
pwragent --password-store=gnome-libsecret
The command-line flag takes precedence over the environment variable, and
the environment variable takes precedence over the saved choice. Neither one
writes to ~/.pwragent/linux-password-store. Use gnome-libsecret exactly.
--password-store=gnome does not select GNOME Keyring, and PwrAgent is left
with no keyring.
Switching keyrings
Secrets saved with one keyring can’t be read with another. After you switch, enter your bot tokens and API keys again in Settings.
To run detection again, quit PwrAgent, delete the saved choice, and reopen the app:
rm ~/.pwragent/linux-password-store
Detection only runs when PwrAgent has no working keyring. If your desktop already provides one, PwrAgent uses it and doesn’t write the file again.
Upgrade
Linux builds don’t update from inside the app. To upgrade, run the same install command again: the links always point at the newest Stable release, and the package manager replaces the installed version. For the tar.gz, extract the new archive and run it instead of the old folder.
PwrAgent keeps its state under ~/.pwragent/ across upgrades.
Uninstall
Remove the package with your package manager:
sudo apt remove pwragent # Debian / Ubuntu
sudo dnf remove pwragent # Fedora / RHEL
sudo pacman -R pwragent # Arch
For the tar.gz, delete the extracted folder.
This keeps your PwrAgent profile data. To remove local PwrAgent state too:
rm -rf ~/.pwragent
Codex CLI and its authentication are managed separately by Codex and are not removed by uninstalling PwrAgent.