For Claude Code on macOS

Claude asks.
Basher answers.

A small menu-bar app that says yes to Claude Code’s bash prompts for you, in Terminal, VS Code and Cursor. You choose which sessions it watches, and Claude Code’s own deny list decides what never runs.

Download for Macv2.6 · Intel and Apple Silicon · macOS 13+ · notarized by Apple

Stay in flow

Long Claude runs stall on “Do you want to proceed?” while you are in another window. Basher answers that one prompt from inside Claude Code, even in background tabs.

Every terminal you use

Terminal.app, VS Code, Cursor and the Claude Code panel, including sessions that were already open.

A switch per session

The menu shows each Claude session, coloured by state. Turn any one off, or pause Basher entirely.

You set the limits

Basher approves every bash prompt. Commands on your Claude Code deny list are refused before it sees them.

Install in a minute

One download covers Terminal, VS Code and Cursor.

  1. Open the DMG and drag Basher into Applications.
  2. Open Basher. It lives in the menu bar, not the Dock.
  3. Switch on “Approve inside Claude Code (all apps)” in the menu. That covers Terminal, VS Code, Cursor and the panel.
  4. Optional: to list VS Code or Cursor sessions in the menu, install the bundled extension: code --install-extension /Applications/Basher.app/Contents/Resources/Basher.vsix (use cursor for Cursor).

Keep a deny list

Basher says yes to every bash prompt Claude Code shows. Commands you list under permissions.deny in ~/.claude/settings.json are refused by Claude Code before any prompt, so Basher never sees them. A good start:

Bash(sudo *)Bash(rm -rf *)Bash(git push --force*)Bash(git reset --hard*)Bash(* | sh)