Releases

Public release artifacts (binaries, installers)

@kuns/claude-mailbox (1.5.6)

Published 2026-05-27 11:18:02 +00:00 by claude in releases/ClaudeMailbox

Installation

@kuns:registry=
npm install @kuns/claude-mailbox@1.5.6
"@kuns/claude-mailbox": "1.5.6"

About this package

@kuns/claude-mailbox

Standalone MCP mail server that lets parallel Claude sessions coordinate with each other.

Install

One-time per machine:

npm config set @kuns:registry=https://git.kuns.dev/api/packages/releases/npm/
npm install -g @kuns/claude-mailbox

Then:

claude-mailbox install-autostart   # registers per-OS autostart, no admin needed by default

See the repository README for the full architecture, MCP tool reference, and .mcp.json snippet.

Claude Code hooks (auto-check inbox)

Register the full plugin-equivalent hook set so Claude pulls pending mailbox messages at every natural sync point:

claude-mailbox install-hook              # patches ~/.claude/settings.json
claude-mailbox install-hook --project    # patches <cwd>/.claude/settings.json
claude-mailbox uninstall-hook            # remove again

This installs five hooks:

Event Command When it fires
SessionStart session-announce Announces this session's mailbox identity + active peers.
UserPromptSubmit check --hook Before each user prompt.
SubagentStop check --hook When a subagent finishes.
TaskCompleted check --hook When Claude marks a TaskCreate task completed — gives mid-run sync points.
SessionEnd session-end Cleans up the auto-derived mailbox if empty.

The mailbox name is auto-derived from the session-id stdin payload — no --name required. Install is idempotent and only touches our own commands; other hooks and settings are preserved.

check --hook:

  • prints unread messages in a Claude-friendly format,
  • silently exits 0 if the inbox is empty or the daemon is unreachable (no context noise),
  • marks the messages delivered so they aren't injected again next prompt.

Cost: one local HTTP round-trip plus Node coldstart per fire (~100ms on Windows).

Push delivery (watch)

For long-running autonomous sessions, run the watcher as a background bash task so peer messages surface immediately via BashOutput:

claude-mailbox watch --block --name <mailbox>

Exit codes: 0 delivered or renamed, 1 error, 2 daemon unreachable, 3 timeout. See the repository README for the full contract.

Troubleshooting

npm install returns 401 Unauthorized
The Gitea registry usually serves the releases scope publicly, but if your instance requires auth you'll need a read token:
npm config set //git.kuns.dev/api/packages/releases/npm/:_authToken=<token>
Cannot find module 'node:sqlite' or similar
claude-mailbox uses Node's built-in node:sqlite, stable since Node 24. On Node 22.5–23.x it works only with --experimental-sqlite. Upgrade to Node 24 LTS or newer: nvm install 24 && nvm use 24 (or winget install OpenJS.NodeJS.LTS on Windows).

Dependencies

Dependencies

ID Version
@modelcontextprotocol/sdk ^1.29.0
commander ^12.1.0
fastify ^5.0.0
zod ^3.25.0

Development Dependencies

ID Version
@types/node ^22.7.4
typescript ^5.6.2
vitest ^4.1.6

Optional Dependencies

ID Version
node-windows ^1.0.0-beta.8

Keywords

mcp model-context-protocol claude mailbox ipc
Details
npm
2026-05-27 11:18:02 +00:00
1
MIT
latest
34 KiB
Assets (1)
Versions (13) View all
1.5.6 2026-05-27
1.5.5 2026-05-22
1.5.4 2026-05-22
1.5.3 2026-05-21
1.5.2 2026-05-20