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 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 6:59:22 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

21 sources
Ever since installing Arch + i3 on my old Macbook Pro years ago, traditional window managers feel so inferior now. I've been on the hunt, since, to find anything as close to i3 for MacOS as possible. I did come close however...there's a hidden gem called Yabai[0] (formerly chunkwm) by koekeishiya on GitHub. For anyone looking for as close to i3 functionality as possible in MacOS, Yabai is definitely it. I'm really surprised I don't see more people recommend it as the developer has done an excellent job trying to bring the i3 experience to Mac. [0]: https://github.com/koekeishiya/yabai
In I3: Improved Tiling Window Manager
To some extent you're totally right. I can elaborate. Some of it are technical choices Apple has made that make things hard. I like tiling window managers. The best (only?) one for OSX now requires you to go disable SIP to use it: https://github.com/koekeishiya/yabai/wiki/Disabling-System-I... -- this wouldn't be the case if Apple cared at all to support these sorts of use-cases, but they don't, so it suffers collateral damage from their attempts to improve security. (Again, totally reasonable business choice. Not a ton of people in this boat, but turns me off. Why can't I do this by clicking something in system prefs like when I open a downloaded app?) Another one is, as a developer who once worked at a shop that shipped three-os software, their policies relating to macOS licensing are comical. It's almost like they don't want you to dev
Read the rest
elop for Mac at all unless you're going to exclusively develop for Mac. We had moved everything to the cloud, but we still had a room full of stupid mac minis just to run our build farm. Ridiculous. The new news about mac minis in AWS is an ever-so-slight improvement. Some of it is definitely the familiarity you describe. I don't want to have to get used to all the weird bsd-ish-but-not-really versions of the common CLI tools. I have no interest in learning apple script, etc. I'm being fairly obviously hypocritical because I was willing to learn a bunch about obscure config files on linux. But, my experience has often been that things I would be willing to invest to customize on macOS are simply not customizeable. And, hey, perhaps I would've been willing to go through all that were it (reasonably) possible to run OSX on commodity hardware, but as a kid learning programming in the 90's macs were damn expensive compared to windows alternatives. So, I grew up on windows. It's still true. Today I could afford a Mac Pro, but it's a laughable value proposition (easily 3x-5x the cost for equivalent power) compared to building my own linux box (as to the 'your time is money!' counterargument people sometimes make here - it takes me about 2 hours to build a PC and my linux box hasn't panicked or booted improperly once). This used to make sense to me when the OS/hardware was more tightly integrated, but I don't really see how a macPro is any different than the equivalent PC you could build with the same CPU/GPU combos except more expensive and less flexible (admittedly, with a stunning case -- their manufacturing quality is incredible). Maybe they'll realize those benefits again with the M1, which is certainly cool. Lastly, I'll never forgive them for starting the trend of eliminating 3.5mm jacks on phones. TLDR; You're probably right. Macs aren't a great choice if you're a power user (read: control freak) with your PC.
In M1 Macs: Truth and Truthiness
If you're a stickler for keeping your windows neat and orderly like I am, you may want to check out Yabai (+ skhd): https://github.com/koekeishiya/yabai I used to use BetterTouchTool and Stay to do this, but after a co-worker tipped me off on yabai+skhd, I've been extremely pleased and rarely have to think about window placement (took me a while to get the config "just right", of course). I haven't tried it on Big Sur, but because of the way yabai can assign windows to spaces, I don't believe you'd face this issue.
In macOS Big Sur
> The main reason for the switch was one killer app; the i3 window manager. Keyboard shortcuts, tiled windows, lightning fast to use - it feels like a piece of software designed for people who tinker and use computers a lot. If that's the main reason, how about yabai on Mac? https://github.com/koekeishiya/yabai > 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.
In Running Linux on My MacBook

Showing the 15 most recent of 21 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.