by 49Agents
Open-source 2D IDE for managing AI agents in native CLIs, terminal, gits, beads issues, and files across multiple projects and machines. Self-host on a single machine via localhost OR host on a cluster via Tailscale OR connect to app.49agents.com (coming soon)
# Add to your Claude Code skills
git clone https://github.com/49Agents/49AgentsAn infinite canvas with real terminal panes powered by tmux. Access your terminals from any browser. <img width="2559" height="1013" alt="Screenshot 2026-02-17 010827" src="https://github.com/user-attachments/assets/33238bd9-589c-438b-85a9-1c3ee780eca3" />
Your Machine Cloud Server (relay)
┌──────────────┐ ┌──────────────────┐
│ 49-agent │ ──── WSS ───────► │ WebSocket relay │
│ (tmux+ttyd) │ │ + web app │
└──────────────┘ │ + SQLite │
└────────┬─────────┘
│
◄── WSS ─┘
│
┌─────┴──────┐
│ Browser │
│ (xterm.js) │
└────────────┘
The agent runs on your machine and manages tmux sessions via ttyd. The cloud server is a WebSocket relay that routes terminal I/O between the agent and your browser. No terminal data is stored on the server.
Prerequisites: Node.js 18+, tmux, ttyd
git clone https://github.com/49Agents/49Agents.git
cd 49Agents
./start.sh
The setup script will:
No account, no login, no token needed for local use.
No comments yet. Be the first to share your thoughts!
When prompted, choose Single machine. Enter a port (default: 1071). Both the cloud server and agent start automatically.
Open http://localhost:1071 in your browser.
Run the cloud server on one machine and the agent on another (useful for accessing terminals from a laptop, tablet, or phone via a private network like Tailscale).
When prompted, choose Multi machine, then:
http://<this-machine-ip>:<port> from any device on your network.ws://192.168.1.10:1071).You can run agents on multiple machines all pointing at the same cloud server and switch between them from one browser tab.
When no OAuth credentials are configured, the server runs in local mode — no login screen, no accounts. Anyone who can reach the server gets in. This is fine for Tailscale or a local network.
To add authentication for multi-user setups, register a GitHub OAuth App or Google OAuth credentials and set the env vars: