Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.getunbound.ai/llms.txt

Use this file to discover all available pages before exploring further.

If unbound --version fails, prints unexpected output, or seems to invoke a different program, another tool on your system likely owns the unbound name and is taking precedence on your PATH.

Diagnosis

Compare which binary each alias resolves to:
which unbound
which unbound-cli
If unbound-cli points at the Unbound CLI but unbound points elsewhere (or to nothing), something earlier on your PATH is shadowing it. Use unbound-cli directly while you investigate:
unbound-cli --version
Inspect the conflicting path:
type -a unbound
ls -l "$(which unbound)"

Common Causes

  • A package providing an unbound binary was installed before unbound-cli and lives in an earlier PATH entry (e.g. /usr/local/bin, /opt/homebrew/bin, /usr/sbin). The system DNS resolver unbound from NLnet Labs is a frequent culprit on macOS and Linux.
  • A shell alias or function defined in ~/.zshrc, ~/.bashrc, or ~/.profile is overriding the command. Check with alias unbound and type unbound.
  • A previous install left a stale symlink. Remove it, or reorder your PATH so the npm global bin directory comes first.

Fix

Find your npm global bin directory:
npm config get prefix
The bin directory is the prefix path with /bin appended (e.g. /usr/local/bin or /opt/homebrew). Add it to the front of your PATH in ~/.zshrc or ~/.bashrc:
export PATH="$(npm config get prefix)/bin:$PATH"
Reload your shell:
source ~/.zshrc   # or ~/.bashrc
Once which unbound and which unbound-cli resolve to the same path under your npm global install, the conflict is resolved.