SSH into GitHub Actions using wush. Debug workflows as if they were running on your machine.
- Add
coder/wush-actionto a GitHub Actions workflow:
jobs: wush: steps: ... - uses: coder/[email protected]timeout-minutes: 30...- Install wush on your local machine:
curl -fsSL https://github.com/coder/wush/raw/refs/heads/main/install.sh | sh- Copy the authentication key from GitHub Actions logs:

- Run
wush ssh, and paste the key.

- You're in!

- Linux (
x86_64andarm64) - Windows (
x86_64andarm64) - macOS (
x86_64andarm64)
Wush establishes a WireGuard tunnel between your local machine and a GitHub Actions runner - traffic is E2E-encrypted. It doesn't require you to trust any 3rd party authentication or relay servers, instead using x25519 keys to authenticate connections.
For more information, see wush's README and source code.
To run coder/wush-action regardless of whether a job succeeds or fails, consider using ${{!cancelled() }} instead of ${{always() }}:
jobs: wush: steps: ... - name: Run wushif: ${{!cancelled() }}uses: coder/[email protected]always() is immune to cancellation, so you won't be able to stop wush by cancelling the workflow. Instead, you'll need to SSH into GitHub Actions and kill the wush process manually.
