Releases: kabrapratik28/Everest
Release list
Everest 0.2.7 — the style hint stops clipping the keyboard hints
A layout fix for something 0.2.6 introduced.
0.2.6 added a line under the style list saying where to edit your styles. The panel is capped at 40% of the screen height, and on a smaller or scaled display that extra line pushed the keyboard hints off the bottom, so 1-9 Pick a style, ↑↓ Move and esc Cancel rendered half cut off. Those hints are the only place those keys are ever shown.
The hint now sits on the header line, to the right of Choose a style, where the panel already had empty space. It costs no height at all, so nothing clips at any screen size and the keyboard hints are back.
If you are on 0.2.6, this is worth taking.
Verifying this build
shasum -a 256 Everest.dmg
f4152bcb9ab523da7edea9629ae632b4318c9e6f43c600d25d5b5b39c13af5fe
spctl -a -vvv -t exec /Applications/Everest.app
# accepted
# source=Notarized Developer ID
Everest 0.2.6 — the picker says where styles live, try-it explains the first wait
Two small things that were costing people their first run.
The style picker now says the list is yours. Press the Choose Style shortcut and the panel ends with Add or edit these in Settings ▸ Prompts. The six shipped styles were reading as the whole product; they were never meant to be.
The try-it step explains the first pause. The model is about 2.3 GB and loads into memory on first use, not at launch, so the very first rewrite sits for a few seconds with nothing moving. Onboarding now says so, instead of leaving you to conclude it is broken. Every rewrite after the first is quick.
Signed with an Apple Developer ID and notarised. Both the disk image and the app carry a stapled ticket, so a first launch works with no network.
Verifying this build
shasum -a 256 Everest.dmg
f2bbdbfe78f2e81f49ede2e6d52dbbdebef24362e1a5bb94e7e6ac5300907d30
spctl -a -vvv -t exec /Applications/Everest.app
# accepted
# source=Notarized Developer ID
Everest 0.2.5 — notarised, opens on a double click
Everest is now signed with an Apple Developer ID and notarised by Apple.
The Open Anyway step is gone. Download, drag to Applications, open. No Gatekeeper warning, no trip to System Settings, and it works on a first launch with no network because the ticket is stapled to the app itself rather than only to the disk image.
Nothing else changed. Same local model, same shortcuts, same privacy position: your text still never leaves the machine.
Install
Open the disk image, drag Everest to Applications, and open it. Grant Accessibility access when it asks, then let it download the model (about 2.3 GB, not bundled in the app).
Requires macOS 15 or later on Apple silicon.
Verifying this build
shasum -a 256 Everest.dmg
b50533818b33cbb75d99d8d6fac703b144814efdf7c5307aba7772eb11317c59
spctl -a -vvv -t exec /Applications/Everest.app
# accepted
# source=Notarized Developer ID
# origin=Developer ID Application: PRATIK SHRIKANT KABARA (4Z892PQN29)
Everest 0.2.4 — the guide returns if the permission is revoked
The setup guide now comes back if macOS takes the Accessibility permission away.
Why this matters more than it sounds
macOS ties Accessibility to an app's code signature. Anything that changes the signature revokes the grant, and the switch in System Settings stays on while the permission is actually gone, so there is no reason to suspect it.
Until now the guide only appeared if you had never finished it. Someone who set Everest up and then lost the grant got no guide, no explanation, and a refusal on the next ⌥R with nothing pointing at the pane that fixes it.
This is not hypothetical. When Everest eventually ships notarised, the certificate changes, and every existing install loses Accessibility on that update. This release is what makes that recoverable.
Reopening rewinds to the permission step, rather than resuming where you left off. Resuming at the practice step would tell you to select text and press a shortcut that cannot read anything.
A working install is untouched: the guide does not reappear when the permission is present.
Install
Everest 0.2.2 and later will offer this update itself. Requires macOS 15 or later on Apple silicon.
shasum -a 256 Everest.dmg
e65fdec9b82d3b65da8d84e717a00ed346ceea3ff704b559f5c0f7575f5d429c
Everest 0.2.3 — requires macOS 15, and says so
Corrects the system requirement: Everest needs macOS 15 Sequoia or later, not 14.
0.2.0 and 0.2.1 claimed macOS 14. On a real Mac running 14.6.1 they did not start at all: no window, no menu bar icon, no log. This release makes the requirement honest, so macOS tells you instead of the app failing silently.
What was actually wrong
A dependency uses Swift's typed throws, a Swift 6.0 feature whose runtime entry point _swift_willThrowTypedImpl first ships in macOS 15. It is linked strongly with no fallback, so on macOS 14 the dynamic linker stops the app before a single line of its code runs.
It comes from swift-collections and swift-crypto, pulled in by MLX and the tokenizer libraries, so it cannot simply be removed.
Every structural check on the old build passed and none of them was enough: the declared minimum was right, the newer frameworks were weak-linked, no framework required anything above 14. One strongly-bound standard library symbol is invisible to all of that.
Why raising the requirement is the fix
With the app declaring 14, macOS allowed the launch and the linker killed it in silence. Declaring 15 means macOS refuses up front and shows a clear dialog. The app cannot show that message itself, because the app is the thing that does not run. The disk image window now states the requirement as well, since that is the last thing you see before installing.
On macOS 14? Updating to Sequoia is free and every Mac that runs Sonoma runs Sequoia.
Also in this release
- Auto-update works. Sparkle's helper tools were ad-hoc signed and the updater refused to launch them, which is what produced "An error occurred while launching the installer." Packaging now signs them with the app's identity and fails the build if any of them does not match.
- Updates install rather than only being offered. Reversible in Settings ▸ Privacy ▸ Software updates.
- A diagnostics log at
~/Library/Logs/Everest/, capped at 512 KB, that you can attach to a bug report. It never contains your text.
Install
This one must be installed by hand if you are on 0.2.1 or earlier, because the broken updater cannot replace itself. Auto-update works from 0.2.2 onward.
shasum -a 256 Everest.dmg
2bd51eb679f34323a6c0a9ef817ccc7f8978da48f093beba0c8c32d4de0daf8a
Everest 0.2.2 — auto-update actually works now
Fixes auto-update, which was broken in every release so far.
If you saw "Update error! An error occurred while launching the installer", this is the fix.
What was wrong
Sparkle will not launch an installer whose code signature does not match the app's, which is the point of that check. Everest's own signature was fine, but Sparkle's four helper tools were shipping ad-hoc signed with no team at all:
Everest.app TeamIdentifier=4Z892PQN29
Autoupdate Signature=adhoc, TeamIdentifier=not set
Updater.app Signature=adhoc, TeamIdentifier=not set
XPCServices/Installer.xpc Signature=adhoc, TeamIdentifier=not set
XPCServices/Downloader.xpc Signature=adhoc, TeamIdentifier=not set
So every update downloaded, verified, and then failed at the last step. The packaging script now signs them with the app's identity and fails the build if any nested binary does not match, so this cannot come back quietly.
You have to install this one by hand
The broken helpers are in the copy already on your Mac, so the update that fixes them cannot install itself. Download the DMG below and drag it over. Auto-update works from 0.2.2 onward.
Also
Updates now install rather than only being offered. Both the check and the install are reversible in Settings ▸ Privacy ▸ Software updates.
Install
Open Everest.dmg, drag Everest to Applications, replace the existing copy.
A fresh install is blocked once by macOS. Click Done, then System Settings ▸ Privacy & Security ▸ Open Anyway. On a managed Mac where IT removed that button, run xattr -dr com.apple.quarantine /Applications/Everest.app.
shasum -a 256 Everest.dmg
7781ee5c3968e2b248725ed129f08477a6b4d633f2f29f91febfa63d3c168faa
Everest 0.2.1 — attachable diagnostics log
Everest now keeps a small diagnostics log you can attach to a bug report.
Until now, if something did not work there was nothing to send. The app's internal trail went to the unified log at debug level, which macOS keeps in memory and drops, so by the time you noticed a problem it was already gone.
What it does
A plain text file at ~/Library/Logs/Everest/, capped at 512 KB total and rotated, so it cannot grow without limit. It records the app version, your macOS version and Mac model, whether Accessibility was granted, which engine is selected, and whether the welcome window appeared.
It never contains your text. Not what you selected, not what was rewritten. It is plain text and it is yours: read it before you attach it anywhere.
Reporting a bug
The bug report form now has a one-line command that collects the log along with your versions and copies it to your clipboard.
Also
The welcome guide is once-only by design. If you have completed it and want to see it again, it is Setup Guide… in the menu bar dropdown.
Install
Download Everest.dmg and drag it to Applications. Everest 0.1.1 and later will offer this update itself.
A new install is blocked once by macOS. Click Done, then System Settings ▸ Privacy & Security ▸ Open Anyway. On a managed Mac where IT removed that button, run xattr -dr com.apple.quarantine /Applications/Everest.app.
shasum -a 256 Everest.dmg
09d1bd41ff0d2d216ed7610a39a17e99314a361d1bfcfde6d55ffb4122d7493a
Everest 0.2.0 — now runs on macOS 14 and later
Everest now runs on macOS 14 Sonoma and later, which is every Apple silicon Mac ever made. It previously required macOS 26, and almost nothing actually needed it.
What changed
The old requirement came from one optional engine. Apple's on-device model needs macOS 26, and the whole app was pinned to that rather than just the engine. Everything else floors much lower: MLX at 14, the tokenizer and Hugging Face libraries at 13.
So the app now deploys to macOS 14, and Apple's engine reports its own condition when you are below 26 rather than pretending your Mac is ineligible. An M3 on Sonoma is perfectly eligible; it needs a software update, and the app now says exactly that and keeps using its own local model.
Nothing else changes
Same local model, same shortcut, same behaviour. If you are on macOS 26 you will not notice anything.
Install
Download Everest.dmg and drag it to Applications. Everest 0.1.1 and later will offer this update itself.
A new install is blocked once by macOS. Click Done, then System Settings ▸ Privacy & Security ▸ Open Anyway. On a managed work Mac where IT has removed that button, run xattr -dr com.apple.quarantine /Applications/Everest.app instead.
shasum -a 256 Everest.dmg
b3c5ac92be5fd09805bc0c3a6414713fd5fb2f0ac92fd0fec07df836fd82a2e1
Everest 0.1.3 — replacement works in Linear, ChatGPT and Google Chat
Text replacement now works in Linear, ChatGPT, Google Chat and other React-based web editors. If you tried Everest in one of those and nothing happened, this is the fix.
The bug
Everest asked macOS Accessibility to replace your selection, macOS returned success, and nothing was written. The panel showed a green tick over text that had not changed.
Measured in Chrome 153 against Linear:
role AXTextField
AXValue settable len 144
set AXSelectedText -> success
+120ms len 144 (was 144) marker absent
+1.0s len 144 marker absent
React owns those inputs and never sees an Accessibility write, so the call is accepted and dropped. A plain contenteditable in the same browser replaced correctly, which is why this looked like a browser problem when it is a framework one.
The fix
Everest no longer believes the return value. It reads the field back, and only treats the write as done if something actually moved. When nothing moved it falls through to a real paste, which those editors do handle.
The read-back requires positive proof of failure — the selection must still report exactly the text that was captured and the character count must be unchanged. That matters: confirming loosely would paste a rewrite on top of one that had already landed, and a duplicated paragraph is worse than a rewrite that did not arrive.
And when nothing can write
If neither route works, the panel now stays open with your rewrite and the ⌘C button, instead of dismissing with a tick. A rewrite you can still copy beats a green tick over unchanged text.
Install
Download Everest.dmg, drag to Applications. If you already run 0.1.1 or later, Everest will offer this update itself.
First launch on a new install is blocked by macOS — click Done, then System Settings ▸ Privacy & Security ▸ Open Anyway. On a managed work Mac where IT has removed that button, run xattr -dr com.apple.quarantine /Applications/Everest.app instead.
shasum -a 256 Everest.dmg
430379e5883488591dcaa182fa3a72853e4a33d50e6223a9b76a1b0f5fff7e3f
Everest 0.1.2
Select text in any Mac app, press ⌥R, and a locally-generated rewrite streams into a floating panel and replaces your selection. The model runs on your Mac — nothing is sent to a server, and it works with networking off.
Requirements: macOS 26 or later, Apple Silicon, ~4 GB free for the model.
Install
-
Open
Everest.dmgand drag Everest to Applications. -
The first launch needs one extra step. Everest is signed but not notarised, so macOS will refuse it and say "Apple could not verify Everest is free of malware." Click Done, then go to System Settings ▸ Privacy & Security, scroll to Security, and next to "Everest was blocked to protect your Mac" click Open Anyway.
Since macOS 15 that pane is the only route — right-click ▸ Open no longer works. You do this once.
On a managed or work Mac the Open Anyway button is often removed by IT policy. If it is missing, clear the download flag from Terminal instead:
xattr -dr com.apple.quarantine /Applications/Everest.app. That does not bypass the signature check — it removes the "downloaded from the internet" marker that triggers the block. -
Everest asks for Accessibility permission. It cannot work without it: that is the API it uses to read your selection and write the rewrite back.
-
It then downloads the model, about 2.3 GB, with a progress bar. The model is not bundled in the app.
Use
| Key | Does |
|---|---|
⌥R |
Quick Improve — one prompt, one rewrite |
⌥⇧R |
Choose Style, then rewrite |
Esc |
Cancel an in-flight rewrite |
Both are configurable in Settings ▸ General. ⌥ rather than ⌘ because a global hotkey beats the frontmost app, and ⌘+letter is a formatting command somewhere while ⌃+letter collides with emacs bindings and terminal control codes. ⌥R costs one character, ®.
Replaces in place: native text fields, browsers, editors, chat apps, and — via a verified paste — apps that expose nothing usable to Accessibility, such as Sublime Text and Google Docs.
Hands you the clipboard instead: terminals, where a paste would go to the prompt rather than replace a selection, and PDFs and ordinary web prose, which take no paste at all. The panel stays open and tells you.
Never: password and secure fields. Everest refuses before reading, and re-checks immediately before any synthetic copy.
Known limitations of this build
Stated plainly rather than discovered later:
- Not notarised. Hence the Open Anyway step above. This is a cost decision, not a defect.
- Not tested on a second Mac. This build has only ever run on the machine it was built on. Development certificates are not intended for distribution, and while the signature is valid, "it launches on hardware that never built it" is unverified.
- Apps that take a paste to a command line are handled by an explicit list of terminal bundle identifiers. Four are verified against a real
Info.plist; four (iTerm2, Warp, kitty, Hyper) are from memory and unverified. If your terminal is not covered, add it to Settings ▸ Privacy ▸ excluded apps. - The model can be wrong. It is a 4B local model. Review what it writes, and
⌘Zundoes a replacement.
New in 0.1.2
- Automatic update checks are on by default. 0.1.1 asked first. This build is not notarised, so an update is the only way a bad build can be corrected, and a fix nobody receives is not a fix. The switch is in Settings ▸ Privacy ▸ Software updates, and Check for Updates… in the menu-bar menu works either way.
- A nicer disk image — the window now shows the drag arrow and the three Open Anyway steps, and no longer leaks macOS's hidden folders over the artwork.
- One asset name. Every release from here is
Everest.dmg, sohttps://github.com/kabrapratik28/Everest/releases/latest/download/Everest.dmgis a permanent download link.
On 0.1.0? Update by hand this once; that build predates the updater. On 0.1.1? It can update itself once you accept its first-run prompt.
Privacy
Your selection and your rewrites are not sent anywhere and there is no telemetry. From this version the app does make one other kind of request: the update check, which tells GitHub your IP, app version and macOS version, and nothing about your text. The one real caveat is the clipboard: where macOS will not hand over a selection, Everest reads it with a synthetic ⌘C, and anything on the system clipboard is eligible for Universal Clipboard if Handoff is on. No app can opt out of that. PRIVACY.md has the full account, including what is stored on disk and how to remove it.
Verifying the download
shasum -a 256 Everest.dmg
The expected value is in the release body below the assets.
shasum -a 256 Everest.dmg
96bcbb5df2e328a8b8e297828348bfa2ba105a42d20414e7e015c37fa171dc27