Your menu bar has quietly turned into a storage unit. Pelmet is the opposite bet: keep the handful of icons you actually glance at, tuck the rest behind a chevron, and hand them straight back the moment your pointer arrives. It is a native macOS app from a single developer, licensed GPL-3.0, and — unusually — it is written specifically for the menu bar Apple rebuilt in macOS 27 rather than for the one the existing menu bar managers were built against.
The repository was created in August 2026 and the project has moved fast since; the current release is 0.2.40, dated 20 September 2026. It is openly inspired by Ice, the long-standing open-source menu bar manager, but shares no code with it: macOS 27's menu bar does not carry the old architecture forward, so Pelmet was rebuilt from scratch for the new one. Its only third-party dependency is Sparkle, for in-app updates.
What It Does
Everything rests on three sections and one rule. Visible is always in the bar. Hidden comes back on a hover or a click. Always Hidden only appears when you ask for it, with a double-click or an Option-click on the chevron. New icons land in whichever section you nominate, and moving an icon afterwards is either a drag in the layout editor or a Command-drag across the chevron, without opening a window at all.
The editor is the part that makes the idea legible: real app-icon previews rather than names, drag-and-drop ordering, and the same three sections you see in the bar. It is also honest about what it cannot touch. The few items macOS protects — Clock, Control Center — are drawn locked in the editor instead of being quietly pretended away, and anything macOS groups together gets a badge explaining that rather than a drag handle that would not work.
System icons are in scope too: Sound, Battery and the rest behave like any other icon. Siri and Time Machine, which macOS only hides as a pair, ship as Pelmet's own replacement items so each can be placed independently. Reveal behaviour is fully configurable — hover with a delay from 0.1 to 0.5 seconds, a click on empty menu bar space, a double-click for the always-hidden set, or the chevron itself. You pick the animation (Instant, Smooth or Fade) and how it ends: auto-rehide after a delay from instant to five seconds, or the moment you click somewhere else.
A few smaller things round it out. Per-display behaviour lets one screen always show everything while another collapses, and whichever display your pointer is on wins. Separators are dividers that behave like icons, with adjustable opacity. Pelmet can also act as a launcher: its own icon for any app, click to open, hides like everything else — the documented fix for apps whose own icon cannot be hidden. And it says nothing to a server: no account, no analytics, no server at all. The only connection it ever makes is checking for its own updates.
How to Install It
The requirement is steep and stated plainly: macOS 27 (Golden Gate) or later. Start with the notarized DMG on GitHub Releases, which is the primary installation path. Homebrew is an optional alternative. Earlier releases use a different menu bar architecture that Pelmet does not target, so there is no fallback build.
# Download the latest notarized DMG:
open https://github.com/fif7y/pelmet/releases
# Move Pelmet.app to /Applications, then grant Accessibility on first launch.On first launch it asks for one permission: Accessibility, which is required, because that is how it reads menu bar item positions and how clicking a hidden item works without revealing everything. Screen Recording is optional and skippable, and only feeds the Instant, Smooth and Fade styles, which play over macOS's own show-and-hide using two stills of the bar. Nothing is recorded or kept; without it, icons animate the way macOS animates them. The app is notarized by Apple and ships with the hardened runtime, but it is deliberately not sandboxed — managing the menu bar needs APIs the App Store sandbox forbids, so this is a direct-download app.
How to Use It
Day to day there is very little to learn. Icons you drag to Hidden disappear and come back on hover, the chevron opens the always-hidden set, and shortcuts cover the rest. The setting worth getting right is the rehide rule, because that is what decides whether the bar feels calm or twitchy: a short hover delay plus an instant rehide when you click away is where most people land.
The built-in replacements deserve their own mention, because they solve a real side effect rather than adding features. macOS temporarily removes its own extras while hiding is active, so Pelmet supplies stand-ins for the media controls, AirDrop, the camera and microphone indicator, a countdown timer, Focus, fast user switching and Shortcuts items — items that survive hiding. Media controls, Time Machine and Focus can be set to appear when active or always, and a Command-drag off the bar turns any of them off.
Cosmetics are covered too: six menu bar icon styles (chevron, arrow, eye, dots, grid, panel), or turn the icon off entirely and reach Settings by keyboard shortcut or a right-click. The interface ships in ten languages — English, German, French, Spanish, Italian, Portuguese (Brazil), Japanese, Simplified Chinese, Korean and Russian — following the system language or a manual override in Settings. The translations are machine-drafted for now, and the project openly invites corrections through the generation script in the repository.
The Screenshots
The README is illustrated rather than described: an animated menu bar showing the collapse and return, an animated clip of an icon being dragged from Always Hidden back to Hidden, and still screenshots of the Behaviour and General panes. The repository keeps them in docs/assets alongside the hero artwork. There is no demo video, so those animations are the closest thing to seeing the motion before you install it.
How It Works Under the Hood
The interesting engineering decision is that Pelmet does not fight the system. macOS 27's menu bar can hide items natively — the mechanism behind the system's assessment (exam lockdown) mode — and Pelmet drives that mechanism directly. It asserts a configuration listing what should stay visible, and macOS itself hides the rest and reflows the bar. That is why hiding does not look bolted on: it is the system's own behaviour, invoked.
The catch is documented rather than glossed over. That hiding API lives in a private Apple framework, MenuBarClientCore. It is not documented and not guaranteed, so a macOS update could change or remove it. Pelmet resolves it at runtime and fails soft: if the API ever disappears, the app reports hiding as unavailable instead of breaking your menu bar. Everything else — item positions, clicks, previews — goes through public APIs, Accessibility and ScreenCaptureKit.
Two consequences follow from driving a private API, and both are in your favour. The app needs no helper process and no Dock icon, so nothing extra is left running. And the failure mode is a feature that stops working, not a system that stops working — which, for a utility living in the one strip of screen real estate you cannot navigate around, is the right trade.
How the Code Is Put Together
The engine is split into two local Swift packages rather than one target: PelmetCore holds the section model and the rehide state machine, and PelmetEngine handles menu bar convergence. Each carries its own test suite and can be run on its own, which is a reasonable shape for logic that has to survive macOS releases.
git clone https://github.com/fif7y/pelmet.git
cd pelmet
xcodegen
xcodebuild -project Pelmet.xcodeproj -scheme Pelmet -configuration Release build
swift test --package-path Packages/PelmetCore
swift test --package-path Packages/PelmetEngineLocalization follows an unusual but sensible rule: the UI strings in Pelmet/Resources/Localizable.xcstrings are generated from a translation table in scripts/gen-xcstrings.py, and the instruction is to edit the script, re-run it and commit both. English keys have to match the code literals exactly. It is more rigid than editing strings in an editor, and in exchange ten translations stay in one reviewable place instead of drifting apart across files. Building from source needs Xcode with the macOS 27 SDK and xcodegen.
Where It Falls Short
Start with the floor, because it is higher than any comparable tool: macOS 27 only. Every Mac on macOS 26 or earlier is out, and that is a hard blocker rather than a mild inconvenience for anyone working on a machine a version or two behind. Nothing hides this — it is the first badge in the README — but it does mean Pelmet is not yet a tool you can recommend to a whole team at once.
The second caveat is the private API. The failure is designed to be graceful, but if Apple changes MenuBarClientCore then hiding simply stops working, and there is no supported path to fall back to. That is a structural risk in the product rather than a bug that will be patched, and it is worth knowing before you build a daily habit around it.
Then the smaller gaps. The translations are machine-drafted. The project is young — created in August 2026, still on 0.2.x — and the current release notes are a list of menu bar edge cases being closed, including icons macOS tucks behind its own overflow chevron, icons belonging to system agents rather than apps, and the camera and microphone indicator drifting back to its slot on the next reveal. Those are the right things to be fixing, and they also tell you where the app is in its life.
The Licence: What You Can Do
Pelmet is licensed under the GNU General Public License v3.0, © 2026 Gabriel Faucon. GPL-3.0 is the opposite of the permissive licences most Mac utilities ship under: it is a strong copyleft licence, and the reciprocity is the entire point rather than a side condition.
What you can do is broad. Run the app for any purpose, including at work. Read and study the source, modify it privately without publishing anything, and redistribute it — modified or not — provided the whole thing stays under GPL-3.0. You can charge for copies and for support. What you cannot do is turn a distributed derivative into a closed-source product: ship a fork and its complete source has to travel with it, under the same licence, with the notices kept and the changes stated.
The practical reading for a Mac user is simple: installing Pelmet costs nothing and grants the same freedoms as any GPL program, because you own the copy you run. The practical reading for a developer is that this is not a codebase to lift into a proprietary app — a fork that you distribute must be open. One dependency, Sparkle, is used under its MIT-style licence, so that part is compatible with anything. Apple's trademarks are not granted by any of this: Pelmet is an independent project, not affiliated with or endorsed by Apple.
Should You Install It
If you are on macOS 27 and your menu bar has quietly filled up, this is an easy yes. It is free, there is no account and no analytics, the hiding is the system's own mechanism rather than a clever imitation, and it is GPL-3.0, so the code is yours to read. If you are on macOS 26 or older, the decision makes itself. And if you want a menu bar manager to be a settled, finished platform, give it another few releases — the project is a month old and still closing its interesting edge cases.
Project facts
- License
- GPL-3.0
- Platform
- macOS 27 (Golden Gate)+
- Written in
- Swift (SwiftUI + AppKit)
- Version reviewed
- v0.2.40 (2026-09-20)
- Repository
- github.com/fif7y/pelmet
Install
# Download the latest notarized DMG:
open https://github.com/fif7y/pelmet/releases
# Move Pelmet.app to /Applications, then grant Accessibility on first launch.License summary
GPL-3.0 is strong copyleft. You can run Pelmet for any purpose, study it, modify it, redistribute it and even sell it, but any derivative you distribute must stay under GPL-3.0 and ship its complete source, with the notices kept and the changes stated. There is no warranty and no trademark permission.



