HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
asmvik
yabai
C2019–2026
asmvik / yabai

yabai

A tiling window manager for macOS based on binary space partitioning

107Distinct people
134Mentions
3Explicit recommenders
29.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A tiling window manager for macOS based on binary space partitioning

GitHub

Where it is used

  • SketchyBar — SketchyBar integrates with yabai to power workspace indicators that show active desktops, focused windows, and switching in real time. Source

What people are saying

Interesting. I used to daily drive <https://github.com/asmvik/yabai> for almost a year until a major macOS update broke it and I just didn't have it in me to diagnose the…

thefossguy69 used a recommendation phrase. 3 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year134 dated mentions

Observed mentions: 2019-08-25 20:04:44 UTC to 2026-05-30 16:22:44 UTC.

01020302019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 11 mentions; 2 submissions, 9 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 21 mentions; 2 submissions, 19 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 22 mentions; 2 submissions, 20 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 30 mentions; 4 submissions, 26 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 29 mentions; 2 submissions, 27 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 12 mentions; 0 submissions, 12 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 5 mentions; 2 submissions, 3 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC1129
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC21219
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC22220
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC30426
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC29227
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC12012
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC413
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC523

From the project README

An excerpt from the repository, fetched Nov 14, 2026.

Read the project’s introduction
Tiling window management for the Mac. About yabai is a window management utility that is designed to work as an extension to the built-in window manager of macOS. yabai allows you to control your windows, spaces and displays freely using an intuitive command line interface and optionally set user-defined keyboard shortcuts using ↗ skhd and other third-party software. The primary function of yabai is tiling window management; automatically modifying your window layout using a binary space partitioning algorithm to allow you to focus on the content of your windows without distractions. Additional features of yabai include focus-follows-mouse, disabling animations for switching spaces, creating spaces past the limit of 16 spaces, and much more. Installation and Configuration The ↗ yabai wiki has both brief and detailed installation instructions for multiple installation methods, and also explains how to uninstall yabai completely. Sample configuration files can be found in the ↗ examples directory. Refer to the ↗ documentation or the wiki for further information. Keyboard shortcuts can be defined with ↗ skhd or any other suitable software you may prefer. Requirements and Caveats Please read the below requirements carefully. Make sure you fulfil all of them before filing an issue. Requirement Note Operating System Intel x86-64 Big Sur 11.0.0+, Monterey 12.0.0+, Ventura 13.0.0+, Sonoma 14.0.0+, Sequoia 15.0+, and Tahoe 26.0+ is supported. Operating System Apple Silicon Monterey 12.0.0+, Ventura 13.0.0+, Sonoma 14.0.0+, Sequoia 15.0+, and Tahoe 26.0+ is supported. Accessibility API yabai must be given permission to utilize the Accessibility API and will request access upon launch. The application must be restarted after access has been granted. Screen Recording yabai must be given Screen Recording permission if and only if you want to enable window animations, and will request access when necessary. The application must be restarted after access has been granted. System Preferences (macOS 11.x, 12.x) In the Mission Control pane, the setting "Displays have separate Spaces" must be enabled. System Settings (macOS 13.x, 14.x, 15.x, 26.x) In the Desktop & Dock tab, inside the Mission Control pane, the setting "Displays have separate Spaces" must be enabled. Please also take note of the following caveats. Caveat Note System Integrity Protection (Optional) System Integrity Protection can be (partially) disabled for yabai to inject a scripting addition into Dock.app for controlling windows with functions that require elevated privileges. This enables control of the window server, which is the sole owner of all window connections, and enables additional features of yabai. Code Signing When building from source (or installing from HEAD), it is necessary to codesign the binary so it retains its accessibility and automation privileges when updated or rebuilt. Finder Desktop Some people disable the Finder Desktop window using an undocumented defaults write command. This breaks focusing of empty spaces and should be avoided when using yabai. To re-activate the Finder Desktop, run: "defaults write com.apple.finder CreateDesktop -bool true". NSDocument-based Applications Windows that utilize native macOS tabs such as Terminal and Finder, do not behave correctly when creating tabs. Avoid creating tabs in these applications, consider alternatives that do not use NSDocument's tab system, or make these windows float using rules. System Preferences (macOS 11.x, 12.x) In the Mission Control pane, the setting "Automatically rearrange Spaces based on most recent use" should be disabled for commands that rely on the ordering of spaces to work reliably. System Settings (macOS 13.x, 14.x, 15.x, 26.x) In the Desktop & Dock tab, inside the Mission Control pane, the setting "Automatically rearrange Spaces based on most recent use" should be disabled for commands that rely on the ordering of spaces to work reliably. System Settings (macOS 14.x, 15.x, 26.x) In the Desktop & Dock tab, inside the Desktop & Stage Manager pane, the setting "Show Items On Desktop" should be enabled for display and space focus commands to work reliably in multi-display configurations. System Settings (macOS 14.x, 15.x, 26.x) In the Desktop & Dock tab, inside the Desktop & Stage Manager pane, the setting "Click wallpaper to reveal Desktop" should be set to "Only in Stage Manager" for display and space focus commands to work reliably. License and Attribution yabai is licensed under the ↗ MIT License, a short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code. Thanks to @fools-mate for creating a logo and banner for this project and making them available for free. Thanks to @dominiklohmann for contributing great documentation, support, and more, for free. Disclaimer Use at your own discretion. I take no responsibility if anything should happen to your machine while trying to install, test or otherwise use this software in any form. You acknowledge that you understand the potential risk that may come from disabling ↗ System Integrity Protection on your system, and I make no recommendation as to whether you should or should not disable System Integrity Protection.
Read the full README on GitHub

What Hacker News says

134 sources
> Liquid Radius doesn't touch /System or modify the SSV I'm not doubting you, but by requiring users to disable SIP you are effectively opening their entire system to SSV attacks. 99% of "regular" users won't understand that tradeoff. Rounded corners are not worth disabling the operating system's major security protections, especially in today's crazy cyber environment. yabai [0] is a good example of how this type of tool can be shared. I would never install a closed-source app that requires me to disable SIP without being able to build it myself. > are you aware of any system wide visual tweak like this that can be done without injection There used to be several ways to do it (e.g. userdefaults) but AFAIK that is no longer possible. As I'm sure you already know, there are ways to do this to individual apps which would probably be a bette
Read the rest
In Show HN: Liquid Radius – Unifies macOS Tahoe's inconsistent window corners
This. My 2013 MacBook Pro lasted just shy of 10 years no issues. My m3 max mbpro I only wish was the larger screen one and not the 13 inch one … oh well. But I suspect it will last me — and be passed down as well — 8-10 years as well. The trackpads are second to none. So are the speakers. The screen are pretty good. I wish mine got even brighter but the m4s do. The keyboard is finally awesome. The OS just works. In fact I moved from Linux to MacOS. I thought I’d miss i3 and sway but with Magnet and a launcher I don’t. I live in a terminal and can split that as much as I like. And gui apps Magnet does a decent job. There are projects to go even further and you don’t have to leave MacOS for all the tiling love. https://github.com/koekeishiya/yabai https://github.com/nikitabobko/AeroSpace https://github.com/ianyh/Amethyst But I get basically
Read the rest
everything I need with Magnet. So TLDR I used to be a huge Linux head (I still am…) but I’m practical now and tired and macOS is a small price to pay for such amazing hardware. More on why I left Linux as my main platform: https://gigatexal.blog/pages/no-perfect-workstation/no-perfe...
In From M1 MacBook to Arch Linux: A month-long experiment that became permanenent
If your into the tiling window manager experience, I would highly recommend looking into yabai + skhd + Sketchybar - https://github.com/koekeishiya/yabai - https://github.com/koekeishiya/skhd - https://github.com/FelixKratz/SketchyBar Some honorable mentions: Hammerspoon - Unlock insane levels of configuration/automation (https://github.com/Hammerspoon/hammerspoon) Raycast - Spotlight search replacement (https://www.raycast.com/) LuLu Firewall - An amazing FOSS firewall (https://github.com/objective-see/LuLu)
In Ask HN: What macOS apps/programs do you use daily and recommend?
Here's my .yabairc https://github.com/kcrwfrd/dotfiles/blob/master/link/.yabair... Looking through it I don't see a setting for instant space switching... I think maybe it's provided by default when you install the scripting addition? https://github.com/koekeishiya/yabai/issues/1527 I have keybindings in my skhd for focusing spaces: https://github.com/kcrwfrd/dotfiles/blob/master/skhd/space I usually just keep 10 spaces at all times rather than creating new ones on demand.
In AeroSpace is an i3-like tiling window manager for macOS
Not OP, but I also have instant space switching enabled with yabai. Here is my yabairc and skhdrc. yabairc - https://github.com/SxC97/dotfiles/blob/main/.yabairc skhdrc - https://github.com/SxC97/dotfiles/blob/5db5e13f894f767722758... If it's still not working, make sure SIP is disabled and the Scripting Addition is installed and loaded. Here's a link to the instructions as it's a little complicated: https://github.com/koekeishiya/yabai/wiki/Installing-yabai-(...
In AeroSpace is an i3-like tiling window manager for macOS
The biggest QOL improvements imo are found in the approach to the user-facing API design. Compare basic multi-monitor commands in something like bspwm[1] or yabai[2][3] to twms on Windows where this is typically handled transparently by directional `move` and `focus` commands understanding monitor boundaries. Besides this, Whim has implemented a very functional ctrl+p style command palette which provides a great interface for more advanced on-the-fly/one-time window manager interactions. With komorebi I think that having different border colours to indicate different types of containers is very helpful (one colour for single window stacks, a different colour for monocle containers, a different colour for stacks with multiple windows), as well as custom window-based work area offsets[4] (so if you have an ultrawide monitor with only a sing
Read the rest
le window on a workspace, you can add offsets to the sides so it doesn't stretch across the whole width and give poor usability). It's not really any one "big thing" but rather a difference in approach which adds up over many small design decisions. [1]: https://github.com/baskerville/bspwm/issues/563 [2]: https://github.com/koekeishiya/yabai/issues/505 [3]: from my own personal yabai config - imo this is not really acceptable for a user facing API, especially for basic commands like focusing and moving: ``` # focus window alt - h : yabai -m window --focus west || yabai -m display --focus west alt - j : yabai -m window --focus south || yabai -m display --focus south alt - k : yabai -m window --focus north || yabai -m display --focus north alt - l : yabai -m window --focus east || yabai -m display --focus east # swap window alt + shift - h : yabai -m window --swap west || yabai -m window --display west && yabai -m display --focus west alt + shift - j : yabai -m window --swap south || yabai -m window --display south && yabai -m display --focus south alt + shift - k : yabai -m window --swap north || yabai -m window --display north && yabai -m display --focus north alt + shift - l : yabai -m window --swap east || yabai -m window --display east && yabai -m display --focus east ``` [4]: https://hachyderm.io/@LGUG2Z/112493589633823318
In AeroSpace is an i3-like tiling window manager for macOS

Showing the 15 most recent of 134 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.