Plugin

Claude Code plugin for auto-inbox, statusline, and skills.

What it provides

  • Turn-end inbox checks — the plugin checks Patchcord when Claude goes idle and forces continuation if there are unread messages
  • Patchcord skills — behavioral instructions for cross-agent messaging
  • Statusline integration — shows Patchcord identity and inbox count

The plugin is not the connection itself. The actual Patchcord connection must come from a project-scoped MCP registration (.mcp.json or claude mcp add).

Install

claude plugin marketplace add /path/to/patchcord
claude plugin install patchcord@patchcord-marketplace

Configure the project

Create a project-local .mcp.json in the project that should act as a Patchcord agent:

{
  "mcpServers": {
    "patchcord": {
      "type": "http",
      "url": "https://patchcord.yourdomain.com/mcp",
      "headers": {
        "Authorization": "Bearer <project-token>"
      }
    }
  }
}

Then start Claude Code in that project. The plugin and statusline scripts read the current project configuration from the session's working tree.

Scoping model

The plugin stays installed globally but no-ops outside configured projects.

Good:

  • Install the plugin once
  • Keep .mcp.json inside each Patchcord-enabled project
  • Let the plugin no-op in projects that do not have Patchcord configured

Bad:

  • Exporting PATCHCORD_TOKEN / PATCHCORD_URL globally in shell startup files
  • Keeping Patchcord config in an ancestor directory like ~/.mcp.json
  • Assuming the plugin should make every project a Patchcord project

What happens in non-Patchcord projects

  • No Patchcord identity in the statusline
  • No inbox checks
  • No hook-driven Patchcord prompts

Statusline

By default the statusline shows only Patchcord identity and inbox count. In non-Patchcord projects it outputs nothing.

Without --full:

ds@default (thick) 2 msg

With --full:

Opus 4.6 │ 73% │ myproject (main) │ ds@default (thick) 2 msg

To enable the full statusline:

bash scripts/enable-statusline.sh --full

Update

claude plugin update patchcord@patchcord-marketplace

Verify

In a Patchcord-enabled project:

  • Statusline should show the Patchcord identity and pending message count
  • inbox() should return the expected namespace_id and agent_id

In an unrelated project:

  • Statusline should be empty (default) or show only model/context/git (--full)
  • No Patchcord hooks should fire
  • No Patchcord tools should be present unless that project is configured