Does it replace Apple's Dock?
It replaces what you see. Apple's Dock keeps running, hidden, so Cmd-Tab, Mission Control and app badges keep working exactly as before.
Is it safe?
You can check for yourself. BetterDock is open source under the MIT licence, so every line is on GitHub. It will ship as a signed, notarized download; until then you build it yourself from the source.
There is no account and no analytics. The only network calls are album art for Now Playing and the weather from Open-Meteo for the city in your Mac's time zone.
It uses one private macOS framework, IconServices, only to draw Apple's own dark, clear and tinted icon variants, and falls back to its own renderer if a macOS update changes it. It never modifies your apps, and uninstalling restores Apple's Dock exactly as it was.
How do I go back?
Run ./uninstall.sh. It stops BetterDock, removes the login item and brings Apple's Dock back exactly as it was, from the settings it saved before hiding it.
What does it need?
macOS 14 or later on Apple silicon, and Xcode's Command Line Tools to build it. For now it builds from source on your Mac in about a minute.
Will it slow my Mac down?
No. It uses no measurable CPU at rest: 0.0% while the Dock is hidden, and about 0.1% on screen with widgets and a glowing agent dot. It is native Swift and SwiftUI, about 26 MB of memory, with no dependencies.
Which widgets are there?
Eleven: Now Playing, AI Usage, Calendar, Weather, Clock, Focus Timer, System, Network, Storage, Battery and Agents. AI Usage shows your weekly Claude and Codex limits. Each widget is small, medium or large from its right-click menu, and they only update while the Dock is on screen.
How do the icon styles work?
Default, Dark, Clear and Tinted use the same icon variants macOS draws for each app, with seven tint colours. Pick a style, and the Glass, Wallpaper or Ember theme, from any right-click menu.
Is there a Trash?
Yes. It shows whether it is full or empty, opens with a click, deletes files you drop on it and empties from its right-click menu.
Which permissions does it ask for?
Accessibility, to read unread badges from Apple's Dock; permission to talk to Spotify or Music for Now Playing; and calendar access for the Calendar widget. All of them are optional.
How do the agent dots work?
A one-line script adds hooks to Claude Code and Codex and keeps the ones you have. Each hook writes the agent's state to a local file, and BetterDock puts the dot on the app the agent runs in. The same script feeds the AI Usage widget your weekly Claude limit; Codex limits are read from its local session logs.