HashNotch 1.3.0
HashNotch turns the MacBook notch into a live display — processor, memory, temperatures, battery, storage, network, AirPods, timers, AI token spend, and alerts from your AI coding tools. Native Swift, no telemetry, no account, no network access except album artwork. Free and GPL v3.
1.3.0 is 84 commits after 1.2.0 and the largest release so far. Temperatures now work on every Mac rather than only Apple Silicon, the network readout tells you which programs used your data, the timer survives a locked lid, and every heading in the panel is drawn by the app instead of borrowed from the system.
Temperatures on every Mac
The temperature rows read the SMC directly, so an Intel Mac gets real processor, drive and battery readings instead of an empty section. The rows also hold one order whatever the numbers do — sorting hottest-first meant they swapped places while you were looking at them, which makes a value impossible to follow.
Your data, program by program
Under the data-used figure there is now a list you can open and shut: which programs used the most, and how much each of them used. It reads Apple's own nettop, per process, with no address, no port and no remote host requested or returned.
A program can never be shown using more than your Mac used. The first version could: it treated "absent from the last sample" as "started since the last sample" and counted a process's entire lifetime counter. It now asks the kernel when each process actually started. Anything unknowable is counted as history, because a breakdown larger than its own total is the error that costs trust.
A timer that survives a locked lid
Locking your Mac used to cancel a running timer. Silently — no alert, no trace. Display sleep at ten minutes against a twenty-five minute timer is most timers anybody sets. Sleeping now suspends the samplers without touching a deadline, and the alert is scheduled with the system so it arrives even while the screen is off.
The length is set with a wheel you drag or press, it remembers what you chose, and a finished timer takes the strip and lights the notch amber like anything else that wants you.
A total that does not look like a speed
How much you have used sat directly under how fast you are going, drawn identically — two readings answering completely different questions, looking like one answer given twice. They are told apart now by their mark, their unit, and the space between them.
AI spend on one line
Today's token total across Claude Code, HashCortX and HashCerebrum, on a single row with how old the figure is beside it, and the per-tool breakdown on hover. It counts on its own schedule rather than only when you happen to look.
The agent side sets itself up
Connecting an AI tool to the notch used to mean finding a shell script inside the app bundle and running it in a terminal. There is a page in Settings now with a button that connects Claude Code, says whether it is already connected, and offers to update the installed copy when it falls behind the app.
It tells you; it never intercepts. When a tool stops for a permission or a question, the notch says so and holds its edge amber until it is dealt with — click it and the waiting window comes forward. Nothing here can allow or refuse a tool call: the hook writes a local file and returns nothing your agent acts on, so no tool call is ever held open waiting for the notch.
Any tool works, not only the ones named here. One line in your shell profile and a ; after the command you already run.
The panel draws its own marks
Every heading has a mark drawn from geometry in the source, at two line weights so a mark stays readable at nine points instead of inking into a blob. These are the same paths the app draws — the pictures above are generated from that geometry, so the release notes and the panel cannot drift apart.
The notch lights up around its edge
A hairline traces the physical notch: green when a tool finishes, amber while something waits on you, breathing a little faster the longer it waits. The black is now exactly the hardware — the lit border is drawn outset onto the screen below it, rather than the app painting over the notch itself.
Also in this release
Settings no longer offers choices that do nothing — a display option now has to change what somebody sees, and a check holds the options against the code so one cannot drift from the other. The battery is drawn to the level it is actually at. A figure is never cut short to fit. A panel row cannot break in two. Graphs no longer turn into a solid slab when a reading sits high. Closing the app no longer loses the day's traffic.
Full list: CHANGELOG.md
Install
- Download HashNotch-1.3.0.dmg below and open it. Drag HashNotch onto the Applications folder beside it, then eject the image.
- macOS will say it cannot verify the developer. This build is ad-hoc signed and not notarised — there is no paid Apple certificate behind it, and that is deliberate. Click Done, then open System Settings → Privacy & Security, scroll to the bottom and click Open Anyway. Once only.
- The app has no Dock icon and no menu-bar item. It lives at the notch: move your pointer there.
If there is no "Open Anyway", or clicking it changes nothing
That is not a broken download. macOS attaches a hidden quarantine label to anything that came from the internet, and for an app with no paid certificate behind it macOS will sometimes refuse outright rather than offer you the choice. One command removes the label:
xattr -dr com.apple.quarantine "/Applications/HashNotch.app"
Open Terminal, paste that line, press Return. It prints nothing, which means it worked. Run it after the app is in Applications, then open the app normally.
Upgrading from 1.2.0: replace the app and your settings carry across. If you use the Claude Code hook, the panel will tell you the installed copy is behind and put an Update button on the notice — the hook is at version 17 in this release.
Requires macOS 12 or newer on Apple Silicon or Intel. A Mac without a notch gets the same panel, drawn at the top of the screen.
Check the download is the one I published
Optional, and worth doing if you care where your software came from. This prints a fingerprint of the file you downloaded; if it matches the one below, your copy is byte-for-byte the one built and uploaded here, and nothing altered it in between. Run it in Terminal in the folder you downloaded to:
shasum -a 256 HashNotch-1.3.0.dmg
It should print exactly this:
ec48568685972a0e7c547503b415e6c9557d11a6826de0915ae3bfee94eab6e0
917 automated checks run before every push, and again on GitHub for every change: the parsers, the geometry, the privacy rules and the arithmetic behind every readout. Every commit and every tag is signed. What the app reads, why, and both private Apple interfaces it uses are written down in SECURITY.md.