# Hover on macOS

Hover 3.4 runs on a Mac. The app is written in Swift (the notch, the menu bar, Settings and voice) around the same web office and the same Rust backend as Windows and Linux. It builds on the work of Arz ([@Entourage397](https://github.com/Entourage397)), whose macOS v1.0 did the same job for Hover 2.x.

> **Status:** the Mac app is new, and the project says it **hasn't been run on a Mac yet**, so treat it as a preview. If you try it, what worked and what didn't is the most useful report you can send: [open an issue](https://github.com/4regab/Hover/issues).

## Install

1. Download `Hover-3.9.0-macos-arm64.dmg` (Apple silicon) or `Hover-3.9.0-macos-x64.dmg` (Intel) from [the release page](https://github.com/4regab/Hover/releases/tag/v3.9.0).
2. Open it and drag Hover to Applications.
3. The app is signed ad hoc and **not notarized yet**, so the first time, open it with right-click → Open (or System Settings → Privacy & Security → Open Anyway).

## Build it yourself

You need macOS 14 or later, Xcode's command line tools, [Rust](https://rustup.rs) and Node. From a clone of [4regab/Hover](https://github.com/4regab/Hover):

```sh
xcode-select --install
scripts/build-macos.sh          # dist/macos-osx-arm64/Hover.app (HOVER_ARCH=x64 for Intel)
open dist/macos-osx-arm64/Hover.app
```

The bundle is signed ad hoc and not notarized. It has no Dock icon: Hover is the notch and its menu bar item. Only Apple silicon is checked in CI.

## What is different on a Mac

- **The notch** wraps the camera housing. A Mac without a notch gets a notch-sized pill at the top centre. Hover it, click it or press Option-N to open the office.
- **Quotas are in the menu bar**, not the island: each reader you switch on shows the tool's logo in a ring of its used share, then the percentage.
- **Shortcuts are fixed**: Option-N opens the office and Control-Option-Space is the voice shortcut.
- **Voice uses Apple's recognizer** on the Mac, on device where the language allows. There is no Phonon, Groq or cleanup on a Mac.
- **Your data** is in `~/Library/Application Support/Hover`, and the key that encrypts your history is in the login Keychain.
- **Agents are found through your login shell's `PATH`**, so Homebrew, `~/.local/bin` and npm's folders work.

## Only on a Mac

| Feature | What it does |
| --- | --- |
| **Agent setup** | A *Set up* row on each agent's page installs what is missing with the maker's own installer and opens its sign-in. Hover never sees the credentials. |
| **Agent browser** | Every agent gets a browser it can open pages in, read, click and type in. You watch it in the [desk card's](https://tryhover.co/docs/desk-card.md) Browser tab. |
| **Computer use** | Off until you switch it on. Agents operate other apps in the background through Cua Driver. |
| **Agent desktops** | Off until you switch it on; needs macOS 26 or later on Apple silicon. Each project gets its own macOS virtual machine (a Cua Space) that its agents work in instead of your screen. Drag an app or files onto the notch to send them there. |

## Computer use

Switch it on in Settings. Hover then gives every agent [Cua Driver](https://github.com/trycua/cua), and Settings installs it and asks for its two permissions, which go to CuaDriver, not to Hover.

- It works in the background: input goes to the app the agent names, without moving your pointer or taking focus.
- Hover's guard refuses what would get in your way: input to the whole desktop, raising or moving windows, the clipboard, and quitting apps.
- Under Ask first, Ask always and Read only its calls are treated like any other tool call: asked about, or refused.
- The desk card's Screen tab shows the agent's apps live.

## Permissions

| Permission | Asked by | For |
| --- | --- | --- |
| Microphone and Speech Recognition | Hover | Voice, the first time you use the shortcut |
| Screen Recording | Hover | The desk card's Screen tab (Hover must be restarted after the grant) |
| Accessibility and Screen Recording | CuaDriver | Computer use |
| Keychain | Hover | Its history key, and Claude Code's own sign-in for the quota if that reader is on |

## The sandbox

On a Mac the [sandbox](https://tryhover.co/docs/sandbox.md) needs `srt` and `rg`: `npm install -g @anthropic-ai/sandbox-runtime@0.0.78` and `brew install ripgrep`. Without them agents start unsandboxed.

---

Part of the [Hover docs](https://tryhover.co/docs.md) (Getting started). HTML version: https://tryhover.co/docs/macos. Index for agents: https://tryhover.co/llms.txt