Hammerspoon
Open-source macOS automation tool scripted in Lua, bridging system APIs to user scripts.
Loved for scriptable window management and hotkeys1234, plus on-screen overlays and event-driven Mac automation written in Lua.56789 Complaints are few: one commenter found it had fewer batteries included and a steeper ramp-up than AutoHotkey10, and another regretted the planned move from Lua to JavaScript.11
Why people recommend it
Window management · 3
Commenters use it to build keyboard-driven window positioning, resizing and layouts.
“I'm now happy with hotkeys in Hammerspoon that reposition and resize the current window to one of these presets”
Show 1 more
“I use ShiftIt (a lovely project, but dead) reimplemented in Hammerspoon. It is very comprehensive.”
Screen overlays · 3
It can draw borders, labels, notifications and panes over other windows.
“I made a config with hammerspoon that makes the border of my screen glow orange when claude code is waiting for my input.”
“only hs had the ability to render custom panes over maximized windows.”
Show 1 more
Event automation · 3
Scripts react to USB, display and docking events to change system settings.
“I use it to enable/disable the wifi when I disconnec/connect the macbook to a specific usb hub”
“controlled by a Hammerspoon[2] script[3] that calls its CLI on the appropriate display events”
Show 1 more
Lua scripting · 3
Commenters like that it is Lua-enabled and fully customizable.
“Wondrous piece on its own, it is Lua-enabled”
Show 1 more
“I can just customize my hammerspoon config to behave differently”
Custom hotkeys · 3
Used for app-switching shortcuts, key remapping and keybinding overlays.
Show 1 more
“Hammerspoon for the menu tree and keybinding overlay”
Caveats and dissent
Steep ramp-up · 1
One commenter found it had fewer batteries included than AutoHotkey, so simple tasks needed extra code.
“it felt more like fewer batteries were included, which made the ramp up seem steeper.”
Time investment · 1
Building a setup from Hammerspoon and similar tools was described as a massive time investment.
“I use a variety of smaller apps and scripts to make it less awkward”
Lua to JavaScript · 1
One user was sad about the planned move from Lua to JavaScript.
Often compared with
Who recommends it in their own words
Threads where it came up
- Hammerspoon 12 mentions
- Apple M6 Pro achieves the highest single-core CPU score in Geekbench 7 1 mention
- Show HN: I built a version of Omarchy that runs on Apple Silicon 1 mention
- GUIs should be fully keyboard-driven 1 mention
- Omacom Foundation Launches with $8M 1 mention
- Ask HN: New clean macOS install. Must-have apps? Best browser? 1 mention
Data: hammerspoon.json. Quotes are verbatim; the verdict and theme labels are written by a model from these comments, and every clause links to its sources.
All comments 24
“I can just customize my hammerspoon config to behave differently”
“Hammerspoon for the menu tree and keybinding overlay”
“which is built on hammerspoon”
“macOS with some hammerspoon binds for window management/layouts”
“Hammerspoon,”
“Wondrous piece on its own, it is Lua-enabled”
“I made a config with hammerspoon that makes the border of my screen glow orange when claude code is waiting for my input.”
“HammerSpoon (Lua), bash, and Apple Shortcuts”
“I'm now happy with hotkeys in Hammerspoon that reposition and resize the current window to one of these presets”
“only hs had the ability to render custom panes over maximized windows.”
“I love Hammerspoon!!”
“I really like the Label feature.”
“implement a keyboard based window manager”
“I use ShiftIt (a lovely project, but dead) reimplemented in Hammerspoon. It is very comprehensive.”
“I use it to enable/disable the wifi when I disconnec/connect the macbook to a specific usb hub”
“I use this to remap app keys:”
“I use it to hide Zoom's screen sharing controls so they don't come back when pressing Esc:”
“I use it to give me focus-follows-mouse and to have a large circle surrounding the mouse”
“I love hammerspoon. That's it :D”
“I utterly love Hammerspoon.”
“I use a variety of smaller apps and scripts to make it less awkward”
“MacOS + launchd + hammerspoon”
“controlled by a Hammerspoon[2] script[3] that calls its CLI on the appropriate display events”
“it felt more like fewer batteries were included, which made the ramp up seem steeper.”