
Security News
PyPI Expands Trusted Publishing to GitLab Self-Managed as Adoption Passes 25 Percent
PyPI adds Trusted Publishing support for GitLab Self-Managed as adoption reaches 25% of uploads
claude-chat
Advanced tools
Claude Chat Message Router - A message routing service for Claude instances
A powerful command-line tool for managing Claude instances with real-time chat interface, automatic setup, message routing, and tmux integration.
This project is for personal research and experimentation only. DO NOT use it in actual coding work or production environments.
This tool uses the --dangerously-skip-permissions flag to achieve smooth chat functionality, which poses significant security risks:
DISCLAIMER: The authors and contributors of this project are not responsible for any damage, data loss, security breaches, or other issues that may arise from using this tool. Use at your own risk and only in isolated, non-critical environments.
Get everything installed with a single command:
# Clone and install automatically
curl -fsSL https://raw.githubusercontent.com/neeboo/claude-chat/main/install.sh | bash
Or manual setup:
# 1. Clone the repository
git clone https://github.com/neeboo/claude-chat.git
cd claude-chat
# 2. Run the installation script
chmod +x install.sh && ./install.sh
After installation, start using claude-chat immediately:
# Start a Claude instance (auto-setup everything)
claude-chat start /path/to/your/project main
# Open the chat interface in your browser
claude-chat chat
# That's it! Everything is ready.
# Start multiple instances for different roles
claude-chat start /path/to/frontend ui --no-attach
claude-chat start /path/to/backend api --no-attach --proxy
claude-chat start /path/to/docs docs --no-attach
# Open chat to communicate with all instances
claude-chat chat
The installation script automatically:
The claude-chat start command automatically:
If the automatic installation doesn't work for your system:
Prerequisites:
# Install tmux
# macOS: brew install tmux
# Ubuntu: sudo apt install tmux
# CentOS: sudo dnf install tmux
# Install Bun
curl -fsSL https://bun.sh/install | bash
Build from source:
git clone https://github.com/neeboo/claude-chat.git
cd claude-chat
bun install
bun run build
sudo ln -sf $(pwd)/dist/cli.js /usr/local/bin/claude-chat
claude-chat start <path> <role> - does everything automaticallyAccess the web-based chat interface to communicate with all your Claude instances in real-time:
# Open chat interface automatically
claude-chat chat
# Or manually visit: http://localhost:8888/chat
@all (default) and type your message@InstanceName from the dropdown# Start a Claude instance with chat support (recommended - all-in-one)
claude-chat start <path> <role> [options]
# Open the real-time chat interface
claude-chat chat [--port <port>]
# Manual setup commands (optional)
claude-chat init <path> # Initialize project only
claude-chat register <path> <role> # Register instance only
claude-chat router --start # Start router only
# Status and management
claude-chat status # Show all instances and router status
claude-chat list # List registered instances
claude-chat config --show # Show current configuration
The start command supports many options for customization:
claude-chat start <path> <role> [options]
# Basic options
-n, --name <name> # Custom instance name
-s, --session <session> # Custom tmux session name
--no-attach # Start in background (don't attach to tmux)
# Proxy options
--proxy # Enable proxy with your configured settings
# Initialization options
--no-init # Skip automatic project initialization
--force-init # Force overwrite existing init files
--hooks-only # Only setup hooks during init
--docs-only # Only setup documentation during init
claude-chat chat [options]
# Options
--port <port> # Override router port (default: from config)
# Standard development setup with chat
claude-chat start ~/dev/my-app main
# Start UI instance in background with proxy
claude-chat start ~/dev/frontend ui --no-attach --proxy
# Start API instance with custom name
claude-chat start ~/dev/backend api --name "API Server" --no-attach
# Open chat interface
claude-chat chat
# Force reinitialize an existing project
claude-chat start ~/dev/old-project main --force-init
# Start without auto-initialization
claude-chat start ~/dev/minimal-project main --no-init
Override default settings with environment variables:
# Temporary override for one command
CLAUDE_CHAT_PORT=8080 claude-chat start ~/project main
# Set in your shell profile for permanent changes
export CLAUDE_CHAT_HOST=192.168.1.100
export CLAUDE_CHAT_PORT=9999
export PROXY_HOST=127.0.0.1
export PROXY_PORT=7893
Supported environment variables:
CLAUDE_CHAT_HOST - Router host (default: localhost)CLAUDE_CHAT_PORT - Router port (default: 8888)CLAUDE_ROUTER_URL - Complete router URL overridePROXY_HOST - Proxy server host (default: 127.0.0.1)PROXY_PORT - Proxy server port (default: 7893)# Show current settings
claude-chat config --show
# Change default port
claude-chat config --set-port 8080
# Change default host
claude-chat config --set-host 192.168.1.100
# Reset to defaults
claude-chat config --reset
When you run claude-chat start for the first time in a project, it creates:
your-project/
├── .claude/
│ ├── hooks/
│ │ └── simple-notifier.sh # Message notification script
│ └── settings.local.json # VS Code hook configuration
└── CLAUDE.md # Communication protocol documentation
Perfect for complex projects with multiple Claude instances:
# Terminal 1: Start main instance (stays attached)
claude-chat start ~/dev/my-app main
# Terminal 2: Start supporting instances (background)
claude-chat start ~/dev/my-app ui --no-attach
claude-chat start ~/dev/my-app api --no-attach --proxy
claude-chat start ~/dev/my-app docs --no-attach
# Terminal 3: Open chat interface for group communication
claude-chat chat
# Check status
claude-chat status
Now you can:
The built-in HTTP API enables both programmatic and chat interface communication:
# Send message between instances (programmatic)
curl -X POST http://localhost:8888/message \
-H "Content-Type: application/json" \
-d '{"from": "ui", "to": "main", "content": "Task completed"}'
# Check router health
curl http://localhost:8888/health
# View all instances
curl http://localhost:8888/status
# View message history
curl http://localhost:8888/messages
# Access chat interface
curl http://localhost:8888/chat
The chat interface uses WebSocket for real-time communication:
// WebSocket endpoint
ws://localhost:8888/
// Message format
{
"type": "send_message",
"from": "human",
"to": "instance_id", // or "all"
"content": "Hello Claude!"
}
Port already in use:
# Check what's using the port
lsof -i :8888
# Use a different port
claude-chat config --set-port 8080
claude-chat start ~/project main
Chat interface not loading:
# Check if router is running
claude-chat status
# Restart router
claude-chat router --restart
# Check browser console for WebSocket errors
tmux not found:
# Install tmux first
brew install tmux # macOS
sudo apt install tmux # Ubuntu
Proxy not working:
# Check your proxy settings
echo $PROXY_HOST $PROXY_PORT
# Start with proxy enabled
claude-chat start ~/project main --proxy
VS Code hooks not working:
# Check if files were created
ls -la .claude/
# Verify script permissions
chmod +x .claude/hooks/simple-notifier.sh
WebSocket connection failed:
# Check firewall settings
# Ensure port 8888 is not blocked
# Try different port: claude-chat config --set-port 9999
# Run with verbose output
DEBUG=1 claude-chat start ~/project main
# Check router logs
claude-chat status
# Monitor WebSocket connections in browser dev tools
claude-chat/
├── src/
│ ├── index.ts # Message router server with WebSocket support
│ ├── cli.ts # CLI interface with chat commands
│ ├── config.ts # Configuration management
│ ├── CLAUDE_TEMPLATE.md # Protocol template
│ └── simple-notifier.sh # Notification script template
├── dist/ # Built files
├── package.json
└── README.md
--dangerously-skip-permissions for functionalitygit checkout -b feature/amazing-featuregit commit -m 'Add amazing feature'git push origin feature/amazing-featureMIT License - see LICENSE file for details.
neeboo
USE AT YOUR OWN RISK: This software is provided "as is" without warranty of any kind. The authors and contributors shall not be liable for any damages, data loss, security breaches, or other issues arising from the use of this tool. Users are responsible for understanding the risks and using the tool only in appropriate, non-critical environments.
⚠️ Remember: This tool is for research and experimentation only. Always prioritize safety and security in your development workflow.
FAQs
Claude Chat Message Router - A message routing service for Claude instances
The npm package claude-chat receives a total of 2 weekly downloads. As such, claude-chat popularity was classified as not popular.
We found that claude-chat demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
PyPI adds Trusted Publishing support for GitLab Self-Managed as adoption reaches 25% of uploads

Research
/Security News
A malicious Chrome extension posing as an Ethereum wallet steals seed phrases by encoding them into Sui transactions, enabling full wallet takeover.

Security News
Socket is heading to London! Stop by our booth or schedule a meeting to see what we've been working on.