Desktop app
The desktop app is a client. It connects to daemons you install separately, on the same computer or elsewhere, and never starts, bundles or stops a daemon. Closing it leaves agents running.
Download
Section titled “Download”From GitHub releases:
| Platform | Files |
|---|---|
| Windows x64 | frogg-<version>-win-x64.exe (installer, per-user, choose directory), frogg-<version>-win-x64.zip (portable), frogg-<version>-win-x64-installer.zip (the installer, zipped for browsers that block .exe) |
| macOS | frogg-<version>-mac-arm64.dmg (Apple silicon), frogg-<version>-mac-x64.dmg (Intel), plus .zip |
| Linux x64 | frogg-<version>-linux-x86_64.AppImage, frogg-<version>-linux-amd64.deb, frogg-<version>-linux-x64.tar.gz |
macOS builds are not notarized, and Windows builds may be unsigned. See install for the first-launch steps.
Connect to daemons
Section titled “Connect to daemons”Hosts in the sidebar adds connections. The desktop app supports every method, including Remote SSH. One window can use several hosts at once; each project belongs to one host.
Remote SSH
Section titled “Remote SSH”Remote SSH reaches a daemon through your system OpenSSH client, so it honours
~/.ssh/config: users, ports, keys, agents and jump hosts. The app picks hosts from your
SSH config or takes user@host.
- The connection forwards stdio to
127.0.0.1:<daemon port>on the remote host (default 9999). The daemon does not need to be reachable on the network. - If the host refuses your keys but allows passwords, the app asks for the SSH password. It is kept in memory only.
- A separate daemon password field is for daemons with a password; it is saved with the host.
Deploy a daemon over SSH
Section titled “Deploy a daemon over SSH”If SSH works but no daemon answers, the app offers to Deploy one. You can also deploy from the host’s settings.
- The app probes the host: OS, architecture, Docker, systemd user services,
curl, and any existing install. - It pipes the same
install.sh(orinstall-docker.sh) you would run by hand over SSH. Nothing is uploaded: the host downloads the release bundle from GitHub itself. - It installs the version that matches the app, listening on
0.0.0.0:9999by default. Choose127.0.0.1to keep the daemon reachable only through SSH. - The log streams into the dialog, and the connection retries when the install finishes.
The same screen can uninstall the daemon. Daemon state in ~/.frogg is kept.
Remote hosts need Linux or macOS with bash and curl, and outbound access to GitHub.
Updates
Section titled “Updates”The app checks GitHub releases and downloads updates in the background, then installs them when you quit.
- Channel: Stable (default) or Beta, in settings.
- AppImage installs do not update on quit; download the new AppImage.
- A release can require a manual upgrade from very old clients; the app says so.
- Unpackaged development builds never update.
Updating the app does not update your daemons. Update each daemon from its host settings
or with frogg update; see updates.
Open projects and links
Section titled “Open projects and links”frogg .(or any directory) on the command line opens that directory as a project in the desktop app.frogg://links open the app: agent links (frogg://h/<serverId>/agent/<agentId>) and pairing links (frogg://pair#offer=...).- Launching the app again focuses the running instance.
Notifications
Section titled “Notifications”Agents that finish, fail or need a permission raise system notifications. Clicking one focuses the window that sent it.
Also in the desktop app
Section titled “Also in the desktop app”- Open in editor for files and workspaces (VS Code, Cursor, Zed, JetBrains IDEs and others it detects).
- A built-in browser panel for workspace services.
- Network scan for daemons on the LAN in Direct connection.
There is no system tray icon. On Windows and Linux, closing the last window quits the app.