cd /news/ai-agents/lattices-open-source-programmatic-wi… · home › topics › ai-agents › article
[ARTICLE · art-164701] src=lattices.dev ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

Lattices – open-source Programmatic Window Manager

Lattices released an open-source programmatic window manager that lets AI coding agents including Claude Code, Codex, Gemini CLI, OpenCode and Hermes find, arrange and focus desktop windows through a skill or via MCP, using the same controls a user has by hand. The tool, installable through Homebrew or the Bun CLI and also available on Linux with Hyprland and Omarchy, exposes a JSON-RPC-style API with calls such as lattices.search, window.place, layer.activate, space.optimize, history.undo and states.restore, and projects are defined in a .lattices.json config file with named panes and startup commands. Lattices states that workspace control and action history stay on the user's computers, remote access is opt-in with permissions the user approves, screen text reading is off until enabled, and optional vision-model features may send screen context to a provider the user chooses.

read4 min views3 publishedNov 5, 2026
Lattices – open-source Programmatic Window Manager
Image: source

Window manager

Organize around the work. #

Arrange windows, group them into project layers, and move between contexts without rebuilding your desktop each time. Keep the tools for the task together.

“Put my project’s windows side by side.”

With the Lattices skill, Claude Code can find and arrange your project’s windows.

Same controls. With access you choose. “Find the terminal running my dev server.”

With the Lattices skill, Codex can search your terminal sessions and bring the right one into focus.

Same controls. With access you choose. “Open a terminal for this project.”

With the Lattices skill, Gemini CLI can start a project session and place its terminal window.

Same controls. With access you choose. “Stack my notes beside the browser.”

Connect Lattices through MCP, or run Lattices commands from Hermes’s local terminal, to arrange your windows.

Same controls. With access you choose. “Bring my workspace back into place.”

With the Lattices skill, OpenCode can apply a saved layer to arrange your workspace.

Same controls. With access you choose. Arrange your windows, terminals, and projects. Give your agents the same workspace controls, across every computer you connect.

Homebrew or the Bun CLIAlso on Linux, with Hyprland and Omarchy

1.4 ft falling · 9:41 AM

On macOS, tile halves with ⌃⌥ and an arrow, use Caps Lock as Hyper, or hold a mouse button, draw a gesture, and release. Explore the paths in the 3×3 gesture matrix below.

Hold Caps Lock for Hyper. These are defaults; change them in Settings.

Hold middle, draw up, release.

Keep the windows for each project together in a named layer. See what’s running, find what you need, and switch the whole workspace when it’s time to change focus.

Launch your editor, browser, and terminal commands together. Keep your development server, tests, and coding agents running in their own panes, ready when you return.

Define tools and layouts in a config file. Connect scripts and agents to the same workspace controls you use by hand. Turn a repeated setup into something you can run.

Give each project a repeatable setup: named panes, startup commands, and a layout that fits the task. Define it once in .lattices.json, then launch or reattach with a command.

{
  "ensure": true,
  "panes": [
    { "name": "claude", "cmd": "claude", "size": 60 },
    { "name": "dev",    "cmd": "bun dev" }
  ]
}

Give agents the same workspace capabilities you use yourself: find windows, arrange layouts, activate project layers, and inspect the result. Use the API locally, or enable remote access on a connected computer with the permissions you choose. For clicking and typing inside apps, use Action.

lattices.search: title, app, session, or cwd window.place: tile by session, app, or window id layer.activate: launch or focus a workspace space.optimize: rebalance visible windows history.list: receipts for recent placements history.undo: put the last placement back states.restore: return to a saved desktop map

import { daemonCall } from '@lattices/lattices'

// Find a window by title, app, session, or cwd
const [match] = await daemonCall('lattices.search', {
  query: 'tideline'
})
await daemonCall('window.focus', {
  wid: match.wid
})

// Bring up the project's layer
await daemonCall('layer.activate', {
  name: 'tideline',
  mode: 'launch',
})

// Or move one window, by app and title
await daemonCall('window.place', {
  app: 'Safari',
  title: 'Tideline',
  placement: 'right',
})

Workspace control and action history stay on your computers. Remote access is opt-in, with permissions you approve. Screen text reading is off until you turn it on. Optional vision-model features may send screen context to the provider you choose. Lattices is open source, so you can inspect how it works.

Omarchy is a Linux desktop built on Arch and Hyprland, with tiling windows at its heart.

Lattices brings your windows into named layers, helps you find what’s open, and gives your tools and agents an API to work with. Keep each project together, then switch focus when you’re ready.

Run in your Omarchy desktop. Installs the app, CLI, host, and tray.

curl -fsSL https://raw.githubusercontent.com/lattices-dev/lattices/main/install.sh | bash Arch/Omarchy · Hyprland · systemd user session · x86-64 or ARM64

Download the Mac app, or install on Linux.

Your windows, projects, and tools, ready to work together.

Open the download. Drag Lattices into Applications.

The same Mac app, installed from your terminal.

brew tap arach/tap
brew trust arach/tap
brew install --cask arach/tap/lattices

The command line for your workspace.

bun install -g @lattices/lattices For you and your agents, across the computers you connect. Free and open source.

── more in #ai-agents 4 stories · sorted by recency
── more on @lattices 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/lattices-open-source…] indexed:0 read:4min 2026-11-05 · —