pi-better-ctx
Pi Coding Agent extension that routes bash, read, grep, find, and ls through better-ctx for 60-90% token savings
Package details
Install pi-better-ctx from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-better-ctx- Package
pi-better-ctx- Version
3.1.0- Published
- Apr 14, 2026
- Downloads
- 517/mo · 23/wk
- Author
- azeno
- License
- MIT
- Types
- extension
- Size
- 21.9 KB
- Dependencies
- 0 dependencies · 2 peers
Pi manifest JSON
{
"extensions": [
"./extensions"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-better-ctx
Pi Coding Agent extension that routes all tool output through better-ctx for 60–90% token savings.
What it does
Overrides Pi's built-in tools to route them through better-ctx:
| Tool | Compression |
|---|---|
bash |
All shell commands compressed via better-ctx's 90+ patterns |
read |
Smart mode selection (full/map/signatures) based on file type and size |
grep |
Results grouped and compressed via ripgrep + better-ctx |
find |
File listings compressed and .gitignore-aware |
ls |
Directory output compressed |
Install
# 1. Install better-ctx (if not already installed)
cargo install better-ctx
# or: brew tap jadzeino/betterctx-client && brew install better-ctx
# 2. Install the Pi package
pi install npm:pi-better-ctx
Binary Resolution
The extension locates the better-ctx binary in this order:
BETTER_CTX_BINenvironment variable~/.cargo/bin/better-ctx~/.local/bin/better-ctx(Linux) or%APPDATA%\Local\better-ctx\better-ctx.exe(Windows)/usr/local/bin/better-ctx(macOS/Linux)better-ctxon PATH
Smart Read Modes
The read tool automatically selects the optimal better-ctx mode:
| File Type | Size | Mode |
|---|---|---|
.md, .json, .toml, .yaml, etc. |
Any | full |
| Code files (55+ extensions) | < 24 KB | full |
| Code files | 24–160 KB | map (deps + API signatures) |
| Code files | > 160 KB | signatures (AST extraction) |
| Other files | < 48 KB | full |
| Other files | > 48 KB | map |
Code extensions include: .rs, .ts, .tsx, .js, .jsx, .py, .go, .java, .c, .cpp, .cs, .rb, .php, .swift, .kt, .vue, .svelte, .astro, .html, .css, .scss, .lua, .zig, .dart, .scala, .sql, .graphql, .proto, .tf, .sh, .bash, .zsh, .fish, .ps1, and more.
Partial reads (with offset/limit) are also routed through better-ctx using lines:N-M mode for compression.
Slash Command
Use /better-ctx in Pi to check which binary is being used.
Links
- better-ctx — The Cognitive Filter for AI Engineering
- GitHub
- Discord