The 0.5.x release series is done. LoopTroop is now at v0.5.9, and this is the series that turned it from a dev stack you cloned into software you actually install.
Still early alpha. This was never about production readiness. It was about making the install-run-inspect loop work like ordinary software.
The CLI
The main v0.5.0 addition was the looptroop command. The full set:
looptroop setuplooptroop startlooptroop stoplooptroop restartlooptroop statuslooptroop openlooptroop logslooptroop doctorlooptroop clean
start runs LoopTroop as a background service that survives shell close. open starts the service if needed and opens the local dashboard with a signed-in link. doctor checks the runtime, config directory, database schemas, port, OpenCode, GitHub auth, and install channel, with a JSON mode for scripts. clean finds abandoned worktrees, stale locks, and orphaned OpenCode processes. Listing is the default. Cleanup requires an explicit flag.
️ Installers
One-line install on macOS, Linux, and WSL:
curl -fsSL https://www.looptroop.ovh/install | sh
looptroop openOn Windows PowerShell:
irm https://www.looptroop.ovh/install.ps1 | iex
looptroop openVia npm:
npm install -g looptroop
looptroop openThe installer resolves a release that contains the required files, checks the download against the published checksum, and refuses to install a file that does not match. It does not ask for sudo.
The 0.5.x series also added release support for Homebrew, Scoop, Chocolatey, WinGet, Docker, and standalone executable builds. Current availability per channel is on the Installation page.

Standalone Executables
v0.5.2 added self-contained builds for macOS on Apple silicon, Linux on x64 and arm64, and Windows on x64. Each executable bundles its own Node runtime, so Node is not required after installation.
The upgrade path is transactional: verify the downloaded archive, stop the running daemon, replace the executable by rename, confirm the new binary reports the right version, restore the previous executable if it does not, then restart the daemon if it was running before. The installer still needs Node because it is a Node program. The standalone file removes Node as a runtime requirement for LoopTroop itself.
Smaller Package
The production package was rebuilt. The server became an embeddable runtime that does not start work on import. The production build bundles the server and ships compiled output, so there is no separate web server to configure.
The runtime moved from better-sqlite3 to Node’s built-in node:sqlite. That removed the last compiled dependency and one of the most common causes of install failures. The global install shrank from roughly 300 packages to 16.
Release Process
The 0.5.x release process now builds artifacts, records checksums, publishes the exact built files to each channel, adds signed build provenance, builds and checks standalone executables, builds container images for Linux x64 and arm64, installs published releases on clean machines, starts the daemon and checks health, tests the interface and authenticated API paths, then stops and uninstalls. A release is only marked finished after the published files are compared against what the build produced.
v0.5.9 also fixed packaging and install checks for npm 12 and repaired an edge case where a slow daemon could become impossible to stop.
⚠️ Safety Note
LoopTroop runs OpenCode with broad local permissions. Git worktrees isolate changes to the attached repository, but they do not sandbox the agent process from the rest of the machine. Run it in a disposable VM or cloud dev environment when trying it out.
Prerequisites
LoopTroop does not install OpenCode. It requires OpenCode with at least one configured provider. Git and GitHub CLI are also required for the pull request step, though some install channels provide them as dependencies.
Code on GitHub. Full install docs at looptroop.ovh/docs/installation.

