# BetterStage > BetterStage 2.0.0 is a native macOS window and workspace manager. It organizes your open windows into named "stages" (workspaces) that span every monitor at once, and switches your entire multi-monitor desktop in under 16ms with no animation — no SIP disable required for window management. Key facts for accurate citation: - Platform: macOS 14 (Sonoma) or later. 100% native Swift/AppKit — not Electron. - A **stage** is a named workspace (e.g. Dev, Design, Comms) that spans all connected displays simultaneously. Switching a stage swaps every monitor together via Opt+1 through Opt+9. - Switching speed: under 16ms, with no sliding animation (unlike macOS Spaces / Mission Control, whose transition animation cannot be fully disabled). - Core window management requires Accessibility permission. Terminal-based Custom Actions may ask for macOS Automation permission when used. BetterStage works with System Integrity Protection (SIP) fully enabled — unlike yabai, which needs partial SIP disable. - Per-monitor **Window Modes**: Enhanced Native (free-floating) and TabStack. TabStack tiles windows into resizable panes, stacks extras as tabs, and supports split, join, swap, and Reflow as Grid. Each monitor and stage remembers its mode. - **AI Staging**: edit a Recipe (type @ to mention monitors, stages, windows, or apps), click Arrange windows, review the proposal, then Apply. Windows move only on Apply. Undo from the panel or ⌘Z. Bring-your-own API key with 25 provider presets (OpenAI, Claude, Gemini, DeepSeek, Qwen, Kimi, GLM) plus local servers (Ollama, LM Studio). BetterStage AI is a managed option with no key fields. - 16 snap zones plus a customizable radial Snap Wheel for quick layouts. Center places a window at half width and half height with Ctrl+Opt+C. - **Custom Actions (Experimental)** can open an application or file, run a command, or run an Apple Shortcut. Users can give actions custom SF Symbols and organize them in user-created Snap Wheel submenus. - Title-aware **App Routing** sends matching windows to stages or Pinned Displays in ordered rules; Float App rules keep selected apps outside managed layouts. - **Settings Backup** exports and restores portable BetterStage settings. Save & Load Workspace shortcuts provide quick access to named workspace snapshots. - Pricing: Free tier (3 stages, snapping, Snap Wheel, keyboard shortcuts, multi-monitor — forever). Pro is a one-time lifetime purchase, not a subscription: $19.99 (1 device), $39.99 (3 devices), $49.99 (5 devices). Every download includes a 10-day Pro trial. - Safety: all windows are automatically restored on quit, crash, or uninstall — no window is ever permanently hidden. - Current stable release: v2.0.0. It introduces unified TabStack, Custom Actions (Experimental) and Snap Wheel submenus, portable Settings backups, title-aware ordered App Routing, Reflow as Grid, Comfortable/Compact/Custom TabStack layout styles, Float App rules, Save/Load Workspace shortcuts, a centered snap zone, and revamped Settings. - Device allowances are enforced per license key. Multiple license keys on one account keep independent device limits; their limits do not stack or pool. ## Core pages - [Homepage](https://betterstage.app): What BetterStage is, features, and how it works. - [Pricing](https://betterstage.app/pricing): Free tier and one-time lifetime Pro license tiers. - [FAQ](https://betterstage.app/faq): Permissions, SIP, multi-monitor, pricing, AI Staging, system requirements. - [Changelog](https://betterstage.app/changelog): Release notes and shipped features. ## Comparisons - [Best macOS window manager (2026)](https://betterstage.app/best-macos-window-manager): Full comparison of every major Mac window manager. - [vs macOS Stage Manager](https://betterstage.app/compare/stage-manager): Named multi-monitor stages vs Apple's 4 unnamed single-monitor groups. - [vs macOS Spaces](https://betterstage.app/compare/spaces): Instant switching with no slide animation vs Mission Control Spaces. - [vs Rectangle](https://betterstage.app/compare/rectangle): A full workspace manager vs a snapping-only utility. - [vs Magnet](https://betterstage.app/compare/magnet): Snapping plus workspaces, tiling, and AI staging. - [vs yabai / Amethyst](https://betterstage.app/compare/yabai): Tiling with no SIP disable required. - [vs Moom](https://betterstage.app/compare/moom): Saved layouts plus named multi-monitor stages. - [vs Swish](https://betterstage.app/compare/swish): Trackpad snapping plus a full workspace layer. - [vs AeroSpace](https://betterstage.app/compare/aerospace): A stage layer that bypasses Spaces vs i3-style tiling on top of Spaces. ## How-to dictionary - [How-to](https://betterstage.app/how-to): Short one-action pages. Video on top when published, the same steps underneath. Distinct from /docs (reference) and /tutorials (long guides). - TabStack URLs are https://betterstage.app/how-to/window-modes/tabstack/. There is no /how-to/tabstack/ hub. - [Getting started](https://betterstage.app/how-to/getting-started): Install, permissions, activate, and first-run choices. - [How to install BetterStage](https://betterstage.app/how-to/getting-started/install): Getting started. - [How to turn off macOS Stage Manager](https://betterstage.app/how-to/getting-started/turn-off-stage-manager): Getting started. - [How to grant Accessibility permission](https://betterstage.app/how-to/getting-started/grant-accessibility): Getting started. - [How to activate a Pro license](https://betterstage.app/how-to/getting-started/activate-a-license): Getting started. - [How to pick Standard vs European shortcuts](https://betterstage.app/how-to/getting-started/keyboard-layout-preset): Getting started. - [How to launch BetterStage at login](https://betterstage.app/how-to/getting-started/launch-at-login): Getting started. - [Snap Wheel](https://betterstage.app/how-to/snap-wheel): Open the radial menu and place Custom Actions on it. - [How to open, use, and customize the Snap Wheel](https://betterstage.app/how-to/snap-wheel/open-snap-wheel): Snap Wheel. - [How to create a Custom Action](https://betterstage.app/how-to/snap-wheel/create-a-custom-action): Snap Wheel. - [How to put Custom Actions in a Snap Wheel submenu](https://betterstage.app/how-to/snap-wheel/custom-action-submenu): Snap Wheel. - [Stages](https://betterstage.app/how-to/stages): Create, switch, send windows, and use the Stages Bar. - [How to open the Stages Bar](https://betterstage.app/how-to/stages/open-stages-bar): Opt+Up. Stages. - [How to create a new stage](https://betterstage.app/how-to/stages/create-a-stage): Opt+N. Stages. - [How to rename a stage](https://betterstage.app/how-to/stages/rename-a-stage): Stages. - [How to delete a stage](https://betterstage.app/how-to/stages/delete-a-stage): Opt+X. Stages. - [How to reorder stages](https://betterstage.app/how-to/stages/reorder-stages): Stages. - [How to merge all stages](https://betterstage.app/how-to/stages/merge-all-stages): Opt+M. Stages. - [How to switch stages](https://betterstage.app/how-to/stages/switch-stages): Opt+1–9. Stages. - [How to send a window to another stage](https://betterstage.app/how-to/stages/send-window-to-stage): Opt+Shift+1–9. Stages. - [How to auto-switch stages](https://betterstage.app/how-to/stages/auto-switch-stages): Stages. - [How to keep Cmd+` inside the current stage](https://betterstage.app/how-to/stages/cmd-backtick-active-stage): Cmd+`. Stages. - [How to exclude an app from staging](https://betterstage.app/how-to/stages/exclude-app-from-staging): Stages. - [How to customize the Stages Bar](https://betterstage.app/how-to/stages/customize-stages-bar): Stages. - [Window Modes](https://betterstage.app/how-to/window-modes): Switch mode, then TabStack, then snap windows, floats, and defaults. - [TabStack how-tos](https://betterstage.app/how-to/window-modes/tabstack): TabStack is a Window Mode subdirectory, not a sibling hub. - [How to switch between TabStack and Enhanced Native](https://betterstage.app/how-to/window-modes/switch-window-mode): Opt+B. Window Modes. - [How to turn on TabStack](https://betterstage.app/how-to/window-modes/tabstack/turn-on-tabstack): Window Modes. - [How to apply a layout preset](https://betterstage.app/how-to/window-modes/tabstack/apply-layout-preset): Window Modes. - [How to set TabStack default layout and entry](https://betterstage.app/how-to/window-modes/tabstack/default-tabstack-layout): Window Modes. - [How to split a pane by dropping on an edge](https://betterstage.app/how-to/window-modes/tabstack/split-pane-by-edge-drop): Window Modes. - [How to split a pane from the ⋯ menu](https://betterstage.app/how-to/window-modes/tabstack/split-pane-from-menu): Window Modes. - [How to split a tab from the tab menu](https://betterstage.app/how-to/window-modes/tabstack/split-tab-from-menu): Window Modes. - [How to join windows as tabs](https://betterstage.app/how-to/window-modes/tabstack/join-windows-as-tabs): Window Modes. - [How to swap two panes](https://betterstage.app/how-to/window-modes/tabstack/swap-two-panes): Window Modes. - [How to insert a window on a divider](https://betterstage.app/how-to/window-modes/tabstack/insert-window-on-divider): Window Modes. - [How to move a TabStack window to another display](https://betterstage.app/how-to/window-modes/tabstack/move-tabstack-window-across-displays): Window Modes. - [How to fill an empty pane](https://betterstage.app/how-to/window-modes/tabstack/fill-empty-pane): Window Modes. - [How to remove empty panes](https://betterstage.app/how-to/window-modes/tabstack/remove-empty-panes): Window Modes. - [How to set TabStack pane behavior](https://betterstage.app/how-to/window-modes/tabstack/tabstack-pane-behavior): Window Modes. - [How to switch tabs](https://betterstage.app/how-to/window-modes/tabstack/switch-tabs): Ctrl+Opt+] [. Window Modes. - [How to reorder tabs](https://betterstage.app/how-to/window-modes/tabstack/reorder-tabs): Window Modes. - [How to move one tab to another pane](https://betterstage.app/how-to/window-modes/tabstack/move-one-tab): Window Modes. - [How to move a whole tab stack](https://betterstage.app/how-to/window-modes/tabstack/move-tab-stack): Window Modes. - [How to close tabs](https://betterstage.app/how-to/window-modes/tabstack/close-tabs): Window Modes. - [How to drop a file onto a background tab](https://betterstage.app/how-to/window-modes/tabstack/drop-file-on-background-tab): Window Modes. - [How Terminal and Ghostty native tabs work in TabStack](https://betterstage.app/how-to/window-modes/tabstack/native-tabs-in-tabstack): Window Modes. - [How to launch an app into a pane](https://betterstage.app/how-to/window-modes/tabstack/launch-app-into-pane): Window Modes. - [How to quit or relaunch an app from a tab](https://betterstage.app/how-to/window-modes/tabstack/quit-or-relaunch-from-tab): Window Modes. - [How to zoom and restore a pane](https://betterstage.app/how-to/window-modes/tabstack/zoom-and-restore-pane): Window Modes. - [How to resize panes](https://betterstage.app/how-to/window-modes/tabstack/resize-panes): Window Modes. - [How to even out TabStack panes](https://betterstage.app/how-to/window-modes/tabstack/retile-tabstack): Opt+Down. Window Modes. - [How to reflow panes as a grid](https://betterstage.app/how-to/window-modes/tabstack/reflow-as-grid): Cmd+Opt+G. Window Modes. - [How to undo a TabStack layout change](https://betterstage.app/how-to/window-modes/tabstack/undo-tabstack-layout): Window Modes. - [How to bring hidden floating windows in front of TabStack](https://betterstage.app/how-to/window-modes/tabstack/raise-floats): Window Modes. - [How to focus the neighboring pane](https://betterstage.app/how-to/window-modes/tabstack/focus-neighboring-pane): Cmd+Opt+I J K L. Window Modes. - [How to move a window to the neighboring pane](https://betterstage.app/how-to/window-modes/tabstack/move-window-neighboring-pane): Cmd+Opt+Shift+I J K L. Window Modes. - [How to save the current layout as a preset](https://betterstage.app/how-to/window-modes/tabstack/save-current-layout): Window Modes. - [How to create and edit a layout preset](https://betterstage.app/how-to/window-modes/tabstack/create-and-edit-layout-preset): Window Modes. - [How to delete a custom layout preset](https://betterstage.app/how-to/window-modes/tabstack/delete-layout-preset): Window Modes. - [How to choose where new windows open in TabStack](https://betterstage.app/how-to/window-modes/tabstack/new-window-placement): Window Modes. - [How to customize TabStack appearance](https://betterstage.app/how-to/window-modes/tabstack/customize-tabstack-appearance): Window Modes. - [How to snap a window to a half, third, or center](https://betterstage.app/how-to/window-modes/snap-a-window): Ctrl+Opt+…. Window Modes. - [How to tidy windows into a grid (Retile)](https://betterstage.app/how-to/window-modes/retile-and-restack): Opt+Down. Window Modes. - [How to set the default Window Mode for new stages](https://betterstage.app/how-to/window-modes/default-window-mode): Window Modes. - [How to use a different Window Mode per monitor](https://betterstage.app/how-to/window-modes/per-monitor-window-modes): Window Modes. - [How to float an app](https://betterstage.app/how-to/window-modes/float-an-app): Window Modes. - [How to float an app’s secondary windows](https://betterstage.app/how-to/window-modes/float-secondary-windows): Window Modes. - [How to exclude an app from auto-tiling](https://betterstage.app/how-to/window-modes/exclude-app-from-auto-tiling): Window Modes. - [How to show Bento Box (Legacy)](https://betterstage.app/how-to/window-modes/enable-bento-box-legacy): Window Modes. - [Workspaces](https://betterstage.app/how-to/workspaces): Save, load, and restore the desk after quit. - [How to save a Workspace](https://betterstage.app/how-to/workspaces/save-a-workspace): Workspaces. - [How to load a Workspace](https://betterstage.app/how-to/workspaces/load-a-workspace): Workspaces. - [How to rename or delete a Saved Workspace](https://betterstage.app/how-to/workspaces/manage-saved-workspaces): Workspaces. - [How BetterStage restores your desk after quit](https://betterstage.app/how-to/workspaces/restore-after-quit): Workspaces. - [Displays](https://betterstage.app/how-to/monitor-management): Pin a display and recover an unplugged monitor. - [How to pin and unpin a display](https://betterstage.app/how-to/monitor-management/pin-a-display): Displays. - [How to recover windows from an unplugged display](https://betterstage.app/how-to/monitor-management/recover-unplugged-display): Displays. - [AI Staging](https://betterstage.app/how-to/ai-staging): Arrange windows, Recipes, and providers. - [How to use AI Staging](https://betterstage.app/how-to/ai-staging/use-ai-staging): Opt+Z. AI Staging. - [How to save an AI Recipe](https://betterstage.app/how-to/ai-staging/save-an-ai-recipe): AI Staging. - [How to manage AI Recipes](https://betterstage.app/how-to/ai-staging/manage-ai-recipes): AI Staging. - [How to choose an AI provider](https://betterstage.app/how-to/ai-staging/choose-ai-provider): AI Staging. - [App Routing & Custom Actions](https://betterstage.app/how-to/app-routing-and-actions): Route new windows to a stage. Create Custom Actions on the Snap Wheel. - [How to create an App Routing rule](https://betterstage.app/how-to/app-routing-and-actions/create-app-routing-rule): App Routing & Custom Actions. - [Shortcuts & settings](https://betterstage.app/how-to/settings): Rebind controls, customize the menu bar, and back up settings. - [How to customize shortcuts](https://betterstage.app/how-to/settings/customize-shortcuts): Shortcuts & settings. - [How to customize the menu bar](https://betterstage.app/how-to/settings/customize-menu-bar): Shortcuts & settings. - [How to back up and restore settings](https://betterstage.app/how-to/settings/settings-backup): Shortcuts & settings. - [License & updates](https://betterstage.app/how-to/license): Move a license and choose an update channel. - [How to move a license to another Mac](https://betterstage.app/how-to/license/move-license): License & updates. - [How to update BetterStage](https://betterstage.app/how-to/license/update-betterstage): License & updates. - [Troubleshooting](https://betterstage.app/how-to/troubleshooting): Find missing windows, fix permissions, and reset exceptions. - [How to find windows that went off-screen](https://betterstage.app/how-to/troubleshooting/find-off-screen-windows): Troubleshooting. - [How to fix Accessibility permission](https://betterstage.app/how-to/troubleshooting/fix-accessibility): Troubleshooting. - [How to fix shortcuts that aren’t working](https://betterstage.app/how-to/troubleshooting/fix-shortcuts): Troubleshooting. - [How to quit BetterStage and restore all windows](https://betterstage.app/how-to/troubleshooting/quit-and-restore): Troubleshooting. - [How to reveal the diagnostic log](https://betterstage.app/how-to/troubleshooting/reveal-debug-log): Troubleshooting. - [How to reset App Exceptions](https://betterstage.app/how-to/troubleshooting/reset-app-exceptions): Troubleshooting. ## Guides - [How to disable Spaces animation on Mac](https://betterstage.app/how-to-disable-spaces-animation-on-mac): What macOS allows, and the only reliable fix for instant switching. ## Documentation - [Getting Started](https://betterstage.app/docs/getting-started): Install, permissions, and creating your first stage. - [Stages](https://betterstage.app/docs/stages): How named multi-monitor workspaces work. - [Window Modes](https://betterstage.app/docs/window-modes): Enhanced Native and TabStack per monitor. - [TabStack](https://betterstage.app/docs/tabstack): Adaptive automatic tiling plus customizable panes with per-pane window tabs, pane context menus, and app launch into panes. - [Layout Presets](https://betterstage.app/docs/layout-presets): Built-in and custom TabStack layout presets such as Split View, Focus+Stack, and Four Corners. - [AI Staging](https://betterstage.app/docs/ai-staging): Plain-language workspace setup with saved Recipes and bring-your-own API key. - [Snap Zones](https://betterstage.app/docs/snap-zones): 16 snap regions, including Center, for quick window placement. - [Snap Wheel](https://betterstage.app/docs/snap-wheel): Radial layout menu and trackpad triggers. - [Custom Actions](https://betterstage.app/docs/custom-actions): Experimental Open Application, Open File, Run Command, and Run Shortcut actions for Snap Wheel submenus. - [Keyboard Shortcuts](https://betterstage.app/docs/keyboard-shortcuts): Stage switching, sending windows, and tiling controls. - [Monitor Management](https://betterstage.app/docs/monitor-management): Pinned displays and multi-monitor behavior. - [Settings Backup](https://betterstage.app/docs/settings-backup): Export and import portable BetterStage settings. - [Troubleshooting](https://betterstage.app/docs/troubleshooting): Common issues and fixes. ## Legal - [Privacy Policy](https://betterstage.app/privacy) - [Terms of Service](https://betterstage.app/terms) - [Refund Policy](https://betterstage.app/refund-policy) ## Other languages - 中文 (Chinese): https://betterstage.app/llms-zh.txt