ScriptsMay 21, 2026·3 min read

Amethyst — Automatic Tiling Window Manager for macOS

An open-source tiling window manager for macOS that automatically arranges application windows into non-overlapping layouts using keyboard shortcuts.

Agent ready

This asset can be read and installed directly by agents

TokRepo exposes a universal CLI command, install contract, metadata JSON, adapter-aware plan, and raw content links so agents can judge fit, risk, and next actions.

Native · 98/100Policy: allow
Agent surface
Any MCP/CLI agent
Kind
Skill
Install
Single
Trust
Trust: Established
Entrypoint
Amethyst Overview
Universal CLI install command
npx tokrepo install f8e33811-550f-11f1-9bc6-00163e2b0d79

Introduction

Amethyst is an automatic tiling window manager for macOS inspired by xmonad. Instead of manually dragging and resizing windows, Amethyst automatically arranges all open windows into a chosen layout pattern, keeping the screen organized without overlapping.

What Amethyst Does

  • Automatically tiles all windows into non-overlapping layouts
  • Offers multiple layout algorithms: tall, wide, fullscreen, column, and more
  • Switches layouts on the fly with keyboard shortcuts
  • Moves and resizes windows across multiple monitors
  • Assigns specific layouts to individual Spaces

Architecture Overview

Amethyst is a native Swift application that hooks into the macOS Accessibility API to observe window creation, destruction, and focus changes. When a window event fires, the active layout algorithm recalculates positions for all managed windows and applies the new frames. Layout state is maintained per-Space, and user preferences are stored in a plist or YAML configuration file.

Self-Hosting & Configuration

  • Install via Homebrew: brew install --cask amethyst or download from the website
  • Requires macOS 12 or later with Accessibility permissions enabled
  • Configure keyboard shortcuts and layouts in the Preferences panel
  • Use a .amethyst.yml file in your home directory for version-controlled config
  • Exclude specific applications from tiling via the floating list

Key Features

  • Multiple built-in layouts including tall, wide, 3-column, widescreen-tall, and binary space partition
  • Per-Space layout memory that persists across layout switches
  • Mouse-follows-focus option for multi-monitor setups
  • Window margin and padding controls for visual spacing
  • Fully customizable keyboard shortcuts via config file

Comparison with Similar Tools

  • Rectangle — Manual snap-based window management; Amethyst is automatic tiling
  • Yabai — Scriptable tiling WM with more features but requires partial SIP disabling
  • Magnet — Paid manual snapping tool from the Mac App Store
  • i3/Sway — Linux tiling WMs; Amethyst brings a similar philosophy to macOS
  • AeroSpace — Newer macOS tiling WM with i3-inspired tree-based layout model

FAQ

Q: Does Amethyst work with Stage Manager? A: Stage Manager changes how macOS manages window groups, which can conflict with Amethyst's tiling. Most users disable Stage Manager when using Amethyst.

Q: Can I float specific windows? A: Yes. Press the float shortcut on any window to remove it from the tiling layout, or add the application to the permanent floating list in preferences.

Q: Does it work with multiple monitors? A: Yes. Each monitor manages its own set of tiled windows independently, and shortcuts let you throw windows between screens.

Q: How does Amethyst differ from Yabai? A: Amethyst is a pure Accessibility API app with no system modifications needed. Yabai offers more control (window opacity, borders, stacking) but requires disabling parts of System Integrity Protection for full functionality.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets