Everything needed to install it, grant the two permissions, learn the chords, and work out what is wrong when something does not fire.
Getting started
Overpane runs on macOS 13 Ventura and later. There is no installer and no configuration file — it reads the screen, it drives an agent, and it draws a panel.
1. Install and launch
Move the app into /Applications and open it. It has no dock icon and no window of its own at launch — it lives in the menu bar. The panel appears the first time you run an action.
2. Grant the two permissions
Both dialogs appear on the first launch. Neither is asked for before the app has finished starting, so you never get a consent dialog in front of a half-started application. The walkthrough is in the next section.
3. Point it at an agent
On a bring-your-own tier, confirm your CLI resolves in a fresh terminal —which claude. The app looks it up once, at first use, through a login shell, and remembers where it found it. To pin a different model without recompiling, setMC_MODEL in the environment it launches with.
4. Press a chord
⌃⌥⌘A asks about whatever is on screen right now. The status screen — shown when the app is ready — tells you which hotkey path is live and which capture path is in use. Read it once; it is the app being honest about its own state rather than assuming.
Setup
The permission walkthrough
Two grants, asked for once. One is required; the other changes which of two hotkey paths the app uses.
Screen Recording
Required
Without it the app cannot read the screen and no action can do anything.
1.Approve the dialog on first launch, or open System Settings → Privacy & Security → Screen Recording.
2.Switch Overpane on in that list.
3.Quit and reopen the app. macOS only applies a new Screen Recording grant to a fresh launch — this step is not optional and is not the app being awkward.
Accessibility
Recommended
It lets the app install a keyboard tap and handle the chord’s modifier keys itself, rather than letting Control, Option and Command reach whatever application is in front of you when you only pressed them to talk to this one.
1.Open System Settings → Privacy & Security → Accessibility.
2.Switch Overpane on.
3.No restart needed. The app re-checks this grant continuously and adopts the tap the moment it is allowed — and drops it the moment it is not.
If you decline it, every chord still works: the app keeps a Carbon hotkey registration armed underneath the tap at all times, so it can never become unreachable when the grant changes. What you lose is the modifier handling. The panel’s status screen names which path is live rather than claiming the better one unconditionally.
Reference
All 20 chords
Every chord is Control + Option + Command plus one key. Every one of them also appears in the menu bar item, so the app stays usable even if both hotkey paths fail.
Prefix: ⌃ Control ⌥ Option⌘ Command
Every keyboard chord in Overpane, grouped by what it does
Chord
Menu item
What it does
Ask
⌃⌥⌘A
Answer
One sentence to say out loud, then the evidence behind it.
⌃⌥⌘S
Summarize
Three things you need to know about what is on screen.
⌃⌥⌘J
Code
The problem solved in reviewable Java, with complexity.
Code review of what is on screen, worst finding first.
Screens
⌃⌥⌘K
Capture
Add this screen to a set, for a problem longer than one viewport.
⌃⌥⌘R
Clear captures
Throw the capture set away and go back to reading the live screen.
Reading
⌃⌥⌘↓
Scroll down
Scroll the answer down four fifths of a page.
⌃⌥⌘↑
Scroll up
Scroll the answer up four fifths of a page.
⌃⌥⌘[
Jump to top
Jump to the start of the answer.
⌃⌥⌘]
Jump to bottom
Jump to the end of the answer.
⌃⌥⌘−
Smaller text
Reduce the panel text size one step.
⌃⌥⌘=
Bigger text
Increase the panel text size one step.
Panel
⌃⌥⌘V
Verify
Run the three capture checks and report PASS, FAIL, or COULD NOT MEASURE.
⌃⌥⌘M
Pass-through on/off
Toggle whether the panel accepts the pointer at all.
⌃⌥⌘H
Hide / show panel
Fade the panel out and back, without reordering any window.
⌃⌥⌘;
Backdrop clearer
Let more of the screen behind the panel show through.
⌃⌥⌘'
Backdrop denser
Darken the wash behind the panel text.
App
⌃⌥⌘Q
Quit
Quit, and delete everything the app wrote to disk.
Twenty in total. If a chord is taken by another application, macOS gives it to whoever registered it first — see troubleshooting below.
Working with more than one screen
Capture sets
A problem that does not fit in one viewport needs more than one screenshot. That is what Capture is for.
How to use it
Press ⌃⌥⌘K to add the current screen to the set. Scroll, press it again. When you then run any ask action, it is asked of everything you collected rather than of the live screen. ⌃⌥⌘R throws the set away and goes back to reading the live screen.
Why it expires
A set is discarded after ten minutes, on two independent clocks — one since the last Capture and one since the set was last used at all. A set that never ages is a set that silently stitches this afternoon’s problem onto this morning’s, and the model is handed both.
Privacy
Screen-share privacy
Screen-share privacy
Overpane asks macOS to keep its panel out of screen captures, so your notes and prompts stay out of a shared stream or a screenshot. Press ⌃⌥⌘V to measure the result on your own machine — it reports PASS, FAIL, or COULD NOT MEASURE.
This is a confidentiality feature and its scope is exactly that: what a shared stream or a screenshot contains. It says nothing about what other software on your machine can observe, and it is no substitute for telling people you are using an assistant where you are expected to. Our acceptable use policy sets out where it must not be relied on.
The full write-up, including the three verdicts VERIFY can return and an interactive check, ison the overview page, and the promise-by-promise account is on thesecurity page.
Help
Troubleshooting
The failures people actually hit, and what each one means.
A chord does nothing.
Another application may already own it. macOS gives the chord to whoever registered it first. Check System Settings → Keyboard → Keyboard Shortcuts for a conflict, and check the panel’s status screen — it names which hotkey path is currently live.
The status screen says the keyboard path is DENIED.
The Accessibility grant is missing, so the app has fallen back to Carbon hotkeys. Every chord still works on that path. Grant Accessibility in System Settings → Privacy & Security → Accessibility; the app re-checks continuously and adopts the better path the moment it is allowed, with no restart.
It says it cannot read the screen.
The Screen Recording grant is missing. Grant it in System Settings → Privacy & Security → Screen Recording, then quit and relaunch — macOS only applies a new Screen Recording grant to a fresh launch of the application.
The permissions disappeared after an update.
macOS ties both grants to the application’s code signature, so a rebuild with a different identity looks like a different application. Grant them again once against the new build. If they are in a confused state, the repository ships `reset-permission.sh`, which wipes the app’s entries so both can be given cleanly.
No agent was found.
Overpane looks for the CLI on your PATH via a login shell, once, at first use. Confirm `which claude` (or `codex`, or `gemini`) resolves in a new terminal. If your PATH is set up in a file a login shell does not read, move it to one that is.
The answer never arrives.
The panel recovers on its own — it cannot stay wedged, and the chords keep working throughout. Press the action again. If it keeps failing, the agent itself is probably unreachable; run it directly in a terminal to see the real error.
The text is hard to read over a bright page.
Press ⌃⌥⌘ apostrophe to darken the wash behind the text, or ⌃⌥⌘ semicolon to let more of the screen behind show through. The right value depends entirely on what is behind the panel, which the app cannot know, so it is adjustable at runtime rather than a constant someone guessed once.
A modifier key feels stuck.
It should not be — the app guarantees that every modifier keydown it delivers gets its matching release, and it drops all held state rather than resuming it if macOS ever disarms its keyboard tap. If you do see it, quit the app (⌃⌥⌘Q), which leaves the keyboard in a usable state whatever was held at the time, and please report it.
Still stuck? Get in touch — we would rather hear about it than not.