Homebrew tap for openclaw
42
stars
311
commits
Python
primary language
Sep 10, 2026
updated

Homebrew tap for shipping OpenClaw CLI tools.
brew tap openclaw/tap
# formula
brew install openclaw/tap/<name>
# cask
brew install --cask openclaw/tap/<name>
axorc — Inspect and automate macOS Accessibility from the shellclawscan — Agent-skill security scanner harness for ClawHubclawdex — Local-first address book backed by Markdowncrabbox — Remote Linux test boxes for dirty worktrees and CI hydrationcrabfleet — Fleet management CLI for Crabbox workerscrawlbar — macOS menu bar control plane for local-first crawler CLIsdiscrawl — Mirror Discord into SQLite and search server history locallygitcrawl — Local GitHub issue and PR archive, search, and clusteringgogcli — Google CLI for Gmail, Calendar, Drive, Docs, Sheets, and moregraincrawl — Local-first Granola crawler into SQLite and Markdownnotcrawl — Local-first Notion crawler into SQLite and normalized Markdownocm — Manage isolated OpenClaw environments, runtimes, and servicesoctopool — Org-authenticated GitHub read relay and gh-compatible cache shimpeekaboo — Capture macOS screenshots and automate the desktopslacrawl — Go-based CLI for mirroring Slack workspace data into local SQLitetelecrawl — Telegram Desktop archive CLI with encrypted Git backupswacli — WhatsApp CLI built on whatsmeowwacrawl — Read-only WhatsApp Desktop archive CLIgoplaces — Modern Go client + CLI for the Google Places API (New)brew update
brew upgrade
brew uninstall <formula>
brew uninstall --cask <cask>
# casks only: remove user data
brew uninstall --cask --zap openclaw/tap/<name>
brew info openclaw/tap/<name> for per-tool caveats (permissions, setup steps, etc.).brew install openclaw/tap/ocm and update with brew upgrade openclaw/tap/ocm,
not ocm self update, which refuses to replace Homebrew-managed binaries.Formula updates have two automated paths. Source-repository release workflows dispatch
Update Formula for immediate updates. That workflow accepts a Homebrew formula token, a semantic release tag, and a
GitHub repository in owner/repo form. Optional artifact inputs must resolve to HTTPS release
assets and may use only the placeholders documented by the workflow. Downloads use a 30-second
socket inactivity timeout and stream archive bytes without imposing a size limit. This timeout
bounds stalled socket operations, not the total duration of a progressing download.
Every redirect destination is validated before it is requested: HTTPS is required, and
credentials and fragments are rejected. Relative HTTPS redirects remain supported. This
does not impose a public-only host policy: private, localhost, and numeric host spellings
such as 127.1, 2130706433, and 0x7f000001 remain allowed, subject to normal TLS
certificate verification. DNS/IP restrictions are outside this download contract.
Crabbox uses the ordinary four-target assets handoff after publication. The
Crabbox release process
completes its prepublication checks, including native proof, before publishing. Publication
establishes tap eligibility: the operator explicitly dispatches Update Formula with the tag and
four published archive names/hashes. The updater downloads and hashes all four canonical GitHub
release assets before writing, preserves maintained formula content, and succeeds when already
current. Reconciliation is an independent fallback for stable published releases. Retry a failed tap
handoff on its own; do not rebuild or republish to retry Homebrew.
Public native and proxy-only Go-install smokes remain required independent channel health checks,
not an additional approval gate for the tap. Installed-Homebrew smoke follows the update.
Crabbox's obsolete verified-hashes-v1 write mode fails with guidance to use ordinary assets;
caller-supplied hashes without public downloads cannot update that formula. Its read-only
--verify-source-tag-only check still accepts the complete verified-hash input set without writing.
Existing Formula/*.rb files own each tool's caveats and install instructions. The updater
preserves that content while changing release metadata. In legacy multi-target mode, a supplied
linux_url refreshes both the matching GitHub source-archive URL and its checksum. Maintain
formula-specific content here rather than in an upstream release workflow. Newly generated
formulae remain in memory until all required checksum downloads and rendering succeed, so
failed creation leaves no placeholder file.
For Gitcrawl, see the configuration reference
and gh shim migration to Octopool.
Reconcile Formulae is the self-healing fallback for formulae. Every three hours
it derives each source repository from the formula's GitHub homepage, compares the formula with that repository's latest
stable published release, and runs the same updater and checksum-download logic when the release is
newer. Invalid formula metadata is reported and skipped so later formulae are still inspected.
It never downgrades, skips drafts and prereleases, and makes no commit when every formula is
current. Manual reconciles default to dry-run and can target one formula. The reconciler reads public
release metadata and pushes with this tap's own GITHUB_TOKEN; it needs no cross-repository token or
other external credential. The dispatch path remains the preferred low-latency path.
OCM uses reconciliation directly: its three Rust-target archives are discovered from the formula, without a cross-repository dispatch token or a Linux ARM64 artifact. Installation preserves the published executable bytes, including the macOS Developer ID signature. Changes to the OCM formula or its updater run installed-Homebrew tests on macOS ARM64, macOS x86_64, and Linux x86_64, using the checked-out formula rather than the public tap.
Pull requests and updates to main run the updater and reconciler tests and validate every formula's
Ruby syntax. They also load the checked-out tap on every Homebrew OS/architecture combination,
including unsupported installation targets. Formulae must always define a URL; use an architecture
requirement to reject unsupported installs rather than leaving platform metadata empty.
Fleet release workflows use the optional assets JSON contract: exactly one name and sha256
for each Darwin/Linux amd64/arm64 target. The updater renders those names and hashes verbatim,
downloads all four public release assets, and refuses to commit on any digest mismatch. Legacy
multi-target updates preserve smaller target inventories and resources, but reject unrecognized
primary release assets before downloading or writing. Custom target names need target_aliases. Omitting
assets preserves the legacy template and filename-guessing behavior for older callers.
Other four-target binary releases can use the workflow's verified-hashes-v1 contract. Supply all four
canonical target SHA-256 inputs, source_tag_object, source_tag_commit, and request_id with an
explicit {target} artifact template. This mode requires an existing formula, checks that the live
source ref is the supplied annotated tag object and peeled commit, renders the target URL/checksum
pairs directly from the supplied hashes, and never downloads release assets to recompute them.
Partial or mixed legacy/verified input sets fail closed. The source repository remains responsible
for verifying the public release bytes immediately before dispatch and again after the tap update,
including its clean downstream Homebrew install proof. Each source-tag git fetch and
git ls-remote verification has a 60-second deadline and aborts the update on timeout.
Each successful verified dispatch must create one direct-child provenance commit; an already-current formula fails closed instead of reporting a trailerless no-op. The workflow revalidates the exact public source tag without credentials immediately before its one-shot push and again after proving that the remote tap branch equals the pushed commit.
Verified run titles are Update <formula> for <tag> (request-id=<id>; source-tag-object=<object>; source-tag-commit=<commit>). A changed formula commit records
Source-Repository, Source-Tag-Object, Source-Tag-Commit, and Request-ID trailers so callers
can bind the protected workflow run, resulting tap commit, and formula bytes to one handoff.
Python
79.4%
Ruby
19.0%
Shell
1.6%
Homebrew tap for openclaw
42
stars
311
commits
Python
primary language
Sep 10, 2026
updated

Homebrew tap for shipping OpenClaw CLI tools.
brew tap openclaw/tap
# formula
brew install openclaw/tap/<name>
# cask
brew install --cask openclaw/tap/<name>
axorc — Inspect and automate macOS Accessibility from the shellclawscan — Agent-skill security scanner harness for ClawHubclawdex — Local-first address book backed by Markdowncrabbox — Remote Linux test boxes for dirty worktrees and CI hydrationcrabfleet — Fleet management CLI for Crabbox workerscrawlbar — macOS menu bar control plane for local-first crawler CLIsdiscrawl — Mirror Discord into SQLite and search server history locallygitcrawl — Local GitHub issue and PR archive, search, and clusteringgogcli — Google CLI for Gmail, Calendar, Drive, Docs, Sheets, and moregraincrawl — Local-first Granola crawler into SQLite and Markdownnotcrawl — Local-first Notion crawler into SQLite and normalized Markdownocm — Manage isolated OpenClaw environments, runtimes, and servicesoctopool — Org-authenticated GitHub read relay and gh-compatible cache shimpeekaboo — Capture macOS screenshots and automate the desktopslacrawl — Go-based CLI for mirroring Slack workspace data into local SQLitetelecrawl — Telegram Desktop archive CLI with encrypted Git backupswacli — WhatsApp CLI built on whatsmeowwacrawl — Read-only WhatsApp Desktop archive CLIgoplaces — Modern Go client + CLI for the Google Places API (New)brew update
brew upgrade
brew uninstall <formula>
brew uninstall --cask <cask>
# casks only: remove user data
brew uninstall --cask --zap openclaw/tap/<name>
brew info openclaw/tap/<name> for per-tool caveats (permissions, setup steps, etc.).brew install openclaw/tap/ocm and update with brew upgrade openclaw/tap/ocm,
not ocm self update, which refuses to replace Homebrew-managed binaries.Formula updates have two automated paths. Source-repository release workflows dispatch
Update Formula for immediate updates. That workflow accepts a Homebrew formula token, a semantic release tag, and a
GitHub repository in owner/repo form. Optional artifact inputs must resolve to HTTPS release
assets and may use only the placeholders documented by the workflow. Downloads use a 30-second
socket inactivity timeout and stream archive bytes without imposing a size limit. This timeout
bounds stalled socket operations, not the total duration of a progressing download.
Every redirect destination is validated before it is requested: HTTPS is required, and
credentials and fragments are rejected. Relative HTTPS redirects remain supported. This
does not impose a public-only host policy: private, localhost, and numeric host spellings
such as 127.1, 2130706433, and 0x7f000001 remain allowed, subject to normal TLS
certificate verification. DNS/IP restrictions are outside this download contract.
Crabbox uses the ordinary four-target assets handoff after publication. The
Crabbox release process
completes its prepublication checks, including native proof, before publishing. Publication
establishes tap eligibility: the operator explicitly dispatches Update Formula with the tag and
four published archive names/hashes. The updater downloads and hashes all four canonical GitHub
release assets before writing, preserves maintained formula content, and succeeds when already
current. Reconciliation is an independent fallback for stable published releases. Retry a failed tap
handoff on its own; do not rebuild or republish to retry Homebrew.
Public native and proxy-only Go-install smokes remain required independent channel health checks,
not an additional approval gate for the tap. Installed-Homebrew smoke follows the update.
Crabbox's obsolete verified-hashes-v1 write mode fails with guidance to use ordinary assets;
caller-supplied hashes without public downloads cannot update that formula. Its read-only
--verify-source-tag-only check still accepts the complete verified-hash input set without writing.
Existing Formula/*.rb files own each tool's caveats and install instructions. The updater
preserves that content while changing release metadata. In legacy multi-target mode, a supplied
linux_url refreshes both the matching GitHub source-archive URL and its checksum. Maintain
formula-specific content here rather than in an upstream release workflow. Newly generated
formulae remain in memory until all required checksum downloads and rendering succeed, so
failed creation leaves no placeholder file.
For Gitcrawl, see the configuration reference
and gh shim migration to Octopool.
Reconcile Formulae is the self-healing fallback for formulae. Every three hours
it derives each source repository from the formula's GitHub homepage, compares the formula with that repository's latest
stable published release, and runs the same updater and checksum-download logic when the release is
newer. Invalid formula metadata is reported and skipped so later formulae are still inspected.
It never downgrades, skips drafts and prereleases, and makes no commit when every formula is
current. Manual reconciles default to dry-run and can target one formula. The reconciler reads public
release metadata and pushes with this tap's own GITHUB_TOKEN; it needs no cross-repository token or
other external credential. The dispatch path remains the preferred low-latency path.
OCM uses reconciliation directly: its three Rust-target archives are discovered from the formula, without a cross-repository dispatch token or a Linux ARM64 artifact. Installation preserves the published executable bytes, including the macOS Developer ID signature. Changes to the OCM formula or its updater run installed-Homebrew tests on macOS ARM64, macOS x86_64, and Linux x86_64, using the checked-out formula rather than the public tap.
Pull requests and updates to main run the updater and reconciler tests and validate every formula's
Ruby syntax. They also load the checked-out tap on every Homebrew OS/architecture combination,
including unsupported installation targets. Formulae must always define a URL; use an architecture
requirement to reject unsupported installs rather than leaving platform metadata empty.
Fleet release workflows use the optional assets JSON contract: exactly one name and sha256
for each Darwin/Linux amd64/arm64 target. The updater renders those names and hashes verbatim,
downloads all four public release assets, and refuses to commit on any digest mismatch. Legacy
multi-target updates preserve smaller target inventories and resources, but reject unrecognized
primary release assets before downloading or writing. Custom target names need target_aliases. Omitting
assets preserves the legacy template and filename-guessing behavior for older callers.
Other four-target binary releases can use the workflow's verified-hashes-v1 contract. Supply all four
canonical target SHA-256 inputs, source_tag_object, source_tag_commit, and request_id with an
explicit {target} artifact template. This mode requires an existing formula, checks that the live
source ref is the supplied annotated tag object and peeled commit, renders the target URL/checksum
pairs directly from the supplied hashes, and never downloads release assets to recompute them.
Partial or mixed legacy/verified input sets fail closed. The source repository remains responsible
for verifying the public release bytes immediately before dispatch and again after the tap update,
including its clean downstream Homebrew install proof. Each source-tag git fetch and
git ls-remote verification has a 60-second deadline and aborts the update on timeout.
Each successful verified dispatch must create one direct-child provenance commit; an already-current formula fails closed instead of reporting a trailerless no-op. The workflow revalidates the exact public source tag without credentials immediately before its one-shot push and again after proving that the remote tap branch equals the pushed commit.
Verified run titles are Update <formula> for <tag> (request-id=<id>; source-tag-object=<object>; source-tag-commit=<commit>). A changed formula commit records
Source-Repository, Source-Tag-Object, Source-Tag-Commit, and Request-ID trailers so callers
can bind the protected workflow run, resulting tap commit, and formula bytes to one handoff.
Python
79.4%
Ruby
19.0%
Shell
1.6%