fast-jev-compaction
Claude Code plugin and npm library that replaces the compaction summary with Jev keep, truncate or drop scores for every tool call.
Overview
fast-jev-compaction replaces Claude Code's compaction summary with Jev decisions. Instead of asking an LLM to summarise old turns, which can lose a file path, exact error, constraint or command, it scores every tool call and result in one fast request and only deletes or truncates the ones Jev says are no longer needed. User and assistant text stays verbatim and in order. It is both a Claude Code plugin and an npm package.
Tool calls are paired with results; calls in the first message and the newest messages are pinned. The state sent to Jev is the whole conversation with each result replaced by a short note, and it is fitted into a 25k-token budget in progressive stages (truncating inputs, abridging long texts, collapsing old messages, reducing old calls to one line), throwing if it still does not fit so the built-in summary can take over. It is the original project behind many ports to other agents (Codex, OpenCode, Pi, DeepSeek Harness) and forks, and is widely starred.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Is this tool call still needed (keep the call)?(inferred) | yes · no |
| Yes / no | Does this tool result still need to stay verbatim?(inferred) | yes · no |
How it works
- Pair tool calls and results; pin first and recent messages
- Build and fit the conversation state
- Jev scores every call and result in one request
- Drop or truncate stale items; keep the rest verbatim
Strengths
- No model-written summaries
- Kept content preserved exactly
- Usable as a library for other harnesses
Caveats
- Whole conversation (including tool inputs) is sent to TypeSafe
- Approach has public critiques regarding cache invalidation and hidden reasoning
Getting started
Install the Claude Code plugin from the repository (or the npm package) and set TYPESAFE_API_KEY.At a glance
- Type
- Plugin
- Status
- beta
- Language
- TypeScript
- Runtime
- Claude Code plugin + npm library
- Has code
- yes
- License
- MIT
- Stars
- 7,616
Use cases and integrations
How curated lists describe it
Context management: Claude Code plugin that replaces the compaction summary with Jev decisions, scoring every tool call and result for whether it is still needed instead of summarizing the session.
yibie/awesome-jevClaude Code plugin and npm library: Jev scores tool calls and drops stale ones instead of summarizing context
AnotiaWang/awesome-decision-modelsPrunes old tool calls and outputs for Claude Code while retaining surviving text verbatim.
logicrw/awesome-jev-projectsClaude Code plugin that replaces the compaction summary with Jev decisions: every tool call and result is scored in one fast request, stale ones are dropped or truncated, everything kept stays verbatim.
wh000wh000/awesome-jev-liveClaude Code plugin and library that score tool-call/result pairs for deletion or truncation while retaining selected text verbatim.
cobanov/awesome-jevClaude Code plugin that replaces the compaction summary with Jev decisions: every tool call and result is scored in one fast request, stale ones are dropped or truncated, everything kept stays verbatim.
hellogumbo/awesome-jevClaude Code plugin that replaces the compaction summary with Jev decisions. Every tool call and result is scored; stale ones are dropped or truncated, and everything kept stays verbatim.
MrJev/awesome-jev
Frequently asked questions
Does it summarise?
No, it only deletes or truncates tool calls and results; text stays verbatim.
What if the state is too large?
It is fitted in stages; if it still does not fit, compaction throws and the built-in summary applies.
Are there ports?
Yes, community ports exist for Codex, OpenCode, Pi and DeepSeek Harness.
Related projects
Local compaction proxy for Claude Code and Codex that compacts more often with local rules and keeps full history searchable.
ProxybetaGoMCP server with record and recall tools: facts are logged during a session and Jev keeps only those relevant to the next task.
MCP serverbetaTypeScriptClaude Code plugin that compacts by moving old tool results to local files with no summary, with Jev picking which to recall by question.
PluginbetaTypeScriptCodex plugin that builds handoff packets by asking Jev whether each old read-only tool record should stay, keeping retained text verbatim.
ProjectbetaJavaScriptCursor CLI plugin that asks Jev keep-or-drop nouls for each tool call and result, then re-injects kept facts after compaction.
CLIbetaTypeScriptDeepSeek Harness plugin that asks Jev which tool results can be pruned early, delaying or avoiding lossy compaction.
ProjectbetaTypeScript