jcfischer / jcfischer/supertag-cli
supertag update install copies extracted directory instead of binary on macOS
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 49
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
Summary
supertag update install --file ... --yes fails on macOS because the updater appears to copy the extracted release directory to the supertag binary path instead of copying the supertag binary inside that directory.
Environment
- macOS on Apple Silicon / arm64
- Installed version before update:
2.5.9 - Target version:
2.5.11 - Downloaded update:
/Users/ryan/.cache/supertag/supertag-2.5.11.zip - Current install path:
/Users/ryan/Tools/supertag-cli/supertag
Repro
supertag --version
supertag update download
supertag update install --file /Users/ryan/.cache/supertag/supertag-2.5.11.zip --yes
Actual
🔄 Installing update...
Update file: /Users/ryan/.cache/supertag/supertag-2.5.11.zip
Binary path: /Users/ryan/Tools/supertag-cli/supertag
❌ Installation failed: Installation failed: ENOTSUP: operation not supported on socket, copyfile '/Users/ryan/.cache/supertag/extract-2026-06-29T02-53-15-327Z/supertag-cli-macos-arm64' -> '/Users/ryan/Tools/supertag-cli/supertag'
After this, supertag --version still reported 2.5.9.
Expected
The updater should copy:
supertag-cli-macos-arm64/supertag
to:
/Users/ryan/Tools/supertag-cli/supertag
It may also need to update the sibling binaries:
supertag-cli-macos-arm64/supertag-mcp
supertag-cli-macos-arm64/supertag-export
Evidence
unzip -l /Users/ryan/.cache/supertag/supertag-2.5.11.zip shows the release zip root is a directory:
supertag-cli-macos-arm64/
supertag-cli-macos-arm64/supertag
supertag-cli-macos-arm64/supertag-mcp
supertag-cli-macos-arm64/supertag-export
The error path suggests the updater tries to copy:
.../extract-.../supertag-cli-macos-arm64
directly to:
/Users/ryan/Tools/supertag-cli/supertag
instead of copying the binary one level deeper.
Workaround
Manual unzip and copying the three binaries worked:
tmp=$(mktemp -d)
unzip -q /Users/ryan/.cache/supertag/supertag-2.5.11.zip -d "$tmp"
install -m 755 "$tmp/supertag-cli-macos-arm64/supertag" /Users/ryan/Tools/supertag-cli/supertag
install -m 755 "$tmp/supertag-cli-macos-arm64/supertag-mcp" /Users/ryan/Tools/supertag-cli/supertag-mcp
install -m 755 "$tmp/supertag-cli-macos-arm64/supertag-export" /Users/ryan/Tools/supertag-cli/supertag-export
supertag --version
After the workaround, supertag --version returned 2.5.11.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the supertag update install --file ... --yes entry point and inspect how the extracted ZIP root is resolved before copying. Reproduce with the supplied macOS arm64 archive, then verify that supertag, supertag-mcp, and supertag-export are copied from the nested directory and that supertag --version reports the target version.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos, typescript
- Domain
- cli, operating-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 72/100