ani-cli

Shell-based CLI that searches, streams and downloads anime from hianime in mpv, VLC or IINA, with Syncplay support for watching with friends.

install

ani-cli is a command-line program for browsing and watching anime from the terminal. It scrapes the site hianime and plays the selected episodes in an external video player. It is written as a shell script and uses fzf for interactive selection, with mpv (or IINA on macOS, and VLC on some platforms) for playback. Downloading is supported through yt-dlp, and ffmpeg is listed as a dependency.

The tool supports watching alone or with friends, using Syncplay for synchronized playback. It includes an Ani-Skip integration for skipping intros and outros. Running ani-cli -h shows the available options, and ani-cli -U updates the tool, which the README recommends as the first step when something breaks. If a request fails with "Blocked by cloudflare", the README says to install curl-impersonate.

Platform support is split into tiers. Linux, macOS and Android (via Termux) are tier 1. Windows (through Git Bash in Windows Terminal with scoop), WSL, iOS, Steam Deck, FreeBSD and Ubuntu Touch are tier 2. Packages are available for Debian, Fedora (copr), Arch (AUR), Gentoo (GURU), openSUSE, Homebrew, Termux and scoop. It is aimed at terminal users who want to find and stream anime without a browser.

Installation

# via Homebrew
brew tap pystardust/ani-cli https://github.com/pystardust/ani-cli.git
brew trust pystardust/ani-cli
brew install ani-cli && brew install --cask iina
# via apt (Debian 13/unstable)
sudo apt install ani-cli
# via AUR (Arch)
yay -S ani-cli

Alternatives & related tools

add a badge to your README

Maintain ani-cli? Show that it's featured on trmn. The badge links back to this page.

Featured on trmn
Markdown
[![Featured on trmn](https://www.trmn.sh/badge/ani-cli.svg)](https://www.trmn.sh/tools/ani-cli?utm_source=badge)
HTML
<a href="https://www.trmn.sh/tools/ani-cli?utm_source=badge"><img src="https://www.trmn.sh/badge/ani-cli.svg" alt="Featured on trmn" height="20"></a>