Open source · 100% free

The agentic
window manager

Programmable workspace

35+ RPC methods. AI agents and scripts drive the same desktop you do.

Smart layout manager

Tile with hotkeys, organize into layers, search text across every window.

Managed tmux sessions

We make tmux easy. Use your own terminal — panes and layouts just work.

$npm install -g @lattices/cli

Native macOS menu bar app

Built with SwiftUI. Manage your workspace — terminal sessions, app windows, and layers — from the menu bar.

  • See all projects and session status
  • Launch, attach, or detach with a click
  • Command palette via Cmd+Shift+M
  • Window tiling to halves, quarters, or full screen
  • Workspace layers with Cmd+Option+1/2/3
  • Tab groups — related projects as tabs in one session
  • Cheat sheet HUD and omni search
  • Voice commands via Vox integration beta
Download for macOSApple Silicon · Free · .dmg
lattices app showing screen map with dual displays, layers, and inspector

Durable Terminal Sessions

One command, zero config

Run lattices — session created, dev server running.

Persistent sessions

Survives reboots. Reattach anytime.

Smart Layout Manager

Tiling + layers

Hotkeys, snap to grids, switchable window groups.

Screen text indexing

AX + OCR. Search text across all windows.

Voice commands beta

Speak to tile, search, focus, and launch — via Vox.

Programmable Workspace

35+ RPC methods

WebSocket on localhost. Full workspace control.

Agent automation

AI agents and scripts drive your desktop.

Managed tmux sessions

We make tmux easy. Use your own terminal — define panes and layouts in a single JSON file.

1 pane

Single focus

claude

2 panes

Side-by-side

claude
server

3+ panes

Main-vertical

claude
server
tests
.lattices.json
{
  "ensure": true,
  "panes": [
    { "name": "claude", "cmd": "claude", "size": 60 },
    { "name": "dev",    "cmd": "bun dev" }
  ]
}

Your AI co-pilot needs to see what you see

Agents are limited to a terminal. Lattices gives them eyes — every window, every pixel of text, every layout change — over a single WebSocket.

  • windows.search — find windows by title, app, session, OCR
  • terminals.search — inspect terminal tabs, processes, cwds
  • ocr.search — full-text search across all screen content
  • session.launch — start a project session
  • window.tile — snap windows to screen positions
  • 35+ methods + 5 real-time events
Full API reference →
agent-example.js
import { daemonCall } from '@lattices/cli'

// Search windows by content
const hits = await daemonCall('windows.search', {
  query: 'myproject'
})

// Launch and tile side-by-side
await daemonCall('session.launch', {
  path: '/Users/you/dev/frontend'
})
await daemonCall('session.launch', {
  path: '/Users/you/dev/api'
})
const sessions = await daemonCall('tmux.sessions')
await daemonCall('window.tile', {
  session: sessions[0].name,
  position: 'left'
})
await daemonCall('window.tile', {
  session: sessions[1].name,
  position: 'right'
})

Ready to lattices?

Install globally. Your agent gets a control plane in seconds.