Install Dough
One command installs the dough CLI, its dependencies, the Dough plugin, and signs you in.
Install on macOS
Open Terminal and run the one command below. On macOS this is the whole setup, not just the CLI: it also installs the dependencies Claude Code needs, installs the Dough plugin, and signs you in.
- Makes sure python3 and git are usable. The CLI binary itself needs no runtime, but the hooks it registers in Claude Code are Python, so a machine without it runs a broken hook in every session. On macOS both tools come from Apple's Command Line Tools, so if those are missing the installer opens Apple's installer and waits for it to finish.
- Detects your chip (Apple Silicon or Intel), downloads the matching binary to
/usr/local/bin/dough— or~/.local/bin/doughif the former is not writable, which is the normal case on a stock Mac — and checks it runs. - Adds that folder to your
PATHin your shell profile if it is not already there, choosing the file your login shell actually reads.DOUGH_SKIP_PROFILE=1opts out. - Registers the Claude Code hooks and verifies they landed, then installs the Dough plugin and signs you in (skipped if you already have a session).
- Safe to re-run: every step checks before it acts, so the same command installs, repairs, and updates. It stops at the first thing it cannot fix and prints what to do.
- When it finishes, fully quit Claude Code and reopen it. Closing the window is not enough — use Cmd+Q, or right-click the Dock icon and Quit. Claude Code reads the plugin and hooks at startup.
- Open a new terminal before using the
doughcommand.curl | shruns in its own shell and cannot change thePATHof the window you started it from.
shellcurl -fsSL https://raw.githubusercontent.com/Dough-AI/dough-installer/main/install.sh | shInstall on Windows
Open PowerShell (or Windows Terminal) and run the one command below. On Windows this is the whole setup, not just the CLI: it also installs the dependencies Claude Code needs, installs the Dough plugin, and signs you in.
- Installs Python 3 if
pythonis not already a working interpreter. The CLI binary itself needs no runtime, but the hooks it registers in Claude Code are Python, so a machine without it runs a broken hook in every session. - Installs Git for Windows if
bash.exeis missing. The Claude Code desktop app refuses local sessions without its Git Bash, andgitbeing onPATHdoes not imply it — a minimal git passesgit --versionand leaves the app blocked. - Downloads
dough.exeto%LOCALAPPDATA%\dough\bin, adds that folder to your userPATH, and checks it runs. Usable right away in the same window; new terminals pick it up automatically. - Registers the Claude Code hooks and verifies they landed, then installs the Dough plugin.
- Points Claude Code at Git Bash by setting
CLAUDE_CODE_GIT_BASH_PATH, so the app does not refuse local sessions on a machine that has Git installed. Then signs you in (skipped if you already have a session). - Safe to re-run: every step checks before it acts, so the same command installs, repairs, and updates. It stops at the first thing it cannot fix and prints what to do.
- When it finishes, fully quit Claude Code and reopen it. Closing the window is not enough — use Alt+F4 or quit from the system tray. Claude Code reads the plugin and hooks at startup.
- The binary is currently unsigned, so the first run may show a SmartScreen prompt — choose More info, then Run anyway.
shellirm https://raw.githubusercontent.com/Dough-AI/dough-installer/main/install.ps1 | iex