Run kache <command> --help for the exact syntax in your installed version.
| Command | Purpose |
|---|---|
cargo | Run Cargo with duplicate Cargo-home rustflags collapsed |
list | Inspect local entries |
gc | Evict local entries |
purge | Remove local cache entries |
clean | Remove Cargo target directories below the current directory |
init | Configure Cargo and optionally install the daemon service |
doctor | Diagnose setup and store integrity |
sync | Pull from and push to a remote |
save-manifest | Publish build metadata for later prefetch |
daemon | Inspect and manage the background daemon |
monitor | Open the live dashboard |
stats | Print a non-interactive summary |
why-miss | Explain a crate's recent key change |
report | Produce text, Markdown, JSON, or trace output |
config | Open the configuration editor |
install-shims | Create Unix compiler-name symlinks |
completions | Generate shell completion scripts |
kache cargo
kache cargo -- build
kache cargo -- test --workspace
Pass Cargo arguments after --. On Cargo 1.91 or newer, this command can keep intermediate worktree state separate while coordinating a shared final target directory.
kache list
kache list
kache list serde
kache list --sort size --no-pager
Sort values are name, size, hits, and age.
Interactive output uses KACHE_PAGER, then PAGER, then a platform default. --no-pager writes directly.
kache gc
kache gc
kache gc --max-age 7d
kache gc --stale-schema
A bare run enforces configured size and age policies. --max-age runs the requested age policy. --stale-schema removes entries created with old or unrecorded key schemas and conflicts with --max-age.
GC affects only the local store.
kache purge
kache purge --crate-name serde
kache purge
With no crate name, purge wipes the entire local cache after confirmation.
kache clean
kache clean
kache clean --dry-run --yes
kache clean --yes
clean recursively finds target/ directories below the current directory. The default opens a selector. Use --dry-run --yes before a scripted --yes run.
kache init
kache init
kache init --check
kache init --no-service
kache init --yes
--check reports proposed changes without writing. --no-service skips login-service installation.
kache doctor
kache doctor
kache doctor --fix
kache doctor --verify
kache doctor --checksums
kache doctor --repair
--fixrepairs supported setup issues and can migrate sccache configuration.--purge-sccachealso removes sccache data and requires--fix.--verifychecks entries, blobs, and metadata.--checksumsalso hashes blob contents and implies--verify.--repairremoves corrupted entries and implies--verify.
Review destructive options before running them.
kache sync
kache sync
kache sync --pull
kache sync --push
kache sync --dry-run
kache sync --pull --workspace
kache sync --pull --all
Options:
| Flag | Effect |
|---|---|
--manifest-path <PATH> | Select Cargo manifest for push-side workspace filtering |
--pull | Skip uploads |
--push | Skip downloads |
--dry-run | Plan without transfer |
--all | Ignore normal pull filtering |
--workspace | Scope pull discovery to workspace members; conflicts with --all |
--allow-partial | Exit successfully despite reported transfer/import failures |
See Sync for filtering semantics.
kache save-manifest
kache save-manifest
kache save-manifest --manifest-key x86_64-linux-release
kache save-manifest --namespace x86_64-unknown-linux-gnu/rustc-hash/release
The default manifest key is the host target triple. A namespace plus Cargo.lock also publishes content-addressed shards.
kache daemon
kache daemon # status
kache daemon status
kache daemon run
kache daemon start
kache daemon stop
kache daemon restart
kache daemon install
kache daemon uninstall
kache daemon log
See Daemon lifecycle.
kache monitor
kache monitor
kache monitor --since 7d
See Monitor.
kache stats
kache stats
kache stats --since 1h
The default window is 24 hours.
kache why-miss
kache why-miss serde
The command compares recorded key material for the named rustc crate and reports changed input groups.
kache report
kache report --format text --since 24h
kache report --format markdown --root "$PWD"
kache report --format json --output report.json
kache report --format trace --output trace.json
| Flag | Default | Values or purpose |
|---|---|---|
--format | text | json, trace, perfetto, chrome-trace, markdown, github, text |
--since | 24h | Event window |
--root | all roots | Include events from one build tree |
--output, -o | stdout | Write to a file |
--top | 10 | Number of ranked entries |
trace, perfetto, and chrome-trace select the same trace representation. The JSON contract is documented by report.schema.json.
kache config
kache config
This command can open even when the current config file is invalid. See Configuration.
kache install-shims
kache install-shims ~/.local/lib/kache/shims
kache install-shims --force ~/.local/lib/kache/shims
This Unix command creates cc, c++, gcc, g++, clang, and clang++ symlinks to Kache. Put the directory before the real compilers in PATH.
kache completions
kache completions zsh > ~/.zfunc/_kache
kache completions bash > ~/.local/share/bash-completion/completions/kache
kache completions fish > ~/.config/fish/completions/kache.fish
Supported shells are Bash, Elvish, Fish, PowerShell, and Zsh.