Introduction
Layout is a Mac app that arranges the windows across your displays into workspaces. A workspace is a named setup, such as Code or Communication, with its own apps and its own layout.
A layout is made of zones. Each zone holds one app, or several apps stacked in the same frame, and other apps can float over the zones at a size you choose. When you launch a workspace, Layout opens its apps and puts their windows in their zones. When you switch to another workspace, Layout moves the current windows out of sight and brings back the other workspace’s windows where you left them.
A workspace can also have a work context: what each app opens when its layout launches. Your editor and Terminal open the project folder, your terminal starts your dev server, your browser opens your tabs once the server answers, Claude and Codex bring back the project’s latest chat, Slack goes to a channel, and Simulator boots a device and opens your app.
You move around from the keyboard. ⌥Tab switches workspaces, ⌃⌥1…9 goes straight to one, and ⌃⌥Space opens the command palette. You can also have ⌘Tab cycle through the windows of the current workspace instead of your apps. ⌘` lists the windows of the app in front, from every workspace.
While Layout is active, the Layout bar at the top of the screen shows the current workspace, the icons of its apps, and a few quick actions. When something needs you in another workspace, such as a new message in Slack or a Claude Code or Codex agent waiting for your answer, Layout says so, and ⌃⌥N takes you there.
Focus Agent (⌃⌥Tab by default) lets you choose among Claude Code, Codex and Cursor sessions across projects. Agents keeps their tasks, status and unread results together, with quick access from either the Layout bar or the native macOS menu bar. Opening a session from either Agents or Focus Agent marks its result read.
Layout needs macOS 14 or later, at least one connected display, and the Accessibility permission.