Repository navigation
Verifying The Install
Status: Stable See also: Installation | FOSS-Quickstart
curl ... | sh asks you to run code you have not read, from a machine you do not
control. That is a real thing to be uneasy about. This page says exactly what the
hive-mcp installer trusts, what it proves, and how to check it yourself.
curl -fsSL https://hive-mcp.com/install.sh | sh-
TLS to hive-mcp.com, which redirects to the installer attached to the
latest release on GitHub. It points at a release asset, not at a branch, so
a push to
maincannot change what your one-liner runs. -
The release assets. This is the part you do not have to take on faith:
every file is checked against a signed
SHA256SUMSbefore it is made executable. -
Nothing else. It never asks for root, writes only to
~/.local/binand your skills directory, and touches no shell rc file unless you pass--setup.
The installer reports three tiers when it finishes. A tier that could not run says so; it is never quietly counted as a pass.
| Tier | Checks | Needs | On failure |
|---|---|---|---|
| Checksums | the sha256 of every downloaded file against SHA256SUMS
|
sha256sum, shasum or openssl
|
hard stop, nothing installed |
| Signature | an Ed25519 signature over SHA256SUMS
|
an openssl that does raw Ed25519 |
hard stop |
| Provenance | which workflow, repo and commit built the binary | gh |
reported unavailable, install continues |
Two details matter more than they look:
"Cannot check" is never reported as "checked." Before trusting openssl for
the signature, the installer verifies a published
RFC 8032 test vector
with it. If that fails, the tool cannot do Ed25519 (macOS ships LibreSSL as
openssl, which cannot) and the tier reports itself unavailable. If the test
vector passes but your download does not, that is not a tooling problem, and the
install stops.
The script is parsed before any of it runs. Everything is inside a function called on the last line, so a connection that drops mid-transfer cannot leave you having executed half an installer.
The strongest check available to you is a second origin. The script and the binaries come from GitHub; the expected checksum and the signing key are served from our own cluster. Passing both means both systems would have to be compromised and agree on the same lie, rather than either one being enough.
curl -fsSL https://hive-mcp.com/install.sh -o install.sh
curl -fsSL https://hive-mcp.com/install.sh.sha256
sha256sum -c install.sh.sha256 # macOS: shasum -a 256 -c
less install.sh
sh install.shTo check the pinned signing key against that second origin:
curl -fsSL https://hive-mcp.com/hive-signing-key.pub
sed -n 's/^HIVE_SIGNING_KEY="\(.*\)"$/\1/p' install.shThey must be the same string. The installer pins the key so it can verify with no network beyond the download; the cluster publishes it so you can check the pin against something that is not GitHub.
To check a release's provenance directly:
gh attestation verify ~/.local/bin/hive --repo hive-agi/hive-mcp-cliThat names the workflow and the commit that produced the binary. It is the one check a stolen signing key would not survive, because the attestation is bound to a GitHub OIDC identity rather than to a key we hold.
The installer is a convenience. Nothing it does is secret:
go install github.com/hive-agi/hive-mcp-cli/cmd/hive@latest
go install github.com/hive-agi/hive-mcp-cli/cmd/hive-setup-mcp@latest
hive guide --install
hive setupOr skip the CLI and follow Installation by hand.
Being straight about the edges:
-
The host and its addons.
hive setupclones hive-mcp over HTTPS and resolves Maven artifacts from Clojars. Those carry their own trust story, and it is not this one. - A compromise of both origins at once. If GitHub and our cluster were compromised together, every check here passes. Provenance is the layer that still helps, because it is anchored in a public transparency log rather than in anything we hold.
- Reproducible builds. The binaries are not yet byte-reproducible from source, so provenance tells you which workflow built them, not that you can rebuild the same bytes yourself.
If a checksum or signature ever fails, do not retry, and do not work around it. A retry that succeeds is worse than the failure. Open an issue at https://github.com/hive-agi/hive-mcp-cli/issues with the two hashes the installer printed.