95+ Command Patterns.
Transparent Compression.
The shell hook intercepts CLI output before your AI sees it. Git diffs, npm installs, cargo builds, docker logs - all compressed to their essential information. No configuration, no aliases to learn.
How it works.
The shell hook wraps your commands transparently. The AI sees compressed output - you see nothing different.
Command
AI runs git status
Hook
lean-ctx intercepts output
Compress
Pattern-matched reduction
Result
AI sees compact output
Every tool you already use.
lean-ctx recognizes output patterns from all major developer tools and compresses each one with purpose-built rules.
Version Control
JavaScript / Node
Rust
Containers & Orchestration
Python
System & Utils
See the difference.
On branch feature/auth
Your branch is ahead of 'origin/feature/auth'
by 3 commits.
(use "git push" to publish your local
commits)
Changes to be committed:
(use "git restore --staged <file>..."
to unstage)
new file: src/session.ts
modified: src/login.ts
modified: src/api.ts
Changes not staged for commit:
(use "git add <file>..." to update
what will be committed)
(use "git restore <file>..." to
discard changes in working directory)
modified: src/session.ts
Untracked files:
(use "git add <file>..." to include
in what will be committed)
src/session.test.ts feature/auth ↑3 staged: +session.ts ~login.ts ~api.ts unstaged: ~session.ts untracked: session.test.ts [534 tok saved (87%)]
Every command, compressed.
npm warn deprecated inflight@1.0.6: This module is not supported... npm warn deprecated glob@7.2.3: Glob versions prior to v9... npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4... added 847 packages, and audited 848 packages in 12s 127 packages are looking for funding run `npm fund` for details found 0 vulnerabilities
✓ 847 packages 12s ⚠ 3 deprecated (inflight, glob, rimraf) 0 vulnerabilities [385 tok saved (92%)]
Compiling proc-macro2 v1.0.86
Compiling unicode-ident v1.0.12
Compiling syn v2.0.72
Compiling serde_derive v1.0.204
Compiling serde v1.0.204
Compiling tokio v1.39.2
Compiling lean-ctx v2.1.0
Finished `dev` profile [unoptimized
+ debuginfo] target(s) in 24.3s ✓ build dev 24.3s 7 crates compiled [280 tok saved (90%)]
Works independently
The shell hook operates independently of the context server. AI tools that haven't been configured yet still benefit from compressed shell output. The hook intercepts at the shell level, so every tool that runs commands gets savings.
Pattern coverage at a glance.
Docker & Container Environments
In containers, non-interactive shells skip ~/.bashrc. Set BASH_ENV to point at lean-ctx's dedicated env.sh file, which has no interactive-mode guard. For Claude Code, also set CLAUDE_ENV_FILE.
# In your Dockerfile:
ENV BASH_ENV="/root/.lean-ctx/env.sh"
ENV CLAUDE_ENV_FILE="/root/.lean-ctx/env.sh" lean-ctx includes self-healing: if the env.sh file is removed (e.g., by a container rebuild), lean-ctx init --global re-creates it automatically.
Need full output? Use raw mode.
When you need uncompressed output, bypass compression with a single flag. No more silent data loss - truncation is always transparent.
# CLI flag - skip compression for one command
lean-ctx -c --raw kubectl get pods -o yaml
# Shell function - quick bypass
lean-ctx-raw gh pr view 42
# Kill-switch - disable ALL compression
LEAN_CTX_DISABLED=1 lean-ctx -c git log
# MCP parameter - for AI agents
ctx_shell(command="cat config.json", raw=true) Start saving with every command.
One setup command enables the shell hook for your shell. Every AI command thereafter is automatically compressed.