Repository navigation
Colonizer v0.2.5
Colonizer v0.2.5
Model requests survive a closed keep-alive connection
v0.2.4 made the model router name its failures, and that showed what was behind most of the old
"Anthropic is unreachable" errors: class=connection status=502 … detail=UND_ERR_SOCKET, about
0.1 s after the request started. The router had reused a pooled connection that the server had
already closed, so the request never reached Anthropic. In v0.2.5
(#1001):
- The router retries once, on a fresh connection. When a connection is closed or reset under a
request (UND_ERR_SOCKET"other side closed",ECONNRESET,EPIPE) before any byte of the
answer has arrived, the same request is sent again straight away on a new connection. A 502 is
returned only if that retry fails too, and there is never a third attempt. - Only safe replays. "No byte received" is measured on the socket, not guessed from the error
code. Nothing is replayed after a timeout, a connect, DNS or TLS failure, an HTTP answer, or any
part of the response. - It is logged. Each retry is a
model_routerline withclass=connection_retryand the
error code, so you can see how often it happens. - Explicit keep-alive settings. An idle pooled socket is reused for at most 4 s, or the
server'sKeep-Alivehint less 2 s, and never longer than 30 s whatever the hint.
What's new in v0.2.5
The rest, each backed by an entry in
CHANGELOG.md:
- Search earlier colonies' conversations. The cockpit's History view has a search panel, and a
colony gets a read-onlycolony_history_searchtool scoped to its own org and sensitivity
(#739). - Colony images carry a toolbox, and a repository can preinstall its own tools.
python3,
jq,ripgrep,makeand more ship in every colony image, and the agent daemon runs the
repository's.colonizer/setup.shon boot (#753). - Colonies in GitHub loops can comment on and label pull requests, and request merges. Merges
stay off until the operator lists the repository in the org'smerge_prssetting, and the
mothership checks the pull request itself before merging (#807). - A repository can opt out of Colonizer with a
.colonizer-ignorefile, acolonizer: ignore
label orenabled = falsein.colonizer/config.toml; the repository's owner can still launch
(#909). cargo install colonizer-harness && colonizer setupis now a real install path, with the same
checksum and attestation checks ascurl | sh(#905).colonizer update --checksays whether a newer release exists, with no mothership or token,
and a newrelease-healthworkflow checks every release after it ships: assets,SHA256SUMS,
crates.io, an install on Linux and macOS, and colonizer.dev
(#830).colonizer updateno longer reports a stale "latest release", and--forcenever
downgrades past the build's own base release (#820).- Publishing refuses a commit that would add a credential-looking file, such as a new
.env.localor a nested SSH key (#780). - GitHub token scopes are documented, read-only first, and a token missing write access gets a
clear prompt (#906). - CI retries a failing test command once and reports the flake instead of hiding it
(#829).
Install
curl -fsSL https://colonizer.dev/install.sh | shPrebuilt bundles are published for Linux x86_64 (with KVM) and Apple Silicon Macs
(darwin-arm64); there is no Intel-Mac or Windows build. What one machine needs:
- Linux:
/dev/kvmreadable and writable by your user (sudo usermod -aG kvm "$USER", then log
out and back in) and a native Claude Code install, which colonies run. - Either platform:
git,gh,curlandtar(with xz); on Apple Silicon the installer also
fetches the Linux build of Claude Code a colony needs.
Run colonizer afterwards; it prints a sign-in link and opens it. The full walkthrough — install
options, first run, where things live, how to update — is in
docs/install.md.
Security status
Colonizer is alpha and not ready for unattended work on sensitive repositories, real credentials
included. An external audit of v0.1.3 (commit d89ce76, 17 September 2026) found four ways a
colony could cross into the host; they are filed as draft advisories (F01–F04) and are not fixed
yet, and its four release checkpoints (G1–G4) are all uncleared. Controls added since — scoped
tokens, remote-access fencing, sensitivity-aware routing, gateway audit lines, log and secret
redaction, path policy, egress and exec policies — do not close those findings, so attended work is
what the harness is good for today. The live status is
docs/audit.md and its tracking
issue (#91); report vulnerabilities privately
through SECURITY.md.
Prebuilt Colonizer for Linux x86_64 (with KVM) and Apple Silicon Macs, built from 5620f66.
curl -fsSL https://colonizer.dev/install.sh | shThe installer checks the archive against SHA256SUMS. It fetches the Claude Agent SDK from the npm registry, and on a Mac the Linux build of Claude Code, from Anthropic's own channels: neither is in the release. Guide: https://colonizer.dev/docs/install
Each artifact, SHA256SUMS included, also carries a build-provenance attestation recording the commit that built it. Verify one with:
gh attestation verify colonizer-<platform>.tar.gz --repo Colonizer-dev/harnessHere is linux-x86_64 or darwin-arm64.
16a59866e6b35ec423ef7ef3fbb731c2696d6673bdc1bc4e1fde4890a9ee846f colonizer-darwin-arm64.tar.gz
4d60958ad797db929c02df9b2756a16f146670920db45265430ba28e2aa6edaa colonizer-linux-x86_64.tar.gz
12eeacb0c7248f4074b6343a1d787182a9ab18590837173dae19306ff33e85aa install.sh