Supported and unsupported
What Kunai supports in beta, what is experimental, and what is explicitly out of scope.
Kunai is a terminal-first CLI in beta. This page states observable boundaries — not a roadmap promise.
Beta scope (read this first)
install.sh / install.ps1 (self-contained binary — Bun runtime embedded; you do not need Bun). Bun/npm globals are secondary; npm requires Bun on PATH. You still need mpv for playback — setup and browsing work without it. Kunai does not host media - it resolves streams from third-party providers on your machine and hands playback to mpv. Provider availability changes; recovery commands exist because drift is expected.Support matrix
Use this codegen-backed table as the single product posture source. Narrative sections below add context — they do not override these labels.
| Capability | Status | Notes |
|---|---|---|
| Terminal shell | shipped | Persistent Ink shell with search, playback, and recovery workflows. |
| Direct provider resolution | shipped | HTTP scrapers in packages/providers without browser automation. |
| mpv playback | shipped | Kunai resolves streams; mpv is the playback engine. |
| kunai:// share links | shipped | Catalog-anchored share URLs via /share, /watch, kunai --open, and mpv hotkey. |
| History continuation | shipped | Continue unfinished titles from History with catalog bounds and source preference. |
| Provider endpoint health | shipped | Local health memory, /recompute bypass, and /reset-provider-health recovery. |
| Network status indicator | shipped | Shell header shows connectivity; offline mode is explicit, never silent. |
| Diagnostics export | shipped | /diagnostics panel and redacted /export-diagnostics with DB-backed recent export. |
| AniList / TMDB sync | beta | Experimental opt-in AniList progress and tracker list membership sync; requires a disposable-account live smoke before release-ready status. |
| Notifications inbox | shipped | Shell notifications for downloads, playback, and setup guidance. |
| Discord Rich Presence | shipped | Opt-in social status integration; off by default until configured. |
| Offline downloads | beta | Queue downloads and play completed artifacts without provider calls. |
| Persistent offline mode | beta | Configurable local-only shell mode separate from the --offline launch flag. |
| Download quality floor | beta | Shared quality policy for download jobs via defaultDownloadQuality setting. |
| User-owned provider geo relay | beta | Optional metadata/API relay template for geo-blocked providers; video remains direct. |
| install.sh / install.ps1 | beta | Preferred native binary installers; Bun/npm secondary; source contributor-oriented. |
| Browser / Playwright providers | planned | Archived reference only; not part of active beta runtime. |
| Hosted stream relay | planned | No Kunai-operated video proxy or hosted transcoding in beta v1. |
CLI and install channels
Install paths are documented once on Getting started and Install and update. In 0.3.0:
- Native binary (
install.sh/install.ps1) — preferred; Bun runtime embedded, you do not need Bun - Bun / npm global — secondary; npm requires Bun on
PATH - Source checkout — contributor-oriented (
bun run link:global)
Providers
Production providers are registered in the CLI container. The live table and per-provider notes live on Providers.
| Provider family | Typical use | Status |
|---|---|---|
Videasy (videasy, legacy vidking alias) | Movies and series | Active |
| VidLink | Movies and series | Active |
AniDB (anidb) | Anime | Active default |
AllManga-compatible (allanime) | Anime | Active fallback |
| Rivestream | Movies and series | Candidate — quality varies |
Miruro (miruro) | Anime | Active, manually selectable |
| YouTube | Video mode (Invidious + yt-dlp) | Production |
| Cineby | — | Not in production engine (research module) |
| Playwright / browser providers | — | Not supported in active runtime |
Provider availability can change without notice. Fallback chains and recovery are expected — see Providers.
Playback requirements
| Requirement | Required? | If missing |
|---|---|---|
| mpv | Yes | Playback cannot start |
| Terminal with reasonable size | Yes | Shell may block with resize message |
| Network (online playback) | Yes for streaming | Use offline library for local files |
| yt-dlp | No (online only) | Downloads disabled; online playback unaffected |
| ffprobe | No | Offline duration validation skipped |
| chafa / ImageMagick | Not used | Retired — posters render in process, half-block is the floor |
| Kitty graphics | No | Best quality when available; otherwise half-block |
Downloads and offline
| Capability | Status |
|---|---|
Download queue (/downloads) | Beta — opt-in via setup |
Offline library (/library, --offline) | Beta |
Launch download-only (--download) | Beta |
| Silent online/offline mode switch | Not supported — mode changes are explicit |
| Automatic season batch download | Not supported — per-title enrollment |
Diagnostics and privacy
| Capability | Status |
|---|---|
Local diagnostics (/diagnostics) | Shipped |
Redacted export (/export-diagnostics) | Shipped |
Issue reporting guide (/report-issue) | Shipped |
| Raw stream URLs in exports | Not supported — redacted by design |
| Automatic crash upload | Not supported |
Platform support (0.3.0)
Exact binary targets and posture:
| Target | Playback | Binary install | Status |
|---|---|---|---|
linux-x64 (glibc) | mpv | install.sh → kunai-linux-x64 | Supported |
linux-arm64 (glibc) | mpv | install.sh → kunai-linux-arm64 | Supported |
linux-x64-musl (Alpine) | mpv | install.sh → kunai-linux-x64-musl | Supported |
linux-arm64-musl (Alpine) | mpv | install.sh → kunai-linux-arm64-musl | Supported |
darwin-x64 | mpv | install.sh | Beta (unsigned; Gatekeeper may block) |
darwin-arm64 | mpv | install.sh | Beta (unsigned; Gatekeeper may block) |
windows-x64 | mpv | install.ps1 | Beta (SmartScreen may warn) |
windows-arm64 | mpv | install.ps1 | Experimental |
| WSL (any distro) | mpv (Linux) | Linux install.sh | Uses the Linux environment — not Windows-native PATH/mpv/data |
| FreeBSD / other BSD | Source only | Not published | Unsupported binary |
kunai:// protocol registration is Linux-only (including WSL). Poster previews: Kitty on Kitty/Ghostty, iTerm2 inline images on iTerm2 and VSCode 1.80+, sixel where reported, otherwise built-in half-block. No external binary is used.
More: Platforms, Install and update.
Legal and content boundaries
Kunai does not host, store, mirror, or redistribute video content. All playable media comes from third-party providers. Kunai does not guarantee:
- Provider uptime or catalog completeness
- Legal availability in your jurisdiction
- Subtitle accuracy or language coverage
Copyright notices belong to the hosting provider, not Kunai.
What is explicitly not planned for beta CLI
- Browser automation in the production resolver
- Kunai-operated stream proxy or CDN
- Kunai-operated public provider relay URL
- Replacing mpv with an embedded player
- Account requirements for core playback
- Silent background provider probing
Related
- What you can do — capability overview
- Troubleshooting — when something breaks
- Customization — tune behavior within supported bounds
Last updated on