Skip to content

Commit d8a4bdc

Browse files
Rick Valdesclaude
andcommitted
Document the unsigned CLI binary
Matches how opencode itself ships. Explains the macOS quarantine and Windows Defender cases, and points users at checksums.txt to verify a binary before excluding it rather than trusting it blindly. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 93cb59b commit d8a4bdc

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,23 @@ against glibc. Build from source there (see below).
6767

6868
**32-bit systems** are not supported.
6969

70+
### Unsigned binaries
71+
72+
The `utmstack` binary is not code-signed. It runs normally — signing is not required to
73+
execute anything — but two situations are worth knowing about.
74+
75+
On **macOS**, binaries fetched by `curl` are not quarantined, so the installer works as-is;
76+
downloading an asset from the Releases page in a browser will trip Gatekeeper (clear it
77+
with `xattr -dr com.apple.quarantine ~/.utmstack/bin/utmstack`).
78+
79+
On **Windows**, SmartScreen triggers on Mark-of-the-Web, which browsers apply and
80+
`Invoke-WebRequest` does not — so `install.ps1` is normally silent. If Defender flags the
81+
binary anyway, verify its SHA256 against the release's `checksums.txt` and add an exclusion
82+
for `%USERPROFILE%\.utmstack\bin`.
83+
84+
This matches how opencode itself is distributed. Every release publishes `checksums.txt`,
85+
and the installers verify against it and refuse to install if they cannot.
86+
7087
## First run
7188

7289
```bash

0 commit comments

Comments
 (0)