jcfischer / jcfischer/supertag-cli

supertag update install copies extracted directory instead of binary on macOS

Open
#104 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.