# Kache: Zero-copy, content-addressed Rust build cache

**URL:** <https://forum.zcashcommunity.com/t/kache-zero-copy-content-addressed-rust-build-cache/56176>\
**Category:** Off Topic Lounge\
**Created:** [June 12, 2026, 1:20pm UTC](https://forum.zcashcommunity.com/t/kache-zero-copy-content-addressed-rust-build-cache/56176 "2026-06-12T13:20:42Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![ainhoa-zondax](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/ainhoa-zondax/32/27522_2.png) [@ainhoa-zondax](https://forum.zcashcommunity.com/u/ainhoa-zondax)\
**Post date:** [June 12, 2026, 1:20pm UTC](https://forum.zcashcommunity.com/t/kache-zero-copy-content-addressed-rust-build-cache/56176/1 "2026-06-12T13:20:42Z")

</div>

Hi Zcash community!

I wanted to share an open source project we’ve been working on recently that I think could be useful for the Zcash dev community. It’s called **kache** , a build cache for Rust. we’ve been using it internally for a while now.

It works like sccache if you’ve used that, a RUSTC\_WRAPPER you drop in, but cache hits restore into target/ as hardlinks instead of copying files around, and the store is content-addressed with blake3 so identical artifacts only get stored once. there’s optional S3 sync (MinIO, Ceph, R2, AWS) if you want to share the cache across a team or CI.

we just put out v0.5, and a lot of recent work has gone into making cache keys portable across checkouts and machines (path normalization, remap-path-prefix, configurable salt), which is the part that actually matters when you’re sharing a cache between CI runners.

Since a lot of you are building **zebra** or other heavy **Rust** workspaces, I figured this might save you some of the same pain it saved us. it’s Apache-2.0 and still young. one thing worth knowing up front: it turns off incremental compilation while it wraps rustc, which is a deliberate tradeoff. if you already run sccache, `kache doctor --fix` will migrate you over.

Repo is here: [https://github.com/kunobi-ninja/kache](https://github.com/kunobi-ninja/kache)  
[https://crates.io/crates/kache](https://crates.io/crates/kache)

Would love for people to try it.  
\*\*  
Install\*\*

```auto
# mise (recommended)
mise use -g github:kunobi-ninja/kache@latest

# cargo (build from source)
cargo install kache

# cargo-binstall (downloads pre-built binary, requires cargo-binstall)
cargo binstall kache

```

**Quick start**

```auto
# Interactive setup: configures ~/.cargo/config.toml, installs the
# background daemon as a login service, and starts it.
kache init

# Or accept all defaults non-interactively:
kache init -y

# Verify with:
kache doctor

```

---

<div class="post-metadata">

**Author:** ![jleni](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/jleni/32/14545_2.png) [@jleni](https://forum.zcashcommunity.com/u/jleni)\
**Post date:** [June 13, 2026, 9:10am UTC](https://forum.zcashcommunity.com/t/kache-zero-copy-content-addressed-rust-build-cache/56176/2 "2026-06-13T09:10:19Z")

</div>

It is great when you work a lot with LLMs…  
Kache saves a lot of storage.. A huge pain when dealing with a large amount of rust-based git worktrees!
