# Show HN: IDE – 2D Canvas for Agents

> Source: <https://github.com/alpbahadur/49-IDE>
> Published: 2026-08-31 21:05:32+00:00

The first 2D agentic IDE. Open source.

**All agents. All terminals. All projects. All machines. One unified space.**

## 49agents-launch.mp4

| Before | 49 |
|---|---|
| 14 terminal tabs | One zoomable canvas |
| SSH into each machine | All machines, zero SSH |
| Alt-tab to check Claude | Claude status on every pane |
| Can't work from phone | Any device, anywhere |
| Terminal-only, no files | Monaco editor on the canvas |
| 🤷 | Git graph |
| 🤷 | Interactive issue tables (
|

```
git clone https://github.com/49Agents/49Agents.git
cd 49Agents
./49ctl setup    # interactive setup (one time)
./49ctl start    # start cloud server + agent
```

Open `http://localhost:1071`

. No account, no login, no token.

We recommend self-hosting — it's free, your terminals and files never leave your
machine, and setup is two commands. If you just want to try it first, the
cloud-hosted version needs no install: [49agents.com](https://app.49agents.com)

Download the latest `.dmg`

from [GitHub Releases](https://github.com/49Agents/49Agents/releases/latest).

After downloading, macOS will block the app because it is not notarized. Run this once to allow it:

```
xattr -cr /Applications/49Agents.app
```

Then open 49Agents normally. It runs as a tray icon — look for it in your menu bar.

Updates are delivered in-app: click the tray icon and choose **Check for Updates**.

-
**Infinite canvas**— no tabs, no splits. Place panes anywhere on a zoomable surface -
**Drag, resize, arrange**— your workspace grows with your thinking, not your monitor -
**Zoom levels**— zoom out for the big picture, zoom in to focus -
**Persistent layout**— everything stays where you put it

-
**Real tmux sessions** via ttyd — full ANSI color, scrollback, your shell config -
**Broadcast input**— type once, send keystrokes to multiple terminals simultaneously

-
**Zero SSH**— connect agents from any machine to one canvas -
**HUD overlay**— live CPU, RAM, and Claude API usage across all connected machines

-
**Any device**— laptop, tablet, phone. Same workspace, same layout -
**Tailscale / LAN / hosted relay**— works however you connect -
**Fully self-hosted**— the entire stack runs on your hardware -
**No data stored server-side**— terminal I/O is relayed, never persisted

-
**Tab chords** for pane switching -
**WASD move mode** for spatial navigation -
**Shortcut numbers**(1–9) for instant pane focus -
**Broadcast mode** for multi-terminal input

```
┌──────────────┐    WSS    ┌──────────────┐    WSS    ┌──────────────┐
│  🖥️ PC       │ ────────►│  ☁️ Relay    │ ◄──────── │  📱 Browser  │
│  49-agent    │           │              │           │              │
└──────────────┘           └──────────────┘           └──────────────┘
                           Self-host or use
                            49agents.com
```

## Multi-machine setup

```
┌──────────────┐                                         ┌──────────────┐
│  🖥️ MacBook  │ ─── WSS ───┐                        ┌───│  📱 Phone   │
│  49-agent    │             │                       │   │  Browser     │
└──────────────┘             │                       │   └──────────────┘
                             │   ┌──────────────┐    │
┌──────────────┐             ├──►│  ☁️ Relay    │◄───┤   ┌──────────────┐
│  🖥️ PC       │ ─── WSS ───┤   │              │     ├───│  💻 Laptop  │
│  49-agent    │             │   │  Self-host   │    │   │  Browser     │
└──────────────┘             │   │  or use      │    │   └──────────────┘
                             │   │ 49agents.com │    │
┌──────────────┐             │   └──────────────┘    │    ┌──────────────┐
│  ☁️ Azure VM │ ─── WSS ───┘                        └───│  📱 Tablet   │
│  49-agent    │                                          │  Browser     │
└──────────────┘                                          └──────────────┘

                  Each agent independently connects
                   to the relay via WebSocket.
                  No terminal data stored server-side.
```

[BSL 1.1](/alpbahadur/49-IDE/blob/main/LICENSE) — free for individuals and small teams. Converts to MIT on 2030-02-26.
