Repository navigation
installer: install to ~/.local/bin, fix PATH, verify checksums - #1207
Merged
Merged
Conversation
onctl.sh/get.sh used to leave the binary in the current directory and the docs told users to `sudo install` it by hand. Rework it along the lines of claude.ai/install.sh: - refuse sudo; everything lives under $HOME - download the archive and checksums.txt for the release, verify the sha256 before extracting, work in a temp dir that is cleaned up - install to $HOME/.local/bin (ONCTL_INSTALL_DIR to override) and add that directory to PATH in .bashrc/.zshrc/config.fish once, if it is not already there - Rosetta detection: an x86_64 shell on Apple Silicon gets arm64 - ONCTL_VERSION=<tag> installs a specific release; get-edge.sh becomes a wrapper that runs get.sh with ONCTL_VERSION=edge - Windows is no longer handled by the script (it never put the exe on PATH anyway); point at the zip on the releases page instead - completion install is unchanged apart from using the installed binary README and docs drop the manual `sudo install` step. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
cdalar
enabled auto-merge (squash)
October 21, 2026 13:51
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1207 +/- ##
=======================================
Coverage 41.25% 41.25%
=======================================
Files 69 69
Lines 7560 7560
=======================================
Hits 3119 3119
Misses 4441 4441 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
onctl.sh/get.shworks with the signing-free pipeline from #1206 (asset names andchecksums.txtare unchanged), but it never putonctlon PATH: it left the binary in the current directory and the docs told users tosudo installit by hand. This reworks the installer along the lines ofclaude.ai/install.sh.Changes
$HOME.checksums.txt, verifies the sha256 before extracting. Works in a temp dir cleaned up on exit.~/.local/bin(override withONCTL_INSTALL_DIR) and appends a PATH line to.bashrc/.zshrc/config.fishonce, only if the directory isn't already on PATH or in the rc file.ONCTL_VERSION=<tag>installs a specific release.get-edge.shis now a 3-line wrapper that runsget.shwithONCTL_VERSION=edge, so there is one installer to maintain.sudo installline and describe what the installer does.Verified locally on macOS arm64
$HOME: binary at~/.local/bin/onctl, one PATH line and one completion line in the rc, completion file generatedONCTL_VERSION=edgeinstalls the edge prerelease (itschecksums.txtverifies)bash -non both scriptsThe docs site redeploys on push to main, so merging publishes the new scripts to onctl.sh.
🤖 Generated with Claude Code