jev-lossless-compaction
v0.1.0Context compaction that moves old tool output to local files instead of deleting it.
By Iori YoshidaLicense: MIT OR Apache-2.00 GitHub starsUpdated 1 hour ago
Directory evidence
- Runtimes
- Claude Code
- Parsed components
- 0 skill or MCP entries
- Source updated
- Sep 30, 2026
- Manifest status
- Canonical path parsed
The directory validates manifest shape and source location. It does not execute the plugin or provide a security endorsement. Review the indexing methodology →
Install jev-lossless-compaction for Claude Code
claude plugin marketplace add IchenDEV/agent-plugin-mkt
claude plugin marketplace update agent-plugin-marketplace
claude plugin install jev-lossless-compaction@agent-plugin-marketplacePaste and run these commands in a terminal with Claude Code. They add and refresh the PluginsMP catalog, then install this plugin.
The installer fetches third-party code from the source repository shown on this page. This directory validates manifest structure and source location, but does not perform a security audit; review the manifest, components, and source before installing.
Get the source manually
git clone https://github.com/yottayoshida/jev-lossless-compactionClone the source repository, then follow its setup instructions to add the plugin to a compatible client. The repository root is the plugin root.
Plugin files
└── .claude-plugin/plugin.json
Plugin manifests1
{
"name": "jev-lossless-compaction",
"version": "0.1.0",
"description": "Context compaction that moves old tool output to local files instead of deleting it.",
"license": "MIT OR Apache-2.0",
"author": {
"name": "Iori Yoshida",
"url": "https://github.com/yottayoshida"
},
"userConfig": {
"provider": {
"type": "string",
"title": "Jev provider",
"description": "Where Jev is asked: typesafe or cloudflare. Leave the key unset to order by rules only and send nothing.",
"default": "typesafe"
},
"apiKey": {
"type": "string",
"title": "API key",
"description": "The key for the chosen provider. Unset, TYPESAFE_API_KEY or CLOUDFLARE_API_TOKEN is read from the environment.",
"sensitive": true
},
"cloudflareAccountId": {
"type": "string",
"title": "Cloudflare account id",
"description": "32 hexadecimal characters; only for the cloudflare provider. Unset, CLOUDFLARE_ACCOUNT_ID is read, but only when the key comes from the environment too."
},
"model": {
"type": "string",
"title": "Jev model",
"description": "Model name for the typesafe provider.",
"default": "jev-latest"
},
"storeDir": {
"type": "string",
"title": "Where moved-out results are kept",
"description": "An absolute directory. Unset, jev-lossless-compaction under CLAUDE_CONFIG_DIR when that is set, else under ~/.claude."
},
"targetPercent": {
"type": "number",
"title": "Target size",
"description": "Results are moved out until the context is estimated to be under this share, in percent, of the size at which Claude Code compacts on its own (the model's window when auto-compaction is off).",
"default": 40
},
"keepTokens": {
"type": "number",
"title": "Newest results to leave alone, in tokens",
"description": "The newest tool result that could leave always stays; the ones before it stay while they and the newest add up to this many tokens (three characters to a token). 0 keeps the newest one only.",
"default": 20000
},
"minChars": {
"type": "number",
"title": "Smallest result to move out",
"description": "Tool results shorter than this many characters stay in the conversation.",
"default": 2000
},
"maxAfterPercent": {
"type": "number",
"title": "Largest size to go on with",
"description": "When the context is still over this share, in percent, of the size at which Claude Code compacts on its own (the model's window when auto-compaction is off), the built-in compaction runs on what is left.",
"default": 75
}
}
}For maintainers
If you maintain this plugin, link to this source-backed listing from your README so users can review its manifest and indexed components.
[jev-lossless-compaction on Agent Plugins Marketplace](https://pluginsmp.com/plugins/jev-lossless-compaction)