lossless-compaction
v0.6.1Lossless context compaction for Claude Code: old tool output moves to local files and comes back unchanged by id, or by what it is about with a Jev key.
By Iori YoshidaLicense: MIT OR Apache-2.00 GitHub starsUpdated 2 hours ago
Directory evidence
- Runtimes
- Claude Code
- Parsed components
- 0 skill or MCP entries
- Source updated
- Oct 3, 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 lossless-compaction for Claude Code
claude plugin marketplace add IchenDEV/agent-plugin-mkt
claude plugin marketplace update agent-plugin-marketplace
claude plugin install 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/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": "lossless-compaction",
"version": "0.6.1",
"description": "Lossless context compaction for Claude Code: old tool output moves to local files and comes back unchanged by id, or by what it is about with a Jev key.",
"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 when the find tool is called: auto, typesafe or cloudflare. auto asks Cloudflare when an account id is entered here and TypeSafe when none is. Leave the key unset to have no find tool and send nothing; recall works without one.",
"default": "auto"
},
"apiKey": {
"type": "string",
"title": "API key",
"description": "The key for Jev, used by the find tool only. With provider left on auto, it is sent to Cloudflare when an account id is entered here and to TypeSafe when none is. Unset, TYPESAFE_API_KEY or CLOUDFLARE_API_TOKEN is read from the environment, unless a repository's settings put it there. Set it in your user settings.",
"sensitive": true
},
"cloudflareAccountId": {
"type": "string",
"title": "Cloudflare account id",
"description": "32 hexadecimal characters, for Jev on Cloudflare Workers AI. With provider left on auto, entering one sends the key to Cloudflare; leave it empty for TypeSafe. Unset, CLOUDFLARE_ACCOUNT_ID is read only when provider is cloudflare and 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, set in your user settings: one from a repository's settings stops the plugin. It is made, or closed, to mode 700 before anything is written, so give it a directory of its own. Unset, lossless-compaction under CLAUDE_CONFIG_DIR when that is set, else under ~/.claude; an existing jev-lossless-compaction directory there, from earlier versions, is written to instead, and both are read."
},
"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.
[lossless-compaction on Agent Plugins Marketplace](https://pluginsmp.com/plugins/lossless-compaction)