engineering / skill

jev-compaction-plus

A Claude Code plugin for compaction using the Jev decision model.

At a glance

Purpose
A Claude Code plugin for compaction using the Jev decision model.
Runs in
Local agent with shell
Operating systems
Not stated
Needs
Runtime: Not stated; Needs internet: Yes; Needs accounts or API keys beyond your agent: Yes
Files and data
Reads files: Yes; Writes files: Yes; Sends data to other services: Yes
Tool type
Skill
Delivery
From GitHub
Version
Latest on the main branch
Access
Code on GitHub
Compatibility
The README requires Claude Code version 2.1.274 or newer with function hooks enabled and reports testing on version 2.1.282. The README says the settings file is seen by every session, including the terminal, the desktop app and the IDE. A TypeSafe key or an OpenRouter key works.
External costs
The repository is MIT-licensed. The README says Jev requires a TypeSafe key or an OpenRouter key and has per-compaction usage costs. Your coding agent or model provider may charge for usage.
Permissions
The plugin acts through Claude Code with the access you give it. The README instructs you to add the function-hook setting and your API key to ~/.claude/settings.json so terminal, desktop app and IDE sessions see them. The README says the plugin runs as a compaction hook and can start compaction at a configured context percentage. The README says conversation text, tool inputs and result previews are sent to TypeSafe or OpenRouter, depending on your key. The README says dropped results are written to .jev-drawer in the project by default; an empty drawerDir deletes them instead. The README lists TYPESAFE_API_KEY and the apiKey option as key sources.
Usage terms
MIT License, as stated in the repository. See its LICENSE file for the exact terms. The README says the project is built on fast-jev-compaction by tamara tran (MIT).

Code on GitHub

cth9191/jev-compaction-plus

MIT

TypeScript26 stars3 forksLast pushed 2 Oct 2026 UTC

Claude Code compaction in ~0.5 s instead of ~35 s: Jev keeps what's still needed word for word and moves the rest to a drawer file. Fork of fast-jev-compaction.

Public GitHub data fetched · 0 days old

View on GitHub ↗

What it does

jev-compaction-plus is a Claude Code plugin that takes over compaction when a session fills up. According to the README, it hands that job to Jev, which the README calls TypeSafe's System One decision model. The README says Jev writes no summary and decides, for each old tool result, whether you still need it.

The README says retained tool results stay word for word, while dropped results move to a drawer file by default. The README says the session retains the tool call and a label pointing to the file for later reading. The README says user messages, Claude's replies, the first message and, by default, the newest 6 messages remain untouched. The README says Claude Code's normal summary runs if Jev fails or cannot cut enough.

The README describes it as a fork of fast-jev-compaction and lists its changes. The README says Jev sees result previews, keeps results below a configurable size threshold and moves dropped results to a project drawer by default; an empty drawerDir setting deletes them. The README also describes a fix for split replies and support for either a TypeSafe or OpenRouter key. The README says its reported results come from one session and one quiz, and should be treated as an example, not a benchmark.

Who it is for

Claude Code users whose sessions fill up and who want old tool results kept word for word or moved to a file instead of summarized.

Example tasks

Run /compact in Claude Code and let Jev decide which old tool results to keep.
Read a dropped tool result back from its drawer file when Claude needs it again.
Lower the keepThreshold option, since the README says lower is more cautious.
Change the drawerDir option to set where dropped results are stored.
Run the plugin from a local clone of the repository in one project.

Getting started

The README says to put CLAUDE_CODE_ENABLE_FUNCTION_HOOKS (set to 1) and TYPESAFE_API_KEY (your TypeSafe or OpenRouter key) in the env section of ~/.claude/settings.json. It then gives two claude plugin commands, one to add the marketplace and one to install the plugin. It also describes running the plugin straight from a clone with the plugin directory option. Then you use /compact as usual. The README has the exact commands.

Limitations

The README says you need Claude Code version 2.1.274 or newer with function hooks turned on. It calls function hooks early access and says the API may change. You also need a Jev key, either a TypeSafe key or an OpenRouter key, set in ~/.claude/settings.json. The README says the effect only holds while the session is open. The README reports that closing and resuming a compacted session brought back the full original history. It removes only tool results, so a mostly-chat session has little to cut and falls back to the built-in summary. The README says it leaves more behind than a summary does and does not clean up the drawer automatically. The README says deleting the drawer leaves session labels pointing to missing files, after which Claude re-reads or re-runs. The repository can change at any time; check its README before you install.

Data practices

The README says your conversation text, tool inputs and result previews are sent to TypeSafe or OpenRouter, depending on your key, and that the built-in compaction stays with Anthropic. The README says dropped tool results are saved in a drawer folder in your project by default; setting drawerDir to empty deletes them instead. The README says the drawer has its own .gitignore and is never cleaned up automatically.

Community experience

Not rated yet

Sign in to share your experience.

Comments 0

No comments yet.

Sign in to comment

Report a listing concern