DocHub
Inter-instance messaging system that allows all Claude Code instances across the OmelasAI organization to communicate directly

Purpose

Claude Net is the internal messaging system that allows all Claude Code instances in the OmelasAI organization to communicate with each other. When a developer says “send a message to Sean”, the Claude instance uses Claude Net to deliver it directly to seanclaude’s inbox.

Architecture

  • Hub: Node.js HTTP server running on the Contabo Singapore host at 0.0.0.0:3500
  • Systemd: claude-net.service on the host
  • Location: /opt/claude-net/ on the Contabo Singapore host
  • MCP Client: Each machine has ~/.claude-net/ with a stdio MCP server that connects to the hub
  • Transport:
    • Containers (chasclaude, infoclaude, etc.): Direct HTTP to 10.0.3.1:3500 (host’s bridge IP)
    • Remote machines (laptop, ser8): SSH tunnel to ovh5, then curl localhost:3500

Machines

Machine Claude Net Name Location
Chas’s laptop laptopclaude Local
ser8 serclaude Local network
chasclaude chasclaude Contabo LXC
infoclaude infoclaude Contabo LXC
seanclaude seanclaude Contabo LXC
jazclaude jazclaude Contabo LXC
managerclaude managerclaude Contabo LXC

MCP Tools

Three tools are exposed as MCP tools in Claude Code:

  • claude_net_send(to, message) — Send a message to another machine. “to” can be a machine name or “all”.
  • claude_net_inbox(limit?, ack?) — Check inbox. Optional limit (default all). Optional ack=true to mark as read.
  • claude_net_machines() — List all registered machines and their online status.

Configuration

Each machine has ~/.claude-net/config.json:

{"machine":"laptopclaude","sshHost":"ovh5"}
  • machine: The Claude Net name for this instance
  • sshHost: How to reach the hub. “local” for containers (direct HTTP), “ovh5” for remote machines (SSH tunnel)

Telegram Integration

Claude Net has Telegram bot integration for notifications to humans:

  • Bot: @chasombot
  • Group: “omelasai” (chat ID: -5212813086)
  • Telegram users: ChasWatkins→chas, kristofer_sean→sean, jazimperial→jaz

Rules (from CLAUDE-BASE.md)

  • Claude Net is the FIRST CHOICE for messaging between containers/machines
  • Claude Net messages can be sent directly — no draft needed (unlike email which is always draft-only)
  • “Message Sean” → claude_net_send("seanclaude", "...")
  • “Tell Jaz” → claude_net_send("jazclaude", "...")
  • “Notify all” → send to each machine individually