
yabai
A tiling window manager for macOS that arranges windows automatically using a command line.
- Stars
- 29.8k
- Forks
- 809
- Licence
- MIT
- Language
- C
- Last update
- 5 months ago
- Type
- App
What it is
yabai is a utility that extends the built-in window manager of macOS. It automatically arranges open windows into tiled layouts based on a binary space partitioning algorithm, so you can focus on content instead of moving windows by hand. You control it through a command line interface and can optionally bind keyboard shortcuts with skhd or other tools.
- Automatically tile windows into layouts as you open applications
- Move and resize windows, spaces, and displays with keyboard shortcuts
- Turn on focus-follows-mouse behavior
- Create more than the standard 16 spaces, as described in the README
Great for
- Mac users who want keyboard-driven window layouts
- People comfortable editing configuration files and using a terminal
- Users who want to manage multiple spaces and displays from the command line
- Users who want focus-follows-mouse behavior
Not ideal for
- Users who want a point-and-click setup with no terminal use, since control is through a command line interface
- Users on macOS versions older than those listed in the README's requirements
- People who cannot grant Accessibility permissions, since the README says yabai needs them
How to get it
- 1
See the README
You'll need: macOS Big Sur 11.0.0 or later on Intel, or Monterey 12.0.0 or later on Apple Silicon, per the README · Accessibility permission granted to yabai
Clone the repository
git clone https://github.com/asmvik/yabai - 2
Run it
- Follow the installation instructions in the yabai wiki for your chosen method.
- Grant Accessibility permission when yabai requests it, then restart it.
- Enable 'Displays have separate Spaces' in the Mission Control settings.
- Copy a sample configuration from the examples directory and adjust it.
- 3
Get the most out of it
- Use the sample configuration files in the examples directory as a starting point
- Pair yabai with skhd to define keyboard shortcuts
- Read the documentation in doc/yabai.asciidoc for the full command reference
- Add window rules to make specific windows float
Downloads
Strengths
- Free and open source under the MIT License
- Based on a documented tiling algorithm and scriptable through the command line
- Has sample configuration files, a wiki, and documentation in the repository
Trade-offs
- Some features require partially disabling System Integrity Protection, which the README says carries risk and is optional
- Several macOS settings must be changed for commands to work reliably, and some apps such as Terminal and Finder handle tabs incorrectly
- The README includes a disclaimer that the authors are not responsible for any machine damage
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| yabai (this) | 29.8k | App | intermediate | 5 months ago | Mac users who want keyboard-driven window layouts |
| Amethyst | 16.3k | App | beginner | 4 days ago | Mac users who often work with several windows side by side |
| hammerspoon | 16.4k | App | intermediate | 4 months ago | Mac users comfortable writing small scripts who want custom keyboard shortcuts or window behavior |
| AeroSpace | 23.7k | App | intermediate | 5 days ago | Keyboard-centric users who want to manage windows without the mouse |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.