Installation
shuck is available through multiple package managers. Choose whichever fits your workflow.
cargo (recommended)
If you have Rust installed, cargo is the fastest path:
cargo install shuck
Requires Rust 1.70 or later. Install Rust via rustup →
Homebrew (macOS / Linux)
brew install shuck
curl installer
curl -fsSL https://shuck.build/install.sh | sh
This installs the latest release binary to /usr/local/bin/shuck. Works on macOS and Linux.
npm / npx
Run without installing:
npx shuck-cli <command>
Or install globally:
npm install -g shuck-cli
pip
pip install shuck-cli
The pip package installs a native binary wrapper.
Manual Download
Download pre-built binaries from GitHub Releases:
| Platform | Architecture | Binary |
|---|---|---|
| Linux | x86_64 | shuck-x86_64-unknown-linux-musl |
| Linux | ARM64 | shuck-aarch64-unknown-linux-musl |
| macOS | Intel | shuck-x86_64-apple-darwin |
| macOS | Apple Silicon | shuck-aarch64-apple-darwin |
| Windows | x86_64 | shuck-x86_64-pc-windows-msvc.exe |
Verify Installation
shuck --version
# shuck 0.1.0
shuck echo hello
# hello
Platform Support
| Feature | Linux | macOS | Windows | CI (no PTY) |
|---|---|---|---|---|
| PTY allocation | ✓ | ✓ | ✓ ConPTY | ✗ (pipes) |
| ANSI stripping | ✓ | ✓ | ✓ | ✓ |
| JSON output | ✓ | ✓ | ✓ | ✓ |
| Timeout | ✓ | ✓ | ✓ | ✓ |
| Signal forwarding | ✓ | ✓ | ✗ | ✗ |
In CI environments (where $CI is set), shuck automatically falls back to plain pipes instead of PTY allocation. Use --no-pty to force this behavior.
Next Steps
- Quick Start — run your first shuck command
- CLI Reference — all available options