Skip to content

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

Description

@adamentwistle

Description

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

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/<bin>-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:

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/…/<bin>.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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions