Turn any browser into your Mac terminal. VibeTunnel proxies your terminals right into the browser, so you can vibe-code anywhere.
Ever wanted to check on your AI agents while you're away? Need to monitor that long-running build from your phone? Want to share a terminal session with a colleague without complex SSH setups? VibeTunnel makes it happen with zero friction.
VibeTunnel requires an Apple Silicon Mac (M1+). Intel Macs are not supported.
Download VibeTunnel and drag it to your Applications folder.
VibeTunnel lives in your menu bar. Click the icon to start the server.
# Run any command in the browser
vt npm run dev
# Monitor AI agents
vt claude --dangerously-skip-permissions
# Open an interactive shell
vt --shellVisit http://localhost:4020 to see all your terminal sessions.
- π Browser-Based Access - Control your Mac terminal from any device with a web browser
- π Zero Configuration - No SSH keys, no port forwarding, no complexity
- π€ AI Agent Friendly - Perfect for monitoring Claude Code, ChatGPT, or any terminal-based AI tools
- π Secure by Design - Password protection, localhost-only mode, or secure tunneling via Tailscale/ngrok
- π± Mobile Ready - Native iOS app and responsive web interface for phones and tablets
- π¬ Session Recording - All sessions recorded in asciinema format for later playback
- β‘ High Performance - Powered by Bun runtime for blazing-fast JavaScript execution
- π Apple Silicon Native - Optimized for M1/M2/M3 Macs with ARM64-only binaries
VibeTunnel consists of three main components:
- macOS Menu Bar App - Native Swift application that manages the server lifecycle
- Node.js/Bun Server - High-performance TypeScript server handling terminal sessions
- Web Frontend - Modern web interface using Lit components and xterm.js
The server runs as a standalone Bun executable with embedded Node.js modules, providing excellent performance and minimal resource usage.
- Install Tailscale on your Mac and remote device
- Access VibeTunnel at
http://[your-mac-name]:4020
- Add your ngrok auth token in VibeTunnel settings
- Enable ngrok tunneling
- Share the generated URL
- Set a dashboard password in settings
- Switch to "Network" mode
- Access via
http://[your-mac-ip]:4020
- macOS 14.0+ (Sonoma) on Apple Silicon (M1/M2/M3)
- Xcode 16.0+
- Node.js 20+
- Bun runtime
# Clone the repository
git clone https://github.com/amantus-ai/vibetunnel.git
cd vibetunnel
# Build the web server
cd web
npm install
npm run build
node build-native.js # Creates Bun executable
# Build the macOS app
cd ../mac
./scripts/build.sh --configuration ReleaseFor development setup and contribution guidelines, see CONTRIBUTING.md.
- macOS App:
mac/VibeTunnel/VibeTunnelApp.swift - Server:
web/src/server/(TypeScript/Node.js) - Web UI:
web/src/client/(Lit/TypeScript) - iOS App:
ios/VibeTunnel/
- Technical Specification - Detailed architecture and implementation
- Contributing Guide - Development setup and guidelines
- Architecture - System design overview
- Build System - Build process details
Created with β€οΈ by:
- @badlogic - Mario Zechner
- @mitsuhiko - Armin Ronacher
- @steipete - Peter Steinberger
VibeTunnel is open source software licensed under the MIT License. See LICENSE for details.
Ready to vibe? Download VibeTunnel and start tunneling!