Installation
Install Bing Webmaster CLI (bwt) from a checksum-verified prebuilt binary or build it from source.
Install script (recommended)
For macOS and Linux. The script downloads the latest release for your OS and architecture, checks its
SHA-256 checksum, and installs bwt to ~/.local/bin:
curl -fsSL https://raw.githubusercontent.com/piyush-gambhir/bing-webmaster-cli/main/install.sh | shPin a version or change the install directory:
curl -fsSL https://raw.githubusercontent.com/piyush-gambhir/bing-webmaster-cli/main/install.sh | VERSION=v0.1.2 sh
curl -fsSL https://raw.githubusercontent.com/piyush-gambhir/bing-webmaster-cli/main/install.sh | INSTALL_DIR=/usr/local/bin shAnother program, Bitcoin Wallet Tracker, also installs a binary named bwt. The installer warns when a
different bwt comes first on your PATH, and bwt doctor checks for it too.
Download a release manually
Each GitHub release has
bing-webmaster-cli_<os>_<arch>.tar.gz archives for darwin and linux (amd64 or arm64) and
bing-webmaster-cli_windows_<arch>.zip for Windows. Extract bwt and put it on your PATH.
checksums.txt lists the SHA-256 of every archive.
Verify a download
Releases are immutable once published. Every archive ships with an SBOM and a signed build-provenance attestation, so you can confirm it was built by the repository's release workflow:
gh attestation verify bing-webmaster-cli_darwin_arm64.tar.gz --repo piyush-gambhir/bing-webmaster-cliBuild from source
Requires Go 1.26 or later:
git clone https://github.com/piyush-gambhir/bing-webmaster-cli.git
cd bing-webmaster-cli/cli-go
make install # installs to $GOBIN or $(go env GOPATH)/binCheck and update
bwt version # build info, plus the latest version from the last release check
bwt doctor # configuration, credentials, default site, and PATH; no Bing calls
bwt update --check # is a newer release out? (-o json for scripts)
bwt update # asks, then installs it after SHA-256 verificationbwt update works on macOS, Linux, and Windows. It downloads the release archive for your platform,
checks it against the release's checksums.txt, and replaces the running executable. On Windows the old
executable is renamed to bwt.exe.old and deleted the next time bwt starts. --yes (-y) skips the
question, and --no-input requires --yes. If the install directory is not writable, the update stops and
the old binary keeps working: re-run with sudo, or reinstall with the install script into a directory you
own. A bwt in a Go bin directory ($GOBIN, $GOPATH/bin, or ~/go/bin) came from a source build, so
bwt update tells you to run git pull && make install in your checkout instead of replacing it.
Update notice
In an interactive terminal, bwt checks the github.com release page for a new release at most once a day
(not the GitHub API, so its per-IP rate limit never applies). When one is out, it
prints a notice on stderr after the command's output, at most once a day per version:
A new version of bwt is available: v0.1.3 -> v0.1.4
Update with: bwt update
Release notes: https://github.com/piyush-gambhir/bing-webmaster-cli/releases/tag/v0.1.4Only the one command a day that runs the check waits for its answer, at most 1 second after its output;
every other command uses the cached answer and never waits. bwt update and bwt update --check store
what they find in the same cache. The check never runs (no network, no output) when:
- stderr is not a terminal (pipes, scripts, coding agents),
CIis set,--quietorBWT_QUIET=1is on,BWT_NO_UPDATE_NOTIFIERorNO_UPDATE_NOTIFIERis set to any value, or- the command is
update,version,completion, orhelp.
To turn it off for good, add export BWT_NO_UPDATE_NOTIFIER=1 to your shell profile.