This page covers Windows. Running Proximate on a Mac? See Advanced Integration Recipes for macOS — the commands are different.
Before You Start
Create an integration in Proximate first (see the Setup guide). With the platform toggle set to Windows, copy the Success command and note its ID. Everywhere you seeYOUR_ID below, use that ID. The status at the end of the URL (success, warning, error, or none) sets the badge color.
A quick note on quoting. The recipes below wrap the URL in quotes —
start "" "…" for Command Prompt — because the & in &status=success is a special character there. The empty "" is the (blank) window title that start expects before a quoted argument. PowerShell uses Start-Process "…", which handles the URL cleanly.Two Patterns You’ll Reuse
Most command-line tools don’t have a built-in “when I’m done” hook, so you run the Proximate command right after them. Pick PowerShell or Command Prompt depending on the shell you use. Just tell me when it’s done:Claude Code CLI
Claude Code has a native Stop hook that fires whenever Claude finishes responding. Add this to%USERPROFILE%\.claude\settings.json. On Windows, Claude Code runs hook commands through Git Bash, so this calls PowerShell explicitly to launch the URL reliably:
settings.json
Full Claude Code walkthrough
See the complete step-by-step guide, including how to verify the hook with
/hooks.Docker CLI
Docker has no completion hook, so chain the command after a longbuild or compose up:
FFmpeg
Get a badge the moment a long encode finishes:Gradle
Chain the command after your Gradle task (the Windows wrapper isgradlew.bat):
Homebrew → winget, Chocolatey, or Scoop
Homebrew is macOS/Linux only, so it doesn’t apply on Windows. The same idea works with a Windows package manager — chain the badge after the upgrade. Using winget:choco upgrade all (Chocolatey) or scoop update * (Scoop).
Jest
The quick way is to chain it after your test command:start works). Save this as proximate-reporter.js:
proximate-reporter.js
jest.config.js:
jest.config.js
make
GNU Make on Windows usually comes from MSYS2, Chocolatey, or WSL. If you run it under WSL or Git Bash, follow the bash recipes in the macOS guide (swapopen for the Windows launcher). For native Make whose recipes run in Command Prompt, chain or add a target:
n8n (Local)
In a self-hosted n8n, add an Execute Command node as the last step of your workflow, so it fires when the workflow finishes.The Execute Command node runs in the host’s default shell (Command Prompt on Windows), but it’s disabled by default in n8n v2.0+ and isn’t available on n8n Cloud. If you run n8n in Docker, the command executes inside the container, not on your PC — run n8n directly on the machine where Proximate is installed.
pytest
Add aconftest.py to your project (or extend an existing one) using pytest’s native pytest_sessionfinish hook, which runs after the whole test session and receives the exit status (0 means everything passed). On Windows, os.startfile launches the URL through the registered handler:
conftest.py
pytest run ends with a green badge on pass, red on failure — no shell chaining needed.
Rust
Chain the command aftercargo build, cargo test, or cargo run:
Terraform
Get a badge when a longapply completes:
Xcode CLI — macOS only
Xcode andxcodebuild only run on macOS, so there’s no Windows recipe. If you build Apple platforms on a Mac, see the macOS guide.
A Couple of Edge Cases
- Keep the quotes (Command Prompt). The
&in the URL is a command separator in Command Prompt, so the URL must stay in quotes andstartneeds the empty""title in front of it:start "" "…". PowerShell’sStart-Process "…"doesn’t need the extra title. && … || …can mislead. In the one-line Command Prompt form, if thestart successstep itself fails, an|| start errorpart can run too. When pass/fail really matters, prefer theif %ERRORLEVEL%==0 ( … ) else ( … )block (or the PowerShellif/else) shown in the two patterns above.