Skip to content

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
Step-by-step guide: how to use yabaiInstall, first run, examples, tips and FAQs

How to get it

  1. 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. 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. 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

ProjectStarsTypeLevelUpdatedBest for
yabai (this)29.8kAppintermediate5 months agoMac users who want keyboard-driven window layouts
Amethyst16.3kAppbeginner4 days agoMac users who often work with several windows side by side
hammerspoon16.4kAppintermediate4 months agoMac users comfortable writing small scripts who want custom keyboard shortcuts or window behavior
AeroSpace23.7kAppintermediate4 days agoKeyboard-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.