toolprune · git:20261104.8a18593 · 2026-11-04 · sha256 7d30e8878e9e0596
toolprune git:20261104.8a18593A
Immutable. This exact content never changes and is served at /api/v1/blob/7d30e8878e9e0596.
--- name: toolprune description: Show the tools this repository's sessions load and never use, and deny or restore them in this checkout's .claude/settings.local.json when asked. disable-model-invocation: true --- # /eklavya:toolprune Every tool a session loads costs context on every request, used or not. Eklavya keeps, per repository, how many prompts and sessions have passed since each loaded tool was last used, and proposes the ones that went unused. It writes nothing until the developer says so. 1. Run `eklavya toolprune list` with Bash and show what it printed: each proposed tool with its evidence, and any tools Eklavya already denied. 2. If the developer passed `apply` (all of them) or named tools, run `eklavya toolprune apply [tool...]`. Say that the change takes effect from the next session, and that `eklavya toolprune restore` undoes it. 3. If they passed `restore`, run `eklavya toolprune restore [tool...]`. Say that restored tools are not proposed again. 4. If they asked what it saves, run `eklavya toolprune measure` and repeat its two lines as written: it counts listing lines of deferred tools only, and says it does not measure full definitions. Never edit `.claude/settings.local.json` yourself, and never apply without being asked: the deny list is the developer's file. `eklavya toolprune apply` refuses when `economy.toolprune` is `off`, when the file is not valid JSON, or when `.claude` leads out of the repository through a symlink; report its reason as written. Built-in tools Claude Code needs to work (Bash, Read, Edit, Write, the search and web tools, Agent, Skill, ToolSearch, AskUserQuestion) and every Eklavya tool are never proposed.