Skip to content

Add Windows support to Toothpick - #30474

Open
AviralSaxena wants to merge 2 commits into
raycast:mainfrom
AviralSaxena:ext/toothpick
Open

Add Windows support to Toothpick#30474
AviralSaxena wants to merge 2 commits into
raycast:mainfrom
AviralSaxena:ext/toothpick

Conversation

@AviralSaxena

@AviralSaxena AviralSaxena commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Description

Adds Windows support to Toothpick using Windows' built-in Bluetooth and audio APIs—no extra utility to install.

  • Connect, disconnect, toggle, and refresh Bluetooth headphones and speakers.
  • Turn Bluetooth on automatically when connecting.
  • Prefer the requested device when Windows reconnects another audio device first.
  • Keep unsupported device types visible without showing connection actions that Windows cannot reliably perform.
  • Turn Bluetooth on before connecting through blueutil on macOS. The default AppleScript behavior is unchanged.

Screencast

Not included because this adds platform support to the existing commands and UI.

Checklist

@raycastbot raycastbot added extension fix / improvement Label for PRs with extension's fix improvements extension: toothpick Issues related to the toothpick extension AI Extension platform: macOS platform: Windows labels Aug 24, 2026
@raycastbot

Copy link
Copy Markdown
Collaborator

Thank you for your contribution! 🎉

🔔 @VladCuciureanu @briankosw @sxn @pernielsentikaer @rspeicher @AntonNiklasson @xmok @merchako @alexibuild you might want to have a look.

You can use this guide to learn how to check out the Pull Request locally in order to test it.

📋 Quick checkout commands
BRANCH="ext/toothpick"
FORK_URL="https://github.com/AviralSaxena/raycast-extensions.git"
EXTENSION_NAME="toothpick"
REPO_NAME="raycast-extensions"

git clone -n --depth=1 --filter=tree:0 -b $BRANCH $FORK_URL
cd $REPO_NAME
git sparse-checkout set --no-cone "extensions/$EXTENSION_NAME"
git checkout
cd "extensions/$EXTENSION_NAME"
npm install && npm run dev

We're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 15 business days.

@AviralSaxena AviralSaxena changed the title Update toothpick extension Add Windows support to Toothpick Aug 24, 2026
@greptile-apps

greptile-apps Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR adds native Windows support to Toothpick while preserving its existing macOS backends.

  • Adds PowerShell-based Windows Bluetooth discovery, connection, disconnection, and radio refresh.
  • Routes device services by platform and hides unsupported connection actions.
  • Centralizes favorite-device matching and updates documentation, metadata, and dependencies.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
extensions/toothpick/assets/scripts/bluetooth.ps1 Implements Windows Bluetooth/audio control and now preserves the initial radio state during Refresh All while handling both classic and LE state lookup.
extensions/toothpick/src/core/devices/find-device.ts Centralizes exact-MAC and fuzzy-name matching and rejects blank or invalid fuzzy thresholds.
extensions/toothpick/src/core/devices/devices.service.windows.ts Wraps the bundled PowerShell implementation with validated arguments, bounded execution times, and JSON mapping.
extensions/toothpick/src/core/devices/devices.service.ts Selects the native Windows service on Windows while retaining the configured macOS backend.
extensions/toothpick/package.json Declares Windows support, updates the Raycast API, and clarifies macOS-only backend preferences.

Reviews (2): Last reviewed commit: "fix(toothpick): handle Windows edge case..." | Re-trigger Greptile

Comment thread extensions/toothpick/src/core/devices/find-device.ts
Comment thread extensions/toothpick/assets/scripts/bluetooth.ps1
Comment thread extensions/toothpick/assets/scripts/bluetooth.ps1 Outdated
@AviralSaxena
AviralSaxena marked this pull request as ready for review August 24, 2026 01:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI Extension extension fix / improvement Label for PRs with extension's fix improvements extension: toothpick Issues related to the toothpick extension platform: macOS platform: Windows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants