KiwiDesk README

The project's README from github.com/KiwiCanopy/KiwiDesk. As one markdown file: README.md.

KiwiDesk

Tiling that feels like it shipped with macOS.

Start simple. Grow without limits. KiwiDesk tiles your windows the moment you install it — no config required. When you want more, go deeper: custom Lua, profiles, advanced layouts, per-space rules. Powerful when you reach for it, never in your way.


macOS 14+ Swift 6 CI License BSL 1.1 Homebrew Release

Website · Docs · Quick Start · Recipes · Changelog · Roadmap · Sponsor

Windows gliding sideways through the scrolling layout as focus moves between them

Why KiwiDesk?

I love tiling window managers, but I could never recommend one to a friend who doesn't live in a terminal. On the Mac they all want a config file first; they feel like a nerd's toy. KiwiDesk is the one I can hand over: it tiles your windows the moment it starts, everything is a slider or a switch in a real Settings window, and going deeper feels like learning a feature rather than hacking a file. When you do want the file, it is there: Lua config, a CLI and a socket, the whole nerd's toy underneath.

It is also built to survive macOS updates. Every private Apple API has a public fallback, and the two things only Apple's own bridge can do switch themselves off after an update instead of breaking.

How it compares with yabai, AeroSpace and the rest →

Installation

Requirements: macOS 14 or later, on Apple silicon.

brew install --cask kiwicanopy/tap/kiwidesk

Or download the .dmg — the same signed, notarized app; the cask additionally puts the kiwidesk CLI on your PATH. Either way KiwiDesk checks for updates itself.

On first launch a wizard walks you through the Accessibility permission, then tiles your windows straight away. Everything past that — Settings, the CLI, Lua — is in the Quick Start.

Building from source

For contributors, or to run an unreleased commit. Requirements: macOS 14+, Xcode 16+ / Swift 6.

git clone https://github.com/KiwiCanopy/KiwiDesk.git
cd KiwiDesk
swift build -c release
.build/release/KiwiDesk           # run the app

Contributing

See CONTRIBUTING.md and AGENTS.md; AI coding agents are welcome. To report a vulnerability, see SECURITY.md.

License

Business Source License 1.1: using KiwiDesk is free, at home and at work; offering, selling, bundling or hosting it or a derivative as a product or service needs a commercial license. Each version becomes MIT four years after publication.


KiwiDesk's source is public. If you like it, leave a ⭐ — it is the one thing that helps other people find it.


A KiwiCanopy project — Because our time is precious 🥝

KiwiDesk (KiwiCanopy/KiwiDesk)

Searching Database…

What is this?KiwiDesk is a tiling window manager for macOS that tiles your windows automatically with no config file required, controlled through a native Settings app, while still exposing a Lua config, CLI and socket for power users underneath.
Is this a GUI app or do I need to hand-edit a config file to use it?It is a native macOS app with a real Settings window — tiling, layouts and rules are sliders and switches out of the box, and only if you want to go deeper do you touch the Lua config, CLI or socket.
How do I install and get it running?Download the signed, notarized .dmg, or install via the Homebrew cask (which additionally puts the kiwidesk CLI on your PATH); on first launch a wizard walks you through granting the Accessibility permission and then it starts tiling right away.
What does my Mac need to run it?macOS 14 or later on Apple Silicon — Intel Macs are not mentioned as supported. Building it yourself from source additionally needs Xcode 16+ and Swift 6.
Does it need SIP disabled like some other tiling managers?No — KiwiDesk only asks for the Accessibility permission and is explicitly built to never require disabling System Integrity Protection.
What are the license terms I should know about?It ships under the Business Source License 1.1: free to use personally and at work, but offering, selling, bundling or hosting it (or a derivative) as a product or service needs a commercial license; each version converts to MIT four years after its release.
How many layouts does it offer?Seven layouts, including a PaperWM-style scrolling layout alongside the more traditional ones.
Does switching to KiwiDesk break native macOS Spaces/Desktops?No, native macOS Desktops are kept intact rather than being replaced by a custom virtual-desktop system.
Will a macOS update break KiwiDesk?It is built to survive updates: every private Apple API it uses has a public fallback, and the few things only Apple's private bridge can do simply disable themselves after an update instead of breaking the app.
How is it different from yabai or AeroSpace?Unlike yabai it never requires disabling SIP, and unlike config-file-first tools like AeroSpace it tiles out of the box through a GUI Settings app, while still offering the same Lua config and CLI power underneath for those who want it.
What are similar projects?omacosy, DockDoor, glazewm, rift, Sapphire, rooms, AeroSpace, OpenYoink
Creator
KiwiCanopy
Size
80 MB
Stars
172
Age
3mo
Commits · 90 Days