~/app

[sudo]

the cross-platform companion app for your sudo macro pad. approve, reject, and control AI agents with a physical button press.

macOS · Windows · Linux

> get the app

macOS

ventura 13.0+ · apple silicon

[ DOWNLOAD .DMG ]

Swift / SwiftUI menu bar app

Windows

Windows 10+ · x64

[ DOWNLOAD .EXE ]

C# / .NET 8 system tray app

Linux

X11 / Wayland · GTK3

[ INSTALL SCRIPT ]

Python / GTK3 AppIndicator

> install from source

$ git clone https://github.com/ibrue/sudo-app

$ cd sudo-app

$ ./install.sh

> button modes

ai search mode

automatically find and press buttons in AI apps using a 3-strategy pipeline.

  • accessibility tree detection
  • vision OCR fallback
  • keyboard fallback
  • custom button labels per app

shortcuts & macros

assign keyboard shortcuts, media keys, or macro sequences to each button.

  • keyboard shortcuts & media keys
  • macro sequences with delays
  • per-app profiles with auto-switching
  • auto-approve rules engine

> default button map

[sudo]
4black

yolo (allow all)

ctrl+shift+F16

3red

reject / no

ctrl+shift+F14

2yellow

make it better

ctrl+shift+F15

1green

approve / yes

ctrl+shift+F13

all buttons are fully configurable with quick presets in the app

> quick presets

presetdescription
ai agentapprove / reject / make it better / yolo for AI permission prompts
plan modeplan-oriented actions for AI coding agents
claude codeoptimized for claude code terminal workflows
system shortcutsscreenshot, copy, paste, undo, save, lock screen
media controlsplay/pause, next, previous, volume
web browsingtab navigation, back, forward, refresh
discord soundboardtrigger soundboard clips

> developer tools

local API

HTTP API on port 7483 for scripting and automation.

  • simulate button presses
  • read/write button config
  • webhook notifications
  • action history

MCP server

gate AI tool use behind physical button approval.

  • POST /mcp/request-approval
  • blocks until button press
  • works with any MCP client

plugin system

extend functionality with json plugin files.

  • drop .json files in plugins dir
  • custom actions & search terms
  • automation rules

> detection stack

featuremacOSWindowsLinux
system trayMenuBarExtraNotifyIconAppIndicator3
hotkeysCGEvent tapRegisterHotKeypynput
button findingAXUIElementUI AutomationAT-SPI2
OCR fallbackApple VisionWindows.Media.OcrTesseract
executionAXPressInvokePatternAT-SPI / xdotool

> firmware (QMK / VIA / Vial)

the sudo macro pad runs QMK firmware on an RP2040 chip. three keymap options are available:

keymapfeaturesreconfigure
defaultCtrl+Shift+F13–F16reflash required
VIAlive remapping via usevia.appno reflash needed
Vialauto-detection, no draft definitionno reflash needed

> supported apps

native apps

Claude for Desktop

ChatGPT

editors & terminals

Cursor · VS Code · Windsurf

VSCodium · VS Code Insiders

Terminal · iTerm2 · Warp

Ghostty · Kitty · Alacritty

web apps

claude.ai · chatgpt.com · grok.com

Safari · Chrome · Firefox · Brave · Edge · Arc · Opera

> requirements

macOS

  • macOS 13 Ventura+
  • Accessibility permission
  • Screen Recording (OCR)

Windows

  • Windows 10+
  • .NET 8 Runtime
  • Run as Administrator (optional)

Linux

  • X11 or Wayland
  • Python 3.8+, GTK3
  • Tesseract OCR (optional)
[sudo] is open source hardware + softwareGitHub →