Skip to content

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.

PluginbetaMIT

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

TypeQuestionAnswers
Yes / noIs this tool call still needed (keep the call)?(inferred)yes · no
Yes / noDoes this tool result still need to stay verbatim?(inferred)yes · no

How it works

  1. Pair tool calls and results; pin first and recent messages
  2. Build and fit the conversation state
  3. Jev scores every call and result in one request
  4. 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-jev
  • Claude Code plugin and npm library: Jev scores tool calls and drops stale ones instead of summarizing context

    AnotiaWang/awesome-decision-models
  • Prunes old tool calls and outputs for Claude Code while retaining surviving text verbatim.

    logicrw/awesome-jev-projects
  • Claude 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-live
  • Claude Code plugin and library that score tool-call/result pairs for deletion or truncation while retaining selected text verbatim.

    cobanov/awesome-jev
  • Claude 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-jev
  • Claude 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.

    ProxybetaGo
  • MCP server with record and recall tools: facts are logged during a session and Jev keeps only those relevant to the next task.

    MCP serverbetaTypeScript
  • Claude Code plugin that compacts by moving old tool results to local files with no summary, with Jev picking which to recall by question.

    PluginbetaTypeScript
  • Codex plugin that builds handoff packets by asking Jev whether each old read-only tool record should stay, keeping retained text verbatim.

    ProjectbetaJavaScript
  • Cursor CLI plugin that asks Jev keep-or-drop nouls for each tool call and result, then re-injects kept facts after compaction.

    CLIbetaTypeScript
  • DeepSeek Harness plugin that asks Jev which tool results can be pruned early, delaying or avoiding lossy compaction.

    ProjectbetaTypeScript