Hooky
Control VS Code and GitHub Copilot from your phone — chat with Copilot or Claude Code, browse and edit files, and get push notifications when the AI needs you.
Getting started
Get the mobile app — download Hooky from hooky-ai.com.
Install this extension, then reload the VS Code window (Ctrl+Shift+P → Reload Window).
On macOS, Hooky requests only the two permissions used for screen actions,
one at a time so their native prompts do not overlap:
- Screen Recording (screenshots and live screen streaming)
- Accessibility (mouse and keyboard control)
If macOS does not show a prompt after a previous denial, choose
Hooky: Check macOS Permissions to retry or open the exact Privacy & Security pane.
Hooky derives the current editor name at activation, so macOS guidance identifies the
actual host (Visual Studio Code, Insiders, Cursor, VSCodium, etc.). These are
application-level TCC grants: all installed extensions in that host share the same
permission boundary. Hooky verifies its bundled,
signed native helpers before execution as defense in depth, but this cannot protect
against an attacker who can replace the extension's JavaScript or manifest. Hooky does
not require Input Monitoring, Full Disk Access, Microphone, Automation, or a separate
shell-app permission.
Run Hooky: Show QR Code from the Command Palette.
Scan the QR code with the Hooky app — you're connected.
That's it. The server and remote relay start automatically; no configuration needed.
Commands
Hooky: Show QR Code — show the pairing QR code
Hooky: Show Pairing Code — show the pairing code (manual entry)
Hooky: Disconnect Device — disconnect the paired phone
Hooky: Start Server — start the local server
Hooky: Stop Server — stop the local server
Hooky: Check macOS Permissions — check/recover Screen Recording and Accessibility grants
Building and packaging
node build.js — compile and create a local development VSIX.
npm run package — run the public release build (node build.js release).
npm run publish:ovsx — rebuild/verify the exact current release, then publish it to Open VSX.
Public package/prepublish paths run the custom helper build and reject missing, non-universal,
wrong-minOS, or invalidly signed macOS native helpers. Signing prefers an Apple-issued identity
for Hooky's pinned Team ID 8U5Z2H92VY (Developer ID Application, then Apple Development).
When neither is available, builds use ad-hoc signing, including release/marketplace builds,
and the runtime accepts those helpers by default. Ad-hoc signatures do not establish publisher
provenance; those artifacts are not Developer-ID signed or notarized. The fixed
com.hookyai.hooky-* identifiers and structural verification remain required.
Set HOOKY_ALLOW_ADHOC_HELPERS=0 before both building and launching the editor to require
the pinned Apple-issued identity. Rotate the trusted publisher only in
src/platform/macos-native-helper-trust.json, then rebuild and rerun verification.
Bundled ffmpeg-static is build-host architecture-specific, not universal. On macOS runtime
uses it only when its Mach-O slices include the current extension-host architecture; otherwise
it logs the mismatch and falls back to /opt/homebrew/bin/ffmpeg, /usr/local/bin/ffmpeg,
/usr/bin/ffmpeg, then ffmpeg on PATH. No network download occurs at runtime.
These paths do not invoke vsce package.
Links
License
MIT