A robust Plex CLI and TUI written in Go.
Note: This project is a Work in Progress. Expect breaking changes and incomplete features.
plexctl uses mpv for media playback. You must have it installed and available in your PATH.
- macOS:
brew install mpv - Linux:
sudo apt install mpvorsudo pacman -S mpv - Windows: Download from mpv.io
Download the latest binary for your platform from the Releases page.
If you download the binary directly, you will need to make it executable and move it to your path:
# Rename the downloaded binary (example for macOS ARM)
mv plexctl_darwin_arm64 plexctl
# Make it executable
chmod +x plexctl
# Move to a directory in your PATH (optional)
sudo mv plexctl /usr/local/bin/Alternatively, if you have Go installed:
go install github.com/ygelfand/plexctl@latest- Interactive TUI: Navigate your Plex library with ease.
- Fuzzy Search: Find exactly what you're looking for instantly.
- Cross-Platform: Supports macOS, Linux, and Windows.
- Flexible Output: CLI commands support table, JSON, YAML, and CSV formats.
Simply run plexctl to launch the interactive terminal interface.
plexctl provides a comprehensive command-line interface for automation and quick tasks. Every command supports the -h or --help flag for detailed usage instructions.
# Explore available commands
plexctl -h
# List all libraries on your server
plexctl library list
# Perform a fuzzy search
plexctl search find "Inception"
# Manage active playback sessions
plexctl session list
# Start or stop background server tasks
plexctl tasks listAll CLI commands support the -o or --output flag to return data in table, json, json-pretty, yaml, csv, or txt formats.
MIT
