Platforms
Platform-specific install, playback, opening, protocol, and troubleshooting notes.
Kunai is terminal-first. Playback uses mpv; optional downloads use yt-dlp; ffprobe can validate completed artifacts when available. Poster previews need nothing installed: Kitty graphics on Kitty/Ghostty, iTerm2 inline images on iTerm2 and VSCode 1.80+, sixel where the terminal reports it, and a built-in half-block fallback everywhere else.
Who this is for: anyone choosing an install path or optional tools for their OS.
You will learn: recommended installers per platform, optional dependencies, and platform-specific handoff behavior.
Optional tools stay optional
Missing yt-dlp or ffprobe should degrade gracefully — setup and diagnostics explain the gap instead of breaking unrelated playback paths. Posters have no external dependency at all.
Support posture (0.3.0)
| Target | Status |
|---|---|
Linux glibc linux-x64, linux-arm64 | Supported |
Linux musl linux-x64-musl, linux-arm64-musl (Alpine) | Supported |
macOS darwin-x64, darwin-arm64 | Beta |
Windows windows-x64 | Beta |
Windows windows-arm64 | Experimental |
| WSL | Linux install + Linux mpv/PATH/data (not Windows-native) |
| FreeBSD / other BSD | Unsupported binary — npm/bun/source only |
kunai:// protocol registration is Linux-only in 0.3.0 (including WSL). macOS/Windows can still use kunai --open without OS handler registration.
Recommended install (self-contained binary — Bun runtime embedded; you do not need Bun installed):
curl -fsSL https://raw.githubusercontent.com/KitsuneKode/kunai/main/install.sh | bash
kunai --version
mpv --version
kunai --setupPackage install alternative (requires Bun):
bun install -g @kitsunekode/kunai
# or: npm install -g @kitsunekode/kunai
kunai --setupRecommended optional tools:
mpv— playback engine (required for watching; setup/browsing work without it)yt-dlp— offline download jobs and YouTube playbackffprobe— optional validation of completed artifactsxdg-open—/docs,/report-issue, folder reveal, and account auth handoffs
Alpine and other musl hosts use the kunai-linux-*-musl release assets. install.sh selects musl automatically when the host libc is musl.
apk add mpv yt-dlp ffmpeg
curl -fsSL https://raw.githubusercontent.com/KitsuneKode/kunai/main/install.sh | bash
kunai --version
kunai --setupEnsure ~/.local/bin is on your shell PATH after install. Treat this as a normal Linux environment — not a Windows PATH.
Recommended install (beta binaries):
curl -fsSL https://raw.githubusercontent.com/KitsuneKode/kunai/main/install.sh | bash
kunai --setupPackage install alternative:
bun install -g @kitsunekode/kunai
kunai --setupInstall mpv and optional download tools through Homebrew or your preferred package manager. Kunai uses open for browser and folder handoffs. Protocol registration is Linux-only — use kunai --open for share links. Unsigned binaries may need quarantine cleared — see Install and update.
Recommended install (PowerShell; x64 beta, ARM64 experimental):
irm https://raw.githubusercontent.com/KitsuneKode/kunai/main/install.ps1 | iex
kunai --setupKunai runs where a capable terminal and native Windows mpv.exe are available on the same PATH as Kunai. Windows Terminal is the most predictable surface.
Kunai uses cmd /c start for browser handoffs such as /docs and /report-issue. If an opener is missing, the shell should keep running and explain the limitation. Protocol registration is Linux-only — use kunai --open for share links.
Do not mix this with a WSL install: Windows-native Kunai cannot use WSL mpv, WSL PATH entries, or Linux config/data directories.
WSL is a Linux environment. Install the Linux binary and Linux tools inside the distro — do not expect Windows-native kunai.exe / mpv.exe / %APPDATA% to apply.
# Inside WSL (Ubuntu/Debian example)
sudo apt install mpv yt-dlp ffmpeg
curl -fsSL https://raw.githubusercontent.com/KitsuneKode/kunai/main/install.sh | bash
kunai --version
kunai --setupOn Alpine WSL, use the Alpine recipe instead (apk add …). Config and data live under the Linux home (~/.config/kunai, ~/.local/share/kunai), separate from any Windows-native install.
Contributor-oriented:
bun install
bun run dev
bun run dev -- -S "Dune"
bun run dev -- -a -S "Attack on Titan"Source checkouts are the best path for debugging provider changes, playback recovery, and documentation contributions — not the preferred end-user install. BSD hosts without a published binary should use this path (or npm/bun global), not install.sh.
Platform guardrails
- If an opener is missing, Kunai keeps running and leaves you in the current shell context.
- Provider and Discord live smokes are manual release checks — not background activity triggered by normal use.
- Episode numbers are 1-based in the UI; providers adapt internally.
- Discord Rich Presence uses local Unix-socket IPC on Linux/macOS (and WSL) and a named pipe on Windows-native.
- Windows-native and WSL installs are separate worlds: separate PATH, separate mpv, separate config/data.
Related
- Install and update for global package, installer script, and
kunai upgradebehavior - Getting started for the first-session checklist
Last updated on