Agent Plugins Marketplace
← All plugins

compact-handoff

v0.11.0

Replaces the engine's compaction with a subagent's handoff, and measures whether it can be one

Claude Code

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

Installs for the current user
claude plugin marketplace add IchenDEV/agent-plugin-mkt
claude plugin marketplace update agent-plugin-marketplace
claude plugin install compact-handoff@agent-plugin-marketplace

Paste 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-plugin

Clone 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

compact-handoff/
└── .claude-plugin/plugin.json

Plugin manifests1

.claude-plugin/plugin.json
{
  "$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
    }
  }
}

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)