fast-jev-compaction
A Claude Code plugin that prunes stale tool calls instead of summarizing old history and keeps everything else verbatim
Medium risk
We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.
Why this level
- Sends the whole conversation to the external Jev service on every compaction
- Runs as a function hook and changes Claude Code session behavior
- Requires an external API key
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add plugins/fast-jev-compactionDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
Run one by one in the Claude Code chat
/plugin marketplace add tamaratran/fast-jev-compaction
/plugin install fast-jev-compaction@fast-jev-compactionEnable function hooks: export CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 and set TYPESAFE_API_KEY. Then claude plugin marketplace add tamaratran/fast-jev-compaction and claude plugin install fast-jev-compaction@fast-jev-compaction, then restart Claude Code.
Other ways from the author
claude plugin marketplace add tamaratran/fast-jev-compaction
claude plugin install fast-jev-compaction@fast-jev-compactionBefore installing, enable function hooks: CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 and set TYPESAFE_API_KEY, for example in ~/.claude/settings.json. After installing restart Claude Code or run /reload-plugins.
This is third-party code. Review the repository files before installing.
What it does
The plugin replaces Claude Code's built-in compaction. Usually an overflowing context makes the model summarize old turns, and exact paths, errors and commands can vanish. Here nothing is rewritten: the external Jev service receives the whole conversation and, for each tool call, answers whether the call and whether its full result should stay. Based on the answers a call is kept, truncated to the head of its result, or removed together with its result. User and assistant text is untouched and stays in order. The first and the newest few messages are pinned and excluded from the selection. If the reduction is too small or the request fails, the plugin falls back to the built-in summary. The same code ships as an npm library.
Who it is for. For developers who run long Claude Code sessions and do not want compaction to lose details.
Good fit when
- A long session hits the context limit and summaries drop important details
- You want to keep exact commands, paths and message texts verbatim
- You want to tune compaction by a threshold and a count of pinned messages
Not a fit when
- Session content may not be sent to an external service
- You have no TypeSafe key or access to the Jev API
- Sessions are short and the built-in compaction is enough
Example request
Compact the session context but keep commands and paths verbatimLimitations
It needs a TypeSafe key in TYPESAFE_API_KEY and access to the Jev API at api.typesafe.ai; availability from Russia is unverified. The plugin sends the whole conversation to the external service on every compaction. Claude Code function hooks are an early-access feature enabled by the CLAUDE_CODE_ENABLE_FUNCTION_HOOKS flag, and the type reference is tied to Claude Code 2.1.274. Only tool calls and their results are removed; message texts are not shortened. Context size is estimated without a tokenizer, so it is approximate.
How to disable. Remove the plugin via /plugin or run claude plugin uninstall fast-jev-compaction@fast-jev-compaction; compaction then returns to the built-in summary.
Security check
- Sends the whole conversation to the external Jev service on every compaction
- Runs as a function hook and changes Claude Code session behavior
- Requires an external API key
README in short
The README explains that the plugin installs verbatim compaction instead of summarization: it pairs each tool call with its result, shows Jev the whole conversation and, against a threshold, decides what to keep, truncate or drop. Configurable options include the threshold, the number of pinned messages, token budgets for state and request, how much of a dropped result's head is kept, and the context percentage that triggers compaction. The repository is both an npm package with exported building blocks and a Claude Code plugin built on function hooks. Unit tests use a fake Jev and never hit the network. MIT licensed.
FAQ
Does session data leave the machine?
Yes. For the selection the whole conversation is sent to the Jev service at api.typesafe.ai, with tool results replaced by a short note.
What happens if the service is down?
The plugin logs a fallback and delegates to Claude Code's built-in compaction, so the session does not break.
Related
Open-source personal AI assistant on your own machine: answers in Telegram, Slack, Discord and WhatsApp, extended with skills and plugins
A self-improving agent from Nous Research with a TUI, messaging gateway, cron jobs and skills it writes itself
An open source coding agent for the terminal and desktop with build and plan modes
Open prompt library with a Claude Code plugin, MCP server and CLI: search, fetch and improve prompts and skills from an agent