block / block/buzz

Windows: `_ensure-sidecar-stubs` Justfile recipe omits the `.exe` suffix Tauri requires for externalBin

Open
#2,492 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
32.7k
Forks
4.3k
Avg merge
1d 13h
Merged PRs (30d)
253

Description

### Description

The `_ensure-sidecar-stubs` recipe in the root `Justfile` creates sidecar
placeholder files as:

```bash
TARGET=$(rustc -vV | sed -n 's|host: ||p')
for bin in buzz-acp buzz-agent buzz-dev-mcp git-credential-nostr buzz; do
touch "desktop/src-tauri/binaries/${bin}-${TARGET}"
done
```

On Windows the host triple is `x86_64-pc-windows-msvc`, and Tauri's
`externalBin` validation expects sidecars named
`binaries/-x86_64-pc-windows-msvc.exe`. The stubs are created without the
`.exe` suffix, so Tauri rejects them and every recipe that depends on
`_ensure-sidecar-stubs` (`dev`, `desktop-tauri-check`, `desktop-tauri-clippy`,
`desktop-tauri-test`, `desktop-standalone`, `staging`) fails on Windows even
though the code itself builds fine.

### Suggested fix

Append `.exe` when the host triple contains `windows`:

```bash
EXT=""
case "$TARGET" in *windows*) EXT=".exe";; esac
for bin in buzz-acp buzz-agent buzz-dev-mcp git-credential-nostr buzz; do
touch "desktop/src-tauri/binaries/${bin}-${TARGET}${EXT}"
done
```

(For actual bundling, empty `touch`-ed stubs are not runnable, of course — for
release builds the real `target/…/.exe` outputs get copied into place,
which is what `desktop-release-build` does on other platforms. This issue is
only about the stub naming that gates the compile/check recipes.)

### Environment

- Windows 11 Pro 25H2 (build 26200), Git Bash available for Justfile shebang recipes
- Buzz @ v0.4.23, `just` 1.57

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.