Install
Weaver has two parts. A daemon runs on your Mac or Linux machine and does all the work: it starts the agents, keeps the session logs, and serves the clients. The desktop app and the iPhone/iPad app are clients of that daemon. Install the desktop app on the machine where your code lives. Install the mobile app if you want to follow sessions from your phone or tablet.
What you need
Section titled “What you need”- A Mac with Apple silicon, or a Linux desktop (see the Linux list below).
- An account with at least one supported agent: Claude Code, Codex, Pi, or Cursor. Weaver uses each agent’s own sign-in. It does not have a separate account system for agents.
- For Codex, the Codex CLI. The Claude Code and Cursor runtimes ship with Weaver, and Pi runs inside the daemon, so those three need no separate install. If the Codex CLI is missing, Weaver offers an Install Codex CLI action that puts it in
~/.local/bin.
Sign in to each agent the way you normally would before you start, or connect it later from Settings → Agents. See Agents for the sign-in options per agent.
- Download the DMG: Download for Mac. It is a signed and notarized build for Apple silicon only. There is no Intel build.
- Open the DMG and drag Pix to Applications.
- Open Pix.
On first launch the app installs a per-user LaunchAgent (com.ritesh.pix.daemon) and starts the daemon from it. The daemon keeps running after you quit the app with ⌘Q, and it starts again at login, so sessions keep going while the window is closed. The first start can take a moment while macOS registers the background service; the window shows that the daemon is starting until it is ready.
macOS may ask whether Pix can find devices on your local network. Allow it if you want your phone or another Mac to reach this Mac over Wi-Fi. See Pairing and remote access.
The app records your login shell’s PATH in the service definition when it installs the service, so the daemon finds agent CLIs where their installers put them.
Weaver publishes these packages. Pick the one for your system and CPU (uname -m prints x86_64 or aarch64).
| System | x64 | ARM64 |
|---|---|---|
Ubuntu / Debian (.deb) | Download | Download |
Fedora / RHEL (.rpm) | Download | Download |
Arch / CachyOS (.pkg.tar.zst) | Download | none |
The qualified systems are Ubuntu 24.04 Desktop, Fedora 43 desktops, and x64 Arch-based desktops including CachyOS. Weaver needs:
- a systemd user session, and
- an unlocked Secret Service keyring (the desktop keyring).
WSL, headless servers, and minimal containers are not supported.
The Linux package is not signed. To check the download, append /checksums to the download URL to get SHA256SUMS, then compare:
sha256sum Pix-VERSION-linux-x64.debgrep 'Pix-VERSION-linux-x64.deb' SHA256SUMSInstall with your package manager, using the exact file name you downloaded:
# Ubuntu / Debiansudo apt install ./Pix-VERSION-linux-x64.deb
# Fedora / RHELsudo dnf install ./Pix-VERSION-linux-x64.rpm
# Arch / CachyOSsudo pacman -U ./Pix-VERSION-linux-x64.pkg.tar.zstDo not convert the .deb for Arch. Use the pacman package.
Open Pix from your application menu, or run pix. Run it as your normal user, never as root. Weaver refuses to start as root. Allow the keyring to unlock if it asks.
On first launch the app installs and starts a systemd user service, pix-daemon.service. Closing the window leaves that service running, so sessions continue. To check on it:
systemctl --user status pix-daemon.service --no-pagerjournalctl --user -u pix-daemon.service --since '15 minutes ago' --no-pagerUpdating and removing on Linux
Section titled “Updating and removing on Linux”Weaver does not replace the Linux package for you. It can update its own daemon runtime within your channel from inside the app. To install a newer package, finish active work, close Pix, stop the service, then install the new file:
systemctl --user stop pix-daemon.servicesudo apt install ./Pix-NEWER-VERSION-linux-x64.deb # or dnf / pacman -UIf apt reports a downgrade, or Weaver reports incompatible data, stop. Do not force it.
To remove Weaver:
systemctl --user disable --now pix-daemon.servicesudo apt remove pix # Ubuntu / Debiansudo dnf remove pix # Fedora / RHELsudo pacman -Rns pix # Arch / CachyOSRemoving the package keeps your data in ~/.local/share/pix, ~/.local/share/pix-runtime, ~/.local/state/pix, and ~/.config/Pix.
iPhone and iPad
Section titled “iPhone and iPad”The iOS app is in TestFlight: Open TestFlight.
The app is a client. It does not run agents. It connects to the daemon on your Mac or Linux machine. On first launch it asks you to pair:
- Open Pix on your computer and go to Settings → Devices.
- On the phone, tap Scan pairing code and scan the code shown there. The app needs camera access to scan.
On iPad, wide windows use the same three-panel layout as the desktop app. Full details are in Pairing and remote access.
Android and Windows are not available.
First launch
Section titled “First launch”When the daemon is up, the main window opens. Here is what happens on a fresh install:
- Existing history appears. The daemon imports past sessions from agents that keep local history, so your earlier Claude Code or Codex sessions show up in the session list. You can turn this off per agent: set Import history to Off under Settings → Agents. Imported sessions show a note that they started outside Pix.
- Agent status is in Settings. Settings → Agents shows each agent as Connected, Not connected, or CLI required, with a Connect, Set up or Manage button for the agent’s own login or install steps.
- Some builds show a setup screen first. If you see “Manage all your agents from one place”, it lists each agent as loading, installed, logged in, or not found, with fix buttons where the agent has them. Click Take me to chat to continue. Production builds have this screen turned off by default.
Then start a session. See Your first session.
Where things live
Section titled “Where things live”| macOS | Linux | |
|---|---|---|
| Data (sessions, index, settings) | ~/.pix | ${XDG_DATA_HOME:-~/.local/share}/pix |
| Owner token | ~/.pix/token | inside the data directory |
| Daemon logs | ~/Library/Logs/PIX/daemon.log, daemon.err.log | ${XDG_STATE_HOME:-~/.local/state}/pix, and journalctl --user -u pix-daemon.service |
| Background service | ~/Library/LaunchAgents/com.ritesh.pix.daemon.plist | ~/.config/systemd/user/pix-daemon.service |
Setting PIX_DATA_DIR overrides the data directory on both systems. The owner token is what the desktop app uses to connect to its own daemon. Do not share it.
On macOS the daemon listens on port 8790. If something else holds that port, it uses the first free port from 8792 to 8891 and keeps that port across restarts.