Overview
AeroSpace is an i3-inspired tiling window manager built natively in Swift for macOS. Employing an internal tree paradigm and emulating lightning-fast virtual workspaces without relying on native macOS Spaces animations, AeroSpace delivers clean keyboard-driven tiling, full multi-monitor support, plain-text TOML dotfiles configuration, and zero requirement to disable System Integrity Protection (SIP).
How It Works
AeroSpace operates through structured, deterministic execution stages:
Hierarchical Tree Paradigm: Arranges application windows inside dynamic tree containers rather than fixed slots, enabling arbitrary horizontal and vertical splits.
SIP-Free Virtual Workspace Emulation: Switches desktops instantaneously with zero macOS Space animations and without disabling System Integrity Protection.
Plain-Text TOML Dotfile Configuration: Persists keybindings, floating rules, and layout callbacks in a single human-readable ~/.aerospace.toml config file.
CLI-First & Multi-Monitor Orchestration: Executes layout mutations programmatically via aerospace CLI hooks across independent multi-display configurations.
Key Technical Features & Capabilities
Tree-Based Window Tiling: Organizes open windows into arbitrary nested horizontal, vertical, and accordion splits modeled closely after Linux i3wm.
Zero-Animation Virtual Workspaces: Emulates virtual desktops at the Accessibility layer, eliminating macOS Space transition delays and SIP modifications.
Dotfiles-Friendly TOML Config: Manages all bindings, monitors, gaps, and on-window-detected rules via ~/.aerospace.toml stored cleanly in Git.
Scriptable CLI & Multi-Monitor Precision: Controls workspace focus, window movement, and layout modes dynamically via the aerospace CLI binary.
Architecture & Technology Stack
Primary Languages: Swift, Bash (CLI completions & build scripts)
Frameworks & APIs: AppKit, Accessibility API (AXUIElement), Swift Package Manager
Configuration Parser: Native TOML parser (~/.aerospace.toml)
Supported Platforms: macOS 13 Ventura or later (Universal Apple Silicon & Intel)
System Requirements
| Specification | Minimum Requirement | Recommended Specification |
|---|
| Operating System | macOS 13.0+ (Universal Apple Silicon & Intel) | Latest stable release build |
| Processor Architecture | 4-Core x86_64 or Apple Silicon M1 | 8-Core Apple Silicon / Core i7+ |
| Memory (RAM) | 4 GB Unified Memory | 16 GB+ High-Speed RAM |
| Disk Space | 1 GB free SSD storage | 5 GB+ free SSD storage |
Installation & Setup Guide
macOS Installation (Recommended)
brew install --cask nikitabobko/tap/aerospace
Or download AeroSpace-v0.21.3-Beta.zip from CookApps, extract AeroSpace.app, move it to /Applications, and grant Accessibility permissions.
Building from Source
git clone https://github.com/nikitabobko/AeroSpace.git
cd AeroSpace
./build-release.sh
How to Use & Workflow
1Initialize Configuration: Copy the default template to ~/.aerospace.toml to configure alt/cmd workspace bindings and startup login hooks.
2Grant Accessibility Access: Authorize AeroSpace under System Settings › Privacy & Security › Accessibility.
3Navigate via Tree Bindings: Focus, resize, split, or move application windows across virtual workspaces 1-9 and multiple external monitors with zero lag.
4Automate with CLI: Pipe aerospace list-windows or workspace hooks into SketchyBar, Raycast, or custom shell automation scripts.
Troubleshooting & Common Issues
Issue: Moving windows to workspaces leaves edge pixel slivers visible in macOS.
*Cause*: macOS restricts moving windows completely off-screen, so emulated workspaces tuck inactive windows into screen corners.
*Resolution*: Enable "Displays have separate Spaces" cleanly in macOS Desktop & Dock settings and verify monitor alignment in System Settings.
Issue: Hotkeys do not trigger window rearrangements.
*Cause*: Accessibility permissions were reset after an app binary update.
*Resolution*: Remove and re-enable AeroSpace in Privacy & Security › Accessibility, then run aerospace reload-config.