opencode
opencode copied to clipboard
[BUG] Binary name collision: `opencode` vs `OpenCode` on case-insensitive filesystems
Description
Commit 96975ef renamed the desktop binary from "OpenCode Desktop" to "OpenCode", causing collision with CLI binary opencode on case-insensitive filesystems (macOS/Windows default).
Root Cause
Commit: 96975ef8d608b210cffd4befeaad5ce0db66e4de (Dec 14, 2025)
File: packages/tauri/src-tauri/tauri.conf.json
- "mainBinaryName": "OpenCode Desktop",
+ "mainBinaryName": "OpenCode",
Problem
On case-insensitive filesystems, OpenCode and opencode are treated as the same file:
- Desktop binary overwrites CLI binary (or vice versa)
- Cannot install both in same directory
- Blocks Nix packaging (#9032) and breaks existing installations (#8998)
Cross-Platform Binary Naming
Standard conventions prohibit:
- ❌ Mixed case (filesystem collision)
- ❌ Spaces (breaks shell scripting)
- ❌ Underscores (library naming conflicts)
Recommended:
- ✅ Lowercase with hyphens:
opencode-desktop
Solution
Rename desktop binary to opencode-desktop (matches existing package naming conventions).
References
- Breaking commit: 96975ef
- Discussion: #9032 (comment r2700886644)
- Related: #7666 (Windows UX confusion - different issue)