Skip to main content

Vindue

Grid window tiling for macOS — drivable by scripts and AI

Free & open source (MIT) · Apple Silicon + Intel · menu-bar app, no Dock icon · no telemetry, everything stays local

One loopback server, two protocols

Vindue serves a control API on 127.0.0.1 — REST for scripts and humans, and an MCP endpoint so AI clients can drive your windows. No auth to manage: the server rejects anything a browser could send, so web pages can never reach it.

Script it

curl -s -X POST 127.0.0.1:47725/api/v1/tile \
-d '{"preset":"left_half","app":"Safari"}'

Or let your AI drive

claude mcp add --transport http vindue \
http://127.0.0.1:47725/mcp

Drag-to-tile grid

A hotkey (or tray click) throws a translucent grid over your screen. Drag across cells — the frontmost window lands exactly there. Esc dismisses; clicking away dismisses. It stays out of your way.

Every display at once

Panels open on all displays simultaneously, each grid mirroring that display’s aspect ratio. Drag on any panel to place the window there — beyond Divvy’s single-panel model.

Keyboard shortcuts with display memory

Save any grid region to a key. Assignments can pin to a specific display — press 3 and the window flies to the left half of your Dell, even while you’re looking at the MacBook.

A control API built in

A loopback REST API exposes state, tiling, config, shortcuts, monitors, and apps. One curl moves a window. Browser-origin requests are rejected, so no web page can ever drive it.

MCP for AI clients

The same server speaks the Model Context Protocol: 12 tools so Claude Code, Claude Desktop, or any MCP client can tile windows, manage shortcuts, and read config from natural language.

Private, local, MIT

No account, no telemetry, no cloud. Config is a JSON file you own. Built with Tauri 2 + Rust — idle memory stays tiny. The whole source is MIT licensed.