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.jsoninside each Patchcord-enabled project - Let the plugin no-op in projects that do not have Patchcord configured
Bad:
- Exporting
PATCHCORD_TOKEN/PATCHCORD_URLglobally 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 expectednamespace_idandagent_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