Skip to content

macOS/Linux brew install commands fail on Homebrew 6 untrusted-tap refusal; add 'brew trust viamrobotics/brews' #5215

Description

@btshrewsbury-viam

Problem

Following the documented macOS install commands for the Viam CLI fails on current Homebrew:

brew tap viamrobotics/brews
brew install viam

fails with:

Error: Refusing to load formula viamrobotics/brews/viam from untrusted tap viamrobotics/brews

Homebrew 6.0.0 made tap trust mandatory: formulae from third-party taps refuse to load until the user explicitly trusts them.

Following the error message's own suggestion also fails, because formula-level trust does not extend to dependencies from the same tap:

brew trust --formula viamrobotics/brews/viam
brew install viam
Error: Refusing to load formula viamrobotics/brews/nlopt-static from untrusted tap viamrobotics/brews

(viam depends on nlopt-static from the same tap.) The working sequence trusts the whole tap:

brew tap viamrobotics/brews
brew trust viamrobotics/brews
brew install viam

Reported by Nat in Slack, 2026-07-14; hit both failures following the docs verbatim.

Affected docs

Every brew-based install of viam or viam-server hits the same refusal:

  • static/include/how-to/install-cli.md — canonical CLI install include, macOS tab and the Linux x86_64 brew alternative. Embedded on 5 pages: docs/cli/overview.md, docs/set-up-a-machine/with-cli.md, docs/data/export-data.md, docs/data/visualize-data.md, docs/tutorials/custom/custom-base-dog.md.
  • docs/try/part-3.md — inline copy of the same two commands.
  • docs/reference/viam-server.mdbrew tap viamrobotics/brews && brew install viam-server (macOS tab).

Proposed fix

Add brew trust viamrobotics/brews between the tap and install commands in all three files:

brew tap viamrobotics/brews
brew trust viamrobotics/brews
brew install viam

Trusting the whole tap (rather than per-formula) is required because of the same-tap nlopt-static dependency, and is scoped to viamrobotics formulae only. brew trust exists since Homebrew 5.1.15 and is a no-op-safe addition for users who have already trusted the tap.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions