# Install capnp with Homebrew, scoop

Data interchange format and capability-based RPC system. Version 1.4.0 via Homebrew; verified 2026-05-04.

## Install

```sh
sudo av install brew:capnp
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install capnp
```

  Evidence: local Homebrew formula metadata

### Windows

- Scoop (92%):

```sh
scoop install main/capnp
```

  Evidence: Scoop official bucket manifest trees: bucket/capnp.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:capnp
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/capnp>
- **Version:** 1.4.0
- **Source summary:** Data interchange format and capability-based RPC system
- **Homepage:** <https://capnproto.org/>
- **Repository:** <https://github.com/capnproto/capnproto>
- **Upstream docs:** <https://capnproto.org/>
- **License:** MIT
- **Source archive:** <https://github.com/capnproto/capnproto/archive/refs/tags/v1.4.0.tar.gz>
- **Last updated:** 2026-05-04T12:53:05Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- capnp (cli)
- capnpc (cli)
- capnpc-c++ (cli)
- capnpc-capnp (cli)
- capnp (alias)
- capnpc (alias)
- capnpc-c++ (alias)
- capnpc-capnp (alias)

## Build dependencies

- cmake

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.4.0
- Package-manager updated: 2026-05-04
- Local data: ok
- Upstream repository: https://github.com/capnproto/capnproto
- Upstream latest detected: v1.4.0 (current)
## Project history and usage

Cap'n Proto is a binary data interchange format, schema language, code generator, and capability-based RPC system designed around zero-copy access, fast generated code, and object-capability RPC.

### Project history

Cap'n Proto was announced in 2013 by Kenton Varda, who had been the primary author of Protocol Buffers version 2 at Google. The official introduction presents Cap'n Proto as an answer to years of experience with Protocol Buffers: a binary format that avoids a separate encode/decode step by making the serialized format suitable as an in-memory representation.

The first official release, v0.1, was published on June 27, 2013. At that point the C++ implementation already covered schema files, code generation, file descriptor and stream I/O, text-format output, reflection, dynamic schemas, code-generator plugins, and Linux/macOS testing, while RPC and non-C++ implementations were still developing.

Over the following decade, Cap'n Proto grew from serialization into a full RPC stack and companion C++ toolkit, KJ. The official 1.0 announcement in July 2023 described Cap'n Proto as production-proven and released 1.0 as a long-term-support point before future C++ API work.

### Adoption history

The official introduction says Cap'n Proto was built for Sandstorm.io and is heavily used in Cloudflare Workers. The 1.0 announcement adds that Cloudflare had used it before employing Varda and that Cap'n Proto encoded enormous volumes of messages and data in production.

Cap'n Proto spread through package managers because it is both a compiler tool and a runtime library. The package metadata in this batch shows Homebrew and Scoop coverage, while the official site documents C++ plus implementations or bindings for other languages.

### How it is used

Users write .capnp schema files, compile them with capnp and language-specific plugins such as capnpc-c++, then use generated accessors to build, read, and traverse messages without a normal parse step.

Beyond local serialization, Cap'n Proto RPC is used for capability-style distributed object calls, promise pipelining, and patterns such as streaming through temporary RPC objects. It is commonly considered alongside Protocol Buffers, FlatBuffers, SBE, Thrift, Ice, and gRPC depending on whether the problem is schema encoding, RPC, or both.

### Why package nerds care

Cap'n Proto is a package-nerd landmark because a tiny command-line compiler sits at the intersection of ABI concerns, wire formats, generated code, language bindings, and RPC semantics. Packaging it correctly means shipping both the capnp compiler and the libraries plugins expect.

It is also one of the clearest examples of a serialization package becoming infrastructure: originally interesting for zero-copy encoding, then important as part of Cloudflare Workers and KJ's async C++ ecosystem.

### Timeline

- 2013-03: capnproto/capnproto repository is created on GitHub.
- 2013-04-01: Cap'n Proto is announced.
- 2013-06-27: First official release, v0.1, is published.
- 2013-12: Cap'n Proto v0.4 introduces time-traveling RPC.
- 2014: v0.5 adds features including generics, Visual C++, Java, C#, and Sandstorm.io-related work.
- 2021: v0.9 announcement says Cloudflare Workers Durable Objects make heavy use of Cap'n Proto RPC.
- 2023-07-28: Cap'n Proto 1.0 is released.

### Related projects

- Protocol Buffers is the explicit comparison point and personal predecessor for Kenton Varda.
- Sandstorm.io is named by the official introduction as an original target environment.
- Cloudflare Workers and workerd are named in official Cap'n Proto news as major production users and drivers of KJ work.
- KJ is the C++ toolkit developed with Cap'n Proto.
- FlatBuffers and SBE are serialization formats compared in Cap'n Proto's official news.

### Sources

- <https://api.github.com/repos/capnproto/capnproto>
- <https://capnproto.org/>
- <https://capnproto.org/news/2013-04-01-announcing-capn-proto.html>
- <https://capnproto.org/news/2013-06-27-capn-proto-beta-release.html>
- <https://capnproto.org/news/2021-08-14-capnproto-0.9.html>
- <https://capnproto.org/news/2023-07-28-capnproto-1.0.html>


## Security Notes

narrow executable package without higher-risk signals.

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

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** capnp
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Scoop - main/capnp: normalized package name match | Scoop official bucket manifest trees: bucket/capnp.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [bitcoin](https://www.automicvault.com/pkg/brew/bitcoin/) - Popular package that depends on this formula.
- [fastnetmon](https://www.automicvault.com/pkg/brew/fastnetmon/) - Popular package that depends on this formula.
- [groestlcoin](https://www.automicvault.com/pkg/brew/groestlcoin/) - Popular package that depends on this formula.
- [librime](https://www.automicvault.com/pkg/brew/librime/) - Popular package that depends on this formula.
- [surelog](https://www.automicvault.com/pkg/brew/surelog/) - Popular package that depends on this formula.
- [uhdm](https://www.automicvault.com/pkg/brew/uhdm/) - Popular package that depends on this formula.
- [libplist](https://www.automicvault.com/pkg/brew/libplist/) - Shares av.db curated category or tags: binary-format, cli, developer-tools, serialization.
- [flatbuffers](https://www.automicvault.com/pkg/brew/flatbuffers/) - Shares av.db curated category or tags: cli, developer-tools, serialization.
- [flatcc](https://www.automicvault.com/pkg/brew/flatcc/) - Shares av.db curated category or tags: cli, developer-tools, serialization.
- [nanopb](https://www.automicvault.com/pkg/brew/nanopb/) - Shares av.db curated category or tags: cli, developer-tools, serialization.
- [planus](https://www.automicvault.com/pkg/brew/planus/) - Shares av.db curated category or tags: cli, developer-tools, serialization.
- [protobuf-c](https://www.automicvault.com/pkg/brew/protobuf-c/) - Shares av.db curated category or tags: cli, developer-tools, serialization.
- [buffrs](https://www.automicvault.com/pkg/brew/buffrs/) - Shares av.db curated category or tags: cli, developer-tools, serialization.
- [dhall-json](https://www.automicvault.com/pkg/brew/dhall-json/) - Shares av.db curated category or tags: cli, developer-tools, serialization.
- [kaitai-struct-compiler](https://www.automicvault.com/pkg/brew/kaitai-struct-compiler/) - Local package facts share a topical domain. Shared terms: binary, binary-format, cli, data, developer.

## Combined YAML source

View the package source record on GitHub. [combined/capnp.yml](https://github.com/automic-vault/db/blob/main/combined/capnp.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
