Yashiki

macOS tiling window manager

Category
Window Manager
WM Type
tiling
License
free
Open Source
Yes
Keybindings
Yes
Scripting
Yes
Last Update
2026-04-13

Features

  • Tag-based workspaces
  • Multiple tags per window
  • External layout engines via JSON stdin/stdout
  • Shell script configuration
  • Multi-monitor support
  • Window rules
  • No SIP disabling required

Install

$brew install --cask yashiki

About

Yashiki is a tiling window manager for macOS written in Rust that supports tag-based workspaces and external layout engines. It provides flexible window rules, multi-monitor support, and customizable workflows with shell script configuration. The project is under active development and leverages public Accessibility APIs without requiring SIP to be disabled.

Who It's For

Yashiki is for macOS developers comfortable with Unix tooling who want a tiling window manager with tag-based workspaces and the ability to plug in external layout engines. Its tag system (inspired by dwm and similar WMs) allows multiple tags per window and per-workspace tag sets, rather than the fixed one-Space-per-workspace model of most macOS tilers. External layout engines communicate via JSON on stdin/stdout, letting you write a custom layout algorithm in any language. No SIP disabling is required.

How It Works

Yashiki manages windows as a set of tagged entities. Each window can have multiple tags assigned; the visible workspace shows windows matching the active tag set. This enables workflows like "show all windows tagged 'reference' alongside windows tagged 'coding'" without windows physically moving between Spaces. Layout control is delegated to external processes via a JSON protocol: Yashiki sends window and screen geometry, the layout engine responds with placement coordinates. Built-in layouts are also available. Shell script configuration defines window rules that automatically apply tags or layout behaviors to specific applications.

Compared to Similar Tools

Compared to AeroSpace (i3-style, fixed workspaces), Yashiki's tag system is more flexible — windows can belong to multiple workspaces simultaneously, which i3/AeroSpace don't support. Compared to yabai (BSP, SIP partial disable for full features), Yashiki requires no SIP changes and offers the external layout engine extensibility. For users who want the dwm/xmonad tag-based mental model on macOS, Yashiki is the primary option on this list.

Requirements

  • macOS version: check github.com/typester/yashiki for requirements
  • No SIP disabling required
  • Accessibility permission required
  • Free and open-source

Getting Started

brew install --cask yashiki

Launch Yashiki and grant Accessibility permission. Configure window rules and keybindings per the GitHub README. External layout engines can be written in any language that reads/writes JSON on stdin/stdout.

Discussion