Repository navigation
Your agent's own interrupt is now the stop button.
Upgrade: after upgrading, run macos-harness install --agent <yours> again. Old Codex hooks do not stop typing on Esc.
Changed
- Ctrl+C, or Esc in Claude Code, Codex or Pi, stops the running action (a long
type_text, a drag, a hold) before its next key or click. - Removed: Escape twice, the menu bar item,
stopandresume. An old stop file is no longer read, so a stop left over from earlier can no longer block every call. - Every refusal the agent sees now says what happened and what to do next.
ask_before_first_useasks in a small panel of its own.- Fixed: two agents starting at the same moment could fail their first read with
KeyError: 'AXUIElementCreateApplication'.
Measured on a real Mac
Interrupt sent 0.6 s into a 2,000-character type_text:
| host | interrupt | typed |
|---|---|---|
| Pi | Esc | 680 |
| Codex | Esc | 649 |
| Claude Code | Esc | 748, 777 |
codex exec |
Ctrl+C | 562 |
pi -p |
Ctrl+C | 945 of 10,000 |
Live tests 23 of 23. Two agents at once right after a helper restart: 10 of 10 clean. Pointer moved 0 times, front app changed 0 times.
Known limits
- No global kill switch: a headless or scheduled run is stopped by ending its process.
nohup macos-harness ... &stops when its shell exits.