Skip to content

Configuration and History

ani-cli-rs uses command-line options for one-off choices and environment variables for defaults. It does not currently maintain a general application configuration file.

Environment variables

Variable Purpose
ANI_CLI_MODE Default translation mode: sub or dub
ANI_CLI_PLAYER Desktop player executable, or Android activity-launcher path in Termux
ANI_CLI_DOWNLOAD_DIR Compatibility-mode download directory
ANI_CLI_QUALITY Default quality (best, worst, or resolution)
ANI_CLI_HIST_DIR Directory containing the ani-hsts history file
ANI_CLI_ALLOW_ADULT Enable adult search results
ANI_CLI_MULTI_SELECTION Open episode multi-select directly
ANI_CLI_NO_DETACH Wait for the player
ANI_CLI_EXIT_AFTER_PLAY Propagate attached player failures
ANI_CLI_RS_INSTALL_DIR Installer/uninstaller target directory
ANI_CLI_RS_PROFILE Unix profile modified by install/uninstall scripts
ANI_CLI_RS_PROVIDER Changes the default provider used by ani-cli-rs. Available providers: anikoto/anikoto2

Boolean variables recognize 1, true, or yes where consumed as application booleans.

PowerShell examples

Current process only:

$env:ANI_CLI_QUALITY = "720p"
$env:ANI_CLI_DOWNLOAD_DIR = "$HOME\Downloads\Anime"
ani-cli-rs "title"

Persistent user variable:

[Environment]::SetEnvironmentVariable("ANI_CLI_QUALITY", "720p", "User")

Open a new terminal after changing persistent variables.

Unix shell examples

One command:

ANI_CLI_QUALITY=720p ani-cli-rs "title"

Persistent shell configuration:

export ANI_CLI_QUALITY=720p
export ANI_CLI_DOWNLOAD_DIR="$HOME/Downloads/Anime"

Place exports in the profile loaded by your shell.

History format

The ani-hsts file uses the Bash ani-cli-compatible tab-separated format:

EPISODE<TAB>SHOW_ID<TAB>TITLE

Example:

4   SyR2K6bGYfKSE6YMm   Example Anime

One entry is retained per show ID. Successful playback/download updates the current episode through an atomic temporary-file rewrite.

History location

For predictable sharing with Bash ani-cli, set:

$env:ANI_CLI_HIST_DIR = "$HOME\.local\state\ani-cli"
export ANI_CLI_HIST_DIR="$HOME/.local/state/ani-cli"

ani-cli-rs appends ani-hsts to that directory. Without the variable, the directories crate chooses the platform-native application state directory, falling back to local application data when the OS has no dedicated state directory.

Continue and clear

ani-cli-rs --continue
ani-cli-rs --delete

--continue lists entries that have a published next episode. --delete rewrites the history as empty; it does not delete downloaded media.

Provider cache

Successful catalog and series responses are cached in memory for five minutes. The cache is process-local and contains no media files or persistent provider credentials.

Logging

$env:RUST_LOG = "warn"
ani-cli-rs "title"
RUST_LOG=debug ani-cli-rs "title"

Debug logs can expose provider names, response categories, and local executable paths. The application redacts complete signed provider URLs in routine scraper diagnostics, but review logs before sharing them publicly.