Skip to content

v0.1.0

Choose a tag to compare

@egeyesss egeyesss released this 27 Aug 19:32
· 99 commits to main since this release
2da08b2

First release. An always-on-top terminal that works out what the CLI
inside it is doing, gets out of the way while it works, and comes back
when it wants you.

Install

brew install --cask egeyesss/overterm/overterm
xattr -dr com.apple.quarantine /Applications/OverTerm.app

The second line is needed because the app is not signed with an Apple
Developer certificate yet. Homebrew marks anything it downloads as
quarantined, and macOS refuses to open a quarantined app it cannot
verify, reporting that the developer could not be checked for malware.
Removing that mark is what lets it open. On macOS 15 and later, opening
it from the right-click menu no longer works as a way around this.

Signing will remove the need for the second line entirely.

Universal build, Apple silicon and Intel, 7 MB.

What it does

  • Runs any CLI in a real PTY, so full-colour interactive TUIs work
    untouched
  • Works out whether the session is idle, busy, finished, or waiting on
    you, by reading the terminal, with nothing to install or configure
  • Collapses to a one-line bar once you hand it a job, and expands again
    when it wants you, without taking keyboard focus from whatever you are
    typing in
  • Floats above other windows on every Space, including over full-screen
    apps
  • Cmd+Shift+O from anywhere summons or hides it

Claude Code

Running Claude Code it reads the real events rather than inferring them.
On first launch it adds four hook entries to ~/.claude/settings.json,
one each for a prompt being submitted, a turn finishing, a turn failing,
and a permission prompt appearing. Each is a single printf that prints
a fixed JSON object, which Claude Code turns into an escape sequence in
the terminal that OverTerm reads back. Nothing listens on a port and
there is no secret to handle.

They go in once. Removing them sticks, and uninstalling through Homebrew
takes them with it.

Known rough edges

  • Unsigned, so the install needs the second line above
  • The icon is a placeholder
  • Clicking the window makes the app frontmost, like any ordinary window