{"slug": "cap-n-proto", "name": "Cap'n Proto", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 5, "commenters": 9, "warners": 0, "score": 5.417, "rising": -0.31, "first": "2025-11-12", "latest": "2026-09-04", "why": "Some nice Object Capability technologies not mentioned in the Wikipedia article", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 5, "neutral": 4, "compare": 1, "warn": 0}, "spark": [0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "Some nice Object Capability technologies not mentioned in the Wikipedia article", "kind": "", "icon": false, "domain": "capnproto.org", "github_repo": null, "official_url": "https://capnproto.org", "pricing": "", "aliases": ["Cap'n Proto", "Capnproto", "Cap\u2019n Proto"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 793014528, "item_id": 49563408, "url": "https://news.ycombinator.com/item?id=49563408", "by": "rapnie", "date": "2026-09-04", "version": null, "stance": "recommend", "quote": "Some nice Object Capability technologies not mentioned in the Wikipedia article", "excerpt": "Some nice Object Capability technologies not mentioned in the Wikipedia article: https://capnproto.org (used by Cloudflare) https://spritely.institute/goblins (with wasm support via Hoot) https://ocapn.org (where things come together in a future open standard)", "context": "", "use_case": "", "switched_from": "", "story": "Authorization terminology is a mess: Let's fix it"}, {"id": 782145921, "item_id": 48884120, "url": "https://news.ycombinator.com/item?id=48884120", "by": "seanhunter", "date": "2026-07-12", "version": null, "stance": "recommend", "quote": "People who want protobuf but better often settle for something like cap\u2019n proto", "excerpt": "People who want protobuf but better often settle for something like cap\u2019n proto https://capnproto.org/", "context": "", "use_case": "", "switched_from": "", "story": "Protobuf-py: Protobuf for Python, without compromises"}, {"id": 764499841, "item_id": 47781240, "url": "https://news.ycombinator.com/item?id=47781240", "by": "jauntywundrkind", "date": "2026-04-15", "version": null, "stance": "recommend", "quote": "Capnproto has promise pipelining where you can issue new instructions with results you don't have yet.", "excerpt": "It could be a cli tool, and it should be a cli tool, for exactly this reason. Let the LLM work in code mode. Don't make it have to be the execution engine too. It can do it but it's slow and giving it tools script what it wants will go far better. I do think there's an interesting possibility where we turn MCP into something composable. Capnproto has promise pipelining where you can issue new instructions with result", "context": "", "use_case": "", "switched_from": "", "story": "MCP as Observability Interface: Connecting AI Agents to Kernel Tracepoints"}, {"id": 756796656, "item_id": 47299791, "url": "https://news.ycombinator.com/item?id=47299791", "by": "drathier", "date": "2026-03-08", "version": null, "stance": "recommend", "quote": "has been my goto since forever", "excerpt": "https://capnproto.org/ has been my goto since forever. Made by the protobuf inventor", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: Skir \u2013 A schema language I built after 15 years of Protobuf friction"}, {"id": 748471872, "item_id": 46779492, "url": "https://news.ycombinator.com/item?id=46779492", "by": "AkshatM", "date": "2026-01-27", "version": null, "stance": "recommend", "quote": "It is heavily used at Cloudflare, though", "excerpt": "I asked Kenton Varda (the creator) this one after discovering all its cool capabilities, and it seems like promoting it just hasn't been a focus. It is heavily used at Cloudflare, though, and is the basis for a lot of cool stuff we're doing: https://blog.cloudflare.com/capnweb-javascript-rpc-library/", "context": "", "use_case": "Serialization and RPC", "switched_from": "", "story": "Cap'n Proto"}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["rpc between cells", "serialization and rpc", "serialization / rpc"], "compared": [{"slug": "protocol-buffers", "name": "Protocol Buffers", "co": 3, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 760902529, "item_id": 47556408, "url": "https://news.ycombinator.com/item?id=47556408", "by": "kentonv", "date": "2026-03-28", "version": null, "stance": "recommend", "quote": "Cloudflare makes heavy use of Cap'n Proto", "excerpt": "Cloudflare Workers is a big on capabilities. The recently released Dynamic Workers directly provides an API for capability-based sandboxing: https://developers.cloudflare.com/dynamic-workers/usage/bindings/ But the platform has used caps internally all along. Cloudflare makes heavy use of Cap'n Proto (https://capnproto.org/), a capability-based RPC protocol, and recently released Cap'n Web (https://capnweb.dev/), a J", "context": "", "use_case": "", "switched_from": "", "story": "Capability-Based Security for Redox: Namespace and CWD as Capabilities"}, {"id": 757165424, "item_id": 47322839, "url": "https://news.ycombinator.com/item?id=47322839", "by": "kentonv", "date": "2026-03-10", "version": null, "stance": "recommend", "quote": "the implementation of Cap'n Proto is quite a bit simpler than Protobuf", "excerpt": "> flatbuffers and capnproto are in the game of trying to make serialization to binary format as efficient as possible. Little-understood fact about Cap'n Proto: Serialization is not the game at all. The RPC system is the whole game, the serialization was just done as a sort of stunt. Indeed, unless you are mmap()ing huge files, the serialization speed doesn't really matter. Though I would say the implementation of Ca", "context": "author of Cap'n Proto and Cap'n Web", "use_case": "Serialization and RPC", "switched_from": "", "story": "Show HN: Skir \u2013 A schema language I built after 15 years of Protobuf friction"}], "threads": [{"url": "https://news.ycombinator.com/item?id=47299022", "title": "Show HN: Skir \u2013 A schema language I built after 15 years of Protobuf friction", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=46739043", "title": "Cap'n Proto", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=49522367", "title": "Authorization terminology is a mess: Let's fix it", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48827058", "title": "Protobuf-py: Protobuf for Python, without compromises", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47961935", "title": "Show HN: Pollen \u2013 distributed WASM runtime, no control plane, single binary", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47778617", "title": "MCP as Observability Interface: Connecting AI Agents to Kernel Tracepoints", "mentions": 1}], "sentiment_by_month": {"2025-11": {"neutral": 1}, "2025-12": {}, "2026-01": {"compare": 1, "neutral": 1, "recommend": 1}, "2026-02": {}, "2026-03": {"recommend": 1}, "2026-04": {"neutral": 1, "recommend": 1}, "2026-05": {"neutral": 1}, "2026-06": {}, "2026-07": {"recommend": 1}, "2026-08": {}, "2026-09": {"recommend": 1}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "quotes": [{"id": 793014528, "item_id": 49563408, "url": "https://news.ycombinator.com/item?id=49563408", "by": "rapnie", "date": "2026-09-04", "version": null, "stance": "recommend", "quote": "Some nice Object Capability technologies not mentioned in the Wikipedia article", "excerpt": "Some nice Object Capability technologies not mentioned in the Wikipedia article: https://capnproto.org (used by Cloudflare) https://spritely.institute/goblins (with wasm support via Hoot) https://ocapn.org (where things come together in a future open standard)", "context": "", "use_case": "", "switched_from": "", "story": "Authorization terminology is a mess: Let's fix it"}, {"id": 782145921, "item_id": 48884120, "url": "https://news.ycombinator.com/item?id=48884120", "by": "seanhunter", "date": "2026-07-12", "version": null, "stance": "recommend", "quote": "People who want protobuf but better often settle for something like cap\u2019n proto", "excerpt": "People who want protobuf but better often settle for something like cap\u2019n proto https://capnproto.org/", "context": "", "use_case": "", "switched_from": "", "story": "Protobuf-py: Protobuf for Python, without compromises"}, {"id": 767870994, "item_id": 47991937, "url": "https://news.ycombinator.com/item?id=47991937", "by": "omginternets", "date": "2026-05-02", "version": null, "stance": "neutral", "quote": "inter-cell calls go over object-capability RPC (Cap\u2019n Proto)", "excerpt": "Oh wow, this hits close to home. Hope it\u2019s not bad form to plug an adjacent project on your post \u2014 felt too aligned not to, and it seems like we've converged on quite similar ideas! I\u2019ve been working on Wetware [0], which has significant overlap on the substrate (P2P WASM, content-addressed, single binary, no control plane). Different design center, though. Wetware is aimed at people building multi-tool agent product", "context": "", "use_case": "RPC between cells", "switched_from": "", "story": "Show HN: Pollen \u2013 distributed WASM runtime, no control plane, single binary"}, {"id": 764499841, "item_id": 47781240, "url": "https://news.ycombinator.com/item?id=47781240", "by": "jauntywundrkind", "date": "2026-04-15", "version": null, "stance": "recommend", "quote": "Capnproto has promise pipelining where you can issue new instructions with results you don't have yet.", "excerpt": "It could be a cli tool, and it should be a cli tool, for exactly this reason. Let the LLM work in code mode. Don't make it have to be the execution engine too. It can do it but it's slow and giving it tools script what it wants will go far better. I do think there's an interesting possibility where we turn MCP into something composable. Capnproto has promise pipelining where you can issue new instructions with result", "context": "", "use_case": "", "switched_from": "", "story": "MCP as Observability Interface: Connecting AI Agents to Kernel Tracepoints"}, {"id": 763683169, "item_id": 47730198, "url": "https://news.ycombinator.com/item?id=47730198", "by": "jFriedensreich", "date": "2026-04-11", "version": null, "stance": "neutral", "quote": "It used to be annoying to write capnp by hand", "excerpt": "There are tons that are all too simple or too complex or made for mesh networking in k8, or too slow and made for debugging. My go-to solution is to make ad-hoc proxies with workerd that work just the way i need and compile to a \"binary\". It used to be annoying to write capnp by hand but now you just point an agent at worker.capnp and tell it what you need. The output is concise enough to be nice for proper reviewing", "context": "", "use_case": "", "switched_from": "", "story": "NanoClaw's Architecture Is a Masterclass in Doing Less"}, {"id": 756796656, "item_id": 47299791, "url": "https://news.ycombinator.com/item?id=47299791", "by": "drathier", "date": "2026-03-08", "version": null, "stance": "recommend", "quote": "has been my goto since forever", "excerpt": "https://capnproto.org/ has been my goto since forever. Made by the protobuf inventor", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: Skir \u2013 A schema language I built after 15 years of Protobuf friction"}, {"id": 748471872, "item_id": 46779492, "url": "https://news.ycombinator.com/item?id=46779492", "by": "AkshatM", "date": "2026-01-27", "version": null, "stance": "recommend", "quote": "It is heavily used at Cloudflare, though", "excerpt": "I asked Kenton Varda (the creator) this one after discovering all its cool capabilities, and it seems like promoting it just hasn't been a focus. It is heavily used at Cloudflare, though, and is the basis for a lot of cool stuff we're doing: https://blog.cloudflare.com/capnweb-javascript-rpc-library/", "context": "", "use_case": "Serialization and RPC", "switched_from": "", "story": "Cap'n Proto"}, {"id": 747950848, "item_id": 46746928, "url": "https://news.ycombinator.com/item?id=46746928", "by": "jauntywundrkind", "date": "2026-01-24", "version": null, "stance": "neutral", "quote": "", "excerpt": "Also note cap'n web, which is half a year old more web friendly version, https://news.ycombinator.com/item?id=45332883 https://blog.cloudflare.com/capnweb-javascript-rpc-library/", "context": "", "use_case": "", "switched_from": "", "story": "Cap'n Proto"}, {"id": 747695184, "item_id": 46730949, "url": "https://news.ycombinator.com/item?id=46730949", "by": "rozenmd", "date": "2026-01-23", "version": null, "stance": "compare", "quote": "", "excerpt": "\"5 times faster\" reminds me of Cap'n Proto's claim: in benchmarks, Cap\u2019n Proto is INFINITY TIMES faster than Protocol Buffers: https://capnproto.org/", "context": "", "use_case": "", "switched_from": "", "story": "Replacing Protobuf with Rust to go 5 times faster"}, {"id": 734551072, "item_id": 45909442, "url": "https://news.ycombinator.com/item?id=45909442", "by": "germandiago", "date": "2025-11-12", "version": null, "stance": "neutral", "quote": "my usual approach has been to use C++ paired with Capnproto", "excerpt": "As a person who looks always at Java and C sharp with curiosity, I am a bit divided. For me C#'s value is obvious in the frontend and also games compared to Java (except for mobile, where Java can be used but Kotlin seems best). But for the backend I always wonder if I should invest more on C# or Java as I go. Also, it worries me that Java is a memory hog, which C# seems not to be. I like to have lean server-side sof", "context": "", "use_case": "Serialization / RPC", "switched_from": "", "story": ".NET 10"}]}