Installing and upgrading
The quickest way to install or upgrade Jojo is one command: PowerShell on Windows, or curl in Terminal on macOS. Each command downloads the latest release, replaces the app and opens it. Running sessions are not affected, because they belong to the daemon, which keeps running while the app is replaced.
Installers are also published on the repository's Releases page, for installing by hand. Each release has three files:
| File | Computer |
|---|---|
| Jojo_<version>_x64-setup.exe | Windows 11, 64-bit |
| Jojo_<version>_aarch64.dmg | Mac with Apple Silicon (M1 and later) |
| Jojo_<version>_x64.dmg | Mac with an Intel processor |
Windows
To install or upgrade, run this command in PowerShell:
irm https://raw.githubusercontent.com/josephmcgarvey/Jojo/master/scripts/install-windows.ps1 | iex
The script (scripts/install-windows.ps1) downloads the latest release's installer, closes Jojo's window if it is open (sessions keep running in the daemon), runs the installer silently for the current user into %LOCALAPPDATA%\Jojo without an administrator prompt, and opens Jojo. Because the installer is downloaded by PowerShell rather than a browser, it carries no "downloaded from the internet" mark, so SmartScreen does not stop it. To install a specific release, set $env:JOJO_VERSION = "0.2.5" before running the command.
To install by hand instead:
- In your Downloads folder, run
Jojo_<version>_x64-setup.exe. - The installer is not code-signed, so Windows SmartScreen shows "Windows protected your PC". Click More info, then Run anyway.
- Follow the installer, then start Jojo from the Start menu.
macOS
To install or upgrade, run this command in Terminal:
curl -fsSL https://raw.githubusercontent.com/josephmcgarvey/Jojo/master/scripts/install-mac.sh | bash
The script (scripts/install-mac.sh) downloads the latest release's .dmg for your processor, quits Jojo if it is running (sessions keep running in the daemon), installs Jojo.app into Applications and opens it. Because the file is downloaded with curl rather than a browser, macOS does not block the first launch. To install a specific release, set JOJO_VERSION=0.2.5 before bash.
To install from the .dmg by hand instead:
- In Finder, open the
.dmgfile for your Mac and drag Jojo into Applications. - Open Jojo from Applications. The app is not signed with an Apple developer certificate, so macOS blocks the first launch.
- In System Settings ▸ Privacy & Security, find the message about Jojo and click Open Anyway. Alternatively, in Terminal, run:
xattr -dr com.apple.quarantine /Applications/Jojo.app
What happens on first start
- Jojo copies its daemon into its own folder and starts it. On macOS the daemon goes to
~/.local/bin/jojodand is started through your login shell, so it finds programs installed through Homebrew, nvm or shell aliases. - Jojo registers its hooks in Claude Code's
~/.claude/settings.json(see Claude Code features). It does this on every start; existing hooks in that file are kept. - The sidebar shows your computer as This PC on Windows or This Mac on macOS.
Upgrading
Run the install command again, or install the new version over the old one by hand. Whether running sessions survive depends on the protocol version, the format the window and daemon use to talk to each other:
- When the protocol is unchanged (every 0.2.x release so far), the running daemon and its sessions keep running. The new daemon file takes over the next time the daemon restarts.
- When the protocol changed, the window reports that the running daemon is outdated and offers to restart it. Restarting ends that daemon's sessions. With Restore sessions on in Settings, they come back in the new daemon (see Restoring sessions).