···2727```bash
2828pnpm --dir web/console build
2929./scripts/stage-console-assets.sh
3030-go build -o ./bin/mistermorph ./cmd/mistermorph
3030+CGO_ENABLED=0 go build -o ./bin/mistermorph ./cmd/mistermorph
3131```
3232+3333+The bundled `mistermorph` backend should stay `CGO_ENABLED=0`.
3434+The desktop shell itself can still use cgo through Wails/WebKit, but the child backend is more stable as a pure-Go binary, especially inside AppImage where inherited loader state can otherwise trigger early native crashes.
3535+3636+If a future Go dependency requires cgo, do not immediately let that leak into the bundled backend binary.
3737+Handle it in this order:
3838+3939+1. Keep `./cmd/mistermorph` pure-Go if possible, and isolate the cgo dependency behind build tags, an optional package, or a separate code path that the desktop backend does not import.
4040+2. If the feature truly needs native code, prefer a separate helper binary or a desktop-only component over making the main backend child process depend on cgo.
4141+3. Only let the bundled backend require cgo if there is no practical isolation strategy left. In that case, update the desktop packaging docs and CI together, and re-verify AppImage/DMG/Windows bundle startup before merging.
4242+4343+The working rule is: the desktop shell may depend on cgo; the bundled `mistermorph console serve` backend should remain `CGO_ENABLED=0` unless there is a deliberate packaging plan for changing that constraint.
32443345Run desktop app from source:
3446···7486- Windows: `mistermorph-desktop-windows-amd64.zip`
75877688The macOS DMG and Linux AppImage bundle a sibling `mistermorph` backend binary so the packaged app can launch `console serve` without a first-run download.
8989+That bundled backend is built with `CGO_ENABLED=0` on purpose; keep it that way unless the CLI/backend grows an unavoidable native dependency.
7790The Windows release bundle now includes both `MisterMorph.exe` and `mistermorph.exe`; keep them in the same directory after unzip.
7891The Windows release workflow also generates a `.ico` and Windows `.syso` resource on the runner so the published desktop executable carries the app icon.
7992