# Install goat with Homebrew, apk, MacPorts, Nix

General purpose AT Protocol CLI in Go. Version 0.2.3 via Homebrew; verified 2026-07-25. Also installable with nix: nix profile install nixpkgs#goat.

## Install

```sh
sudo av install brew:goat
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install goat
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install goat
```

  Evidence: MacPorts ports tree: graphics/goat/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add goat
```

  Evidence: Alpine Linux edge package indexes: goat from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#goat
```

  Evidence: nixpkgs package indexes: pkgs/by-name/go/goat/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:goat
- **Package manager:** Homebrew
- **Version:** 0.2.3
- **Source summary:** General purpose AT Protocol CLI in Go
- **Homepage:** <https://github.com/bluesky-social/goat>
- **Repository:** <https://github.com/bluesky-social/goat>
- **Last updated:** 2026-07-25T20:55:23-04:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- goat (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.2.3
## Project history and usage

goat is the Bluesky Social Go command-line tool for the AT Protocol, described by its README as a general-purpose atproto CLI similar in spirit to curl. It gives developers and operators a shell-native way to inspect records, stream the firehose, work with PLC identity data, migrate accounts, administer PDS instances, and call XRPC endpoints.

### Project history

The AT Protocol project emerged from Bluesky's protocol work: Bluesky described its spring 2022 ADX work as the first iteration, then announced the Authenticated Transfer Protocol on October 18, 2022. The protocol centers on portable identities, signed repositories, federation, Lexicon schemas, and HTTP/WebSocket synchronization.

goat was forked from the Bluesky indigo codebase in August 2025 and had its first tagged release, v0.1.0, on August 12, 2025. Subsequent releases added and reorganized account, PDS admin, lexicon, dependency, and XRPC capabilities while tracking the evolving indigo SDK.

### Adoption history

goat serves the AT Protocol developer and operations community rather than end users of the Bluesky app. The surrounding ecosystem had already encouraged third-party work: by October 2023, Bluesky documentation described developers building bots, clients, feed generators, and future applications on atproto.

The Homebrew formula packages goat as a direct CLI install path for users who want an atproto toolbox without building from source. Its README also documents prebuilt binaries, Debian/Ubuntu packages, and go install.

### How it is used

goat is used to resolve identities, list and fetch at:// records, export repositories and blobs, inspect PLC history, tail PLC operations, subscribe to relay firehose events, post through Bluesky APIs, manage lexicons, and make XRPC query or procedure calls. Some commands are public; account-modifying commands require login with an app password.

### Why package nerds care

goat is interesting to package maintainers because it turns a fast-moving protocol stack into a reproducible local executable. For developers exploring atproto, it is the low-friction bridge between shell workflows, jq pipelines, Go-based SDK code, and network services such as PDSes, relays, PLC, Lexicon, and XRPC.

Its presence in package managers is also a sign of the AT Protocol ecosystem maturing beyond one hosted application: protocol developers need inspection, migration, and admin tools just as much as client libraries.

### Timeline

- 2022: Bluesky announced ADX had become the Authenticated Transfer Protocol.
- 2023: Bluesky documentation invited developers to build bots, clients, feeds, and other projects on atproto.
- 2025: goat was forked from indigo and tagged v0.1.0.
- 2025: goat v0.2.0 added more lexicon management commands and required Go 1.25.
- 2026: goat v0.2.3 added the first version of the xrpc subcommand.

### Related projects

- goat is closely related to the AT Protocol, Bluesky, indigo, Personal Data Servers, relays, PLC identity infrastructure, Lexicon schemas, and the XRPC HTTP API model.

### Sources

- <https://atproto.com/guides/overview>
- <https://bsky.social/about/blog/10-18-2022-the-at-protocol>
- <https://docs.bsky.app/blog/building-on-atproto>
- <https://docs.bsky.app/docs/advanced-guides/atproto>
- <https://github.com/bluesky-social/goat>
- <https://raw.githubusercontent.com/bluesky-social/goat/main/CHANGELOG.md>
- <https://raw.githubusercontent.com/bluesky-social/goat/main/README.md>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Credential files

- Unix: $XDG_STATE_HOME/goat/auth-session.json, ~/.local/state/goat/auth-session.json
## Other Package-Manager Records

- Nix - goat: normalized package name match | nixpkgs package indexes: pkgs/by-name/go/goat/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - goat - 0.2.3-r1: normalized package name match | Alpine Linux edge package indexes: goat from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Go AT protocol CLI tool | https://github.com/bluesky-social/goat
- apk - goat-doc - 0.2.3-r1: normalized package name match | Alpine Linux edge package indexes: goat-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Go AT protocol CLI tool (documentation) | https://github.com/bluesky-social/goat
- MacPorts - goat: normalized package name match | MacPorts ports tree: graphics/goat/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/goat.yml](https://github.com/mxcl/pkgdb/blob/main/combined/goat.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
