Skip to main content

Remi

Monitor, manage, and respond to Claude Code sessions from the CLI, your phone, or a browser.

Overview

Remi wraps Claude Code and adds remote session management over WebSocket. List sessions across machines, attach from another terminal, browse recent projects, create sessions on remote daemons, and respond to questions from your phone.

# Start Claude with remote monitoring
remi my-project

# Start with auto-approve: fewer prompts, more flow
remi --auto-approve

# List sessions on a remote machine
remi ls --host 100.79.39.98

# Attach to a running session
remi attach

# Browse recent project directories
remi recent

# Create a session on a remote daemon
remi new --host 100.79.39.98 --recent

# Show your connection code for phone/browser access
remi code

Auto-Approve — stop answering routine prompts

Remi can handle the "Allow this tool?" prompts for you. Turn on remi --auto-approve and routine actions proceed without interrupting your flow; only the ones that actually need your judgment reach your phone.

You stay in charge:

  • Your model, your rules — runs fully locally by default (Ollama), or via any OpenAI-compatible endpoint (OpenRouter, self-hosted, etc.). No calls leave your machine unless you choose a hosted provider.
  • Your allow and deny lists — short lists of things to always approve or always block, evaluated before any model call.
  • Your instructions — a few sentences of plain-English guidance the model follows, layered on top of a conservative default policy.
  • Human-in-the-loop when it matters — anything uncertain escalates to you as a normal phone notification.

See the Auto-Approve guide.

Why Remi?

Works From Anywhere

Connect directly over your local network, through Tailscale or a VPN, or remotely through a relay code. No port forwarding or firewall configuration needed for relay mode.

Privacy First

Remi runs entirely on your machine. There is no cloud backend, no account to create, and no data stored outside your device. Relay connections forward encrypted blobs through a Cloudflare Worker; the relay never sees your content.

Secure by Default

Ed25519 mutual authentication ensures only authorized devices can connect. Server and client both prove their identity using cryptographic key exchange, with Trust-On-First-Use (TOFU) for server fingerprint verification.

Architecture

┌─────────────────────────────────────────────────────────────────┐
│ REMI CLIENT (Phone/Browser) │
│ React + Capacitor (iOS/Android/Web/Desktop) │
│ Chat View | Session List | Notifications │
└──────────┬───────────────────────────────┬──────────────────────┘
│ Direct WebSocket │ Relay (via signaling)
│ (LAN/Tailscale/VPN) │ (remote, any network)
┌──────────▼───────────────────────────────▼──────────────────────┐
│ REMI DAEMON (on dev machine) │
│ WebSocket :18765 | Hook Server (auto port) | RelayAdapter │
│ Persistent code: ~/.remi/connection-code │
└──────────┬───────────────────────────────┬──────────────────────┘
│ PTY (terminal) │ HTTP hooks
┌──────────▼───────────────────────────────▼──────────────────────┐
│ CLAUDE CODE CLI │
│ Posts hook events (PreToolUse, PostToolUse, Stop, etc.) │
└─────────────────────────────────────────────────────────────────┘

Remi uses Claude Code's native hooks API for event detection. When Remi starts, it writes hook configuration to .claude/settings.local.json and runs a local HTTP server. Claude Code posts structured events (tool use, permission prompts, session start/stop) to this server, which Remi forwards to connected clients over WebSocket.

Features

  • Auto-approve - Local or hosted LLM handles routine permission prompts; user-defined rules and instructions keep you in control
  • Cross-machine CLI - List, attach, create, and kill sessions on local or remote daemons
  • Recent projects - Browse session history and start new sessions in known directories
  • Real-time monitoring - See Claude's output as it streams, with live-updating transcript messages
  • Quick responses - Tap Yes/No or type a reply from your phone, browser, or another terminal
  • Remote access - Connect from any network using a short relay code (XXXX-YYYY)
  • Authentication - Ed25519 keypairs with mutual authentication
  • Multiple transports - Direct WebSocket, relay through signaling server
  • Status line - See Remi status directly in Claude Code's status bar
  • Service install - Run as a LaunchAgent (macOS) or systemd service (Linux)

Installation

Homebrew (macOS/Linux)

brew install yooz-labs/tap/remi

npm

npm install -g @yooz-labs/remi

From Source

git clone https://github.com/yooz-labs/remi.git
cd remi
bun install
bun run build
bun link

Next Steps

  • Quick Start - Get running in 5 minutes
  • Commands - Full command reference
  • Guides - Connection, authentication, and usage guides