What works and what does not yet
Last checked against Builder 0.6.3, on 2026-10-16.
This page lists what has been seen working in Builder, on which test machine, and what does not work yet. Installing Builder links here from its end.
Working on Debian, seen in the Linux container rehearsals (an account with no sudo, run
2026-09-25 and again 2026-10-02/03): install-payload and stand-up-backend --shape single
--seed-registry --activate complete.
- A crew's session can read and write its own folder, run programs and commit to git: the steward
created a crew whose session, started by
co, built and committed a program that runs. - The Library, Orient, the knowledge watcher and the run register all run as systemd user services.
- No step asked for GitHub when the install had none configured.
- A missing program stops the install, names it, and installs nothing.
- Without lingering enabled, jobs stop at logout, and the install says so.
Working on a Mac, seen in the Mac rehearsal (a standard account with no administrator password,
macOS 26.4, run 2026-10-02/03): install-payload and stand-up-backend --shape single
--seed-registry --activate complete in a login shell.
- The services run once the account has a desktop session, opened through Screen Sharing.
- After a restart, the services return once the account logs in again, by the steps under After the Mac restarts.
- A signed-in Claude session starts inside the tmux server that keeps it running, and that sign-in survived a restart.
Not yet seen on a Mac: the steward creating a crew whose session writes code, and Deck notifying that the account is logged out. (Deck's Hosts window showed the account logged out, but posted no notification of it.)
Working with GitHub, seen in the GitHub App rehearsal (a Debian container, a scratch repository,
run 2026-10-09): connect-github created the remote through the GitHub App you create for your
install, and pull requests, pushes and comments appeared under that App.
- A session over an hour old still pushed and called GitHub.
- A direct push to
mainwas refused. - In Enforced mode, an agent's pull request stayed blocked until the operator approved it, the App could not approve its own, and a push cleared an existing approval.
- An SSH remote was rewritten to the App, and one the App could not rewrite was refused and named.
github-gate --checkreported pass or fail, naming each field it checked.
This release fixes two defects that rehearsal found: GitHub's host keys are now pinned, and the check now works when run with the App's own token. Not yet seen: Deck on a second Mac, reaching the first over SSH, with a session started there.
The one command, seen working on Debian (a clean Debian 12 container, with the published 0.6.1):
curl -fsSL https://convivybuilder.org/install.sh | sh completed a single-account install.
- The first run stopped, named Claude Code as missing, and installed nothing.
- Once Claude Code was installed, the second run exited 0, and
command -v co agentctlprinted both commands. - A third run changed nothing.
Not working yet, or not yet seen, on any machine:
- The one command on a Mac. It has been seen working on Debian, as described above, but nobody has yet run it against a clean Mac. On a Mac, follow Installing on a Mac until it has.
- The one command creating the GitHub App. The one-command install now pauses near the end to
create the operator's GitHub App, as Connecting GitHub describes, but that
step has not yet been rehearsed; the Debian and Mac rehearsals above both predate it. Run it with
--no-github-appand create the App by hand, as before, until it has. - Homebrew has not been rehearsed. The
convivybuilder/tap/builderformula, added in 0.6.2, is published and pins the release archive by its sha256, but nobody has yet runbrew install convivybuilder/tap/builderagainst a clean Mac. - Orient's pages. On the tailnet listener, Orient asks the local Tailscale daemon, by
whois, which login owns the connecting peer, and serves that viewer only the projects it may see; a peerwhoiscannot name, including a tagged node with no user, gets403 Forbidden, the same refusal an unidentified loopback request gets. This has not been seen on a rehearsal machine. - The merge check. A merge is the acceptance of a proposed change into a project. A merge you
start from Deck or Orient asks the Library first, and the Library approves every one, its log
saying
merge admission STUBBED (always approves), so it does not yet stop a merge that nobody reviewed. An agent's merge takes a separate path, throughagentctl kb mergeoragentctl docs merge, and each of those refuses anything your agent policy does not permit. - An updater. To move to a later release, pull
stablein each clone, as Moving to a later release describes; no command does that for you. - A way to check that a release is genuine. Release tags and the
stablebranch are not signed, so a clone is only as trustworthy as your connection to GitHub and theconvivybuilderorganisation's control of its repositories. - The three-account install.
stand-up-backend --shape threeexists and its code is merged, but nobody has yet run it end to end on a real machine; these pages describe only the single-account shape. - Deck's steps for adding a server have not been rehearsed end to end. After the install gives them; nobody has yet run them against a real server and a real laptop.
- Updating the backend and its services. Moving the starter set to a later release has been tested; updating the rest of what runs has not.
- The uninstaller. Removing Builder describes
bin/uninstall-builderfor the single-account shape; nobody has yet run it end to end on a real machine.