compact-handoff
v0.11.0Replaces the engine's compaction with a subagent's handoff, and measures whether it can be one
By AnExiledDev0 GitHub starsUpdated 1 hour ago
Directory evidence
- Runtimes
- Claude Code
- Parsed components
- 0 skill or MCP entries
- Source updated
- Sep 28, 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 compact-handoff for Claude Code
claude plugin marketplace add IchenDEV/agent-plugin-mkt
claude plugin marketplace update agent-plugin-marketplace
claude plugin install compact-handoff@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/AnExiledDev/compact-handoff-pluginClone 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
{
"$schema": "https://anthropic.com/claude-code/plugin.schema.json",
"name": "compact-handoff",
"version": "0.11.0",
"description": "Replaces the engine's compaction with a subagent's handoff, and measures whether it can be one",
"types": "./types/compact-handoff.d.ts",
"author": {
"name": "AnExiledDev",
"email": "[email protected]"
},
"userConfig": {
"live": {
"type": "boolean",
"title": "Live",
"description": "Off, it rehearses and the engine still compacts. On, it answers the event and the engine's summariser never runs."
},
"dataDir": {
"type": "string",
"title": "Data directory",
"description": "Where handoffs, rows and transcripts are kept. Empty uses ~/.claude/compact-handoff.",
"default": ""
},
"model": {
"type": "string",
"title": "Model",
"description": "The model the commitments pass runs on, an alias (haiku) or a full id. Empty uses the session's.",
"default": ""
},
"maxChars": {
"type": "number",
"title": "Absolute ceiling (characters)",
"description": "Overrides the two below. 0 leaves them in charge. Never clamped: setting it is a deliberate act.",
"default": 0
},
"maxFraction": {
"type": "string",
"title": "Context share",
"description": "The share of the context window a handoff may take. Empty uses 0.25; anything outside (0, 1] falls back to it.",
"default": ""
},
"maxTokens": {
"type": "number",
"title": "Token ceiling",
"description": "The most a handoff may be whatever the window. 0 uses 150000; clamped to 200000.",
"default": 0
},
"restoreFiles": {
"type": "number",
"title": "Restored files",
"description": "How many files the summariser may have restored after the handoff. 0 uses 5.",
"default": 0
},
"restoreFileChars": {
"type": "number",
"title": "Per-file ceiling",
"description": "The most of one restored file that comes back, in characters. 0 uses 20000.",
"default": 0
},
"restoreTotalChars": {
"type": "number",
"title": "Restored total ceiling",
"description": "The most all restored files may add together, in characters. 0 uses 100000.",
"default": 0
},
"seamTimeoutMs": {
"type": "number",
"title": "Seam timeout (ms)",
"description": "How long one raised seam tool may run before the compaction goes on without it. 0 uses 90000.",
"default": 0
},
"subagents": {
"type": "boolean",
"title": "Answer subagent compactions",
"description": "Off, a subagent's compaction is passed through with a row saying so. On, it is answered like any other."
},
"dev": {
"type": "boolean",
"title": "Measurement tools",
"description": "Registers the four measurement tools."
},
"refresh": {
"type": "boolean",
"title": "Fallback handoff",
"description": "Keeps a fallback handoff on disk for sessions a fork cannot serve (headless)."
},
"refreshMs": {
"type": "number",
"title": "Refresh gap (ms)",
"description": "Shortest gap between two refreshes, and never sooner than 20 new messages. 0 uses 600000.",
"default": 0
}
}
}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.
[compact-handoff on Agent Plugins Marketplace](https://pluginsmp.com/plugins/compact-handoff)