Discrakt is a software tool designed to bridge your Trakt.tv watching activity with Discord Rich Presence. It runs silently in your system tray and automatically updates your Discord status when you watch movies or TV shows tracked by Trakt.tv.
Key Features:
Multilingual support with automatic system language detection.
Displays localized titles for movies and episodes via TMDB integration.
Separate Discord Rich Presence apps for movies and TV shows.
Progress bar showing your current watch percentage.
System tray integration with pause/resume functionality.
Start at login option for seamless operation.
Browser-based setup wizard with OAuth device flow for easy configuration.
Audience & Benefit:
Ideal for media enthusiasts who use Trakt or Plex and want to share their viewing activities on Discord. Discrakt enhances social interaction by broadcasting your watch status seamlessly across platforms, regardless of where you are watching.
Discrakt can be installed via winget.
README
Discrakt - Easy to Use Trakt/Plex/Jellyfin Discord Rich Presence
A simple app that acts as a bridge between Discord and Trakt, Plex, or Jellyfin, allowing for the display of the watch status as Discord's Rich Presence. Essentially, it's a Trakt/Plex/Jellyfin Discord Rich Presence.
How it works: Discrakt mirrors what you're watching to Discord as Rich Presence. There are two ways to connect it:
1. Via Trakt — works with any app that scrobbles to Trakt, so your status shows up wherever and in whatever app you watch (TV, phone, across the world), as long as one device is running Discord and Discrakt. Popular apps with Trakt integration:
Stremio — Enable the Trakt addon in Settings → Addons
2. Direct Plex or Jellyfin connection — Discrakt connects straight to your Plex or Jellyfin server and mirrors your active session, with no Trakt account or external scrobbling needed. You log in during setup (Plex login, or Jellyfin Quick Connect) and Discrakt polls the server for what you're currently playing.
Either way, movie and show artwork plus localized titles are fetched from TMDB.
Features
Choose your source: Trakt (any app that scrobbles to it), or a direct Plex or Jellyfin server connection
🌐 Multilingual support (Automatic system detection & Tray menu selection)
Localized titles for movies and episodes are fetched via TMDB.
Separate Discord Rich Presence apps for Movies and TV Shows
Movie posters and show artwork displayed via TMDB
Direct link to the title's page on TMDB (IMDB as a fallback)
Progress bar showing watch percentage
System tray integration with pause/resume functionality
Start at login option
Browser-based setup wizard (Trakt login, or a direct Plex / Jellyfin connection)
Setup
Run the executable
A setup wizard opens in your browser
Pick your source:
Trakt: click Login with Trakt and approve in your browser. (Advanced: use a public Trakt profile by username, no login.)
Plex: click Login with Plex and approve. (Advanced: enter a server URL + token manually.)
Jellyfin: enter your server URL and click Login with Jellyfin, then enter the shown code in Jellyfin's Quick Connect. (Advanced: use an API key.)
Note: Discord needs to be running on the same machine as Discrakt.
Advanced: Manual Configuration
Discrakt creates credentials.ini for you during the setup wizard, so this file is not included in releases — you don't need to download it. Only follow these steps if you want to use your own Trakt API application:
Create an API Application on Trakt.tv (with scrobble capabilities and urn:ietf:wg:oauth:2.0:oob as the redirect uri)
Create a credentials.ini file with your settings
Place it in one of these locations:
Operating System
Location
Example
Linux
$XDG_CONFIG_HOME/discrakt or $HOME/.config/discrakt
accessToken can be an API key (Dashboard → API Keys) or a token from Quick Connect. When source is omitted, Discrakt prefers Trakt, then Plex, then Jellyfin, based on what's configured.
Installation
macOS
Homebrew (recommended)
brew tap afonsojramos/discrakt
brew install discrakt
Supports both Apple Silicon and Intel Macs.
DMG
Download the universal DMG from the latest release and drag the app to your Applications folder.
Windows
Winget (recommended)
winget install afonsojramos.discrakt
Scoop
scoop bucket add extras
scoop install discrakt
MSI Installer
Download the MSI installer from the latest release.
Linux
Debian/Ubuntu (.deb)
# Download the .deb for your architecture (amd64 or arm64)
sudo dpkg -i discrakt_*_amd64.deb
Fedora/RHEL (.rpm)
# Download the .rpm for your architecture (x86_64 or aarch64)
sudo rpm -i discrakt-*.x86_64.rpm
AppImage
Download the AppImage for your architecture from the latest release, make it executable, and run:
Discrakt includes a "Start at Login" option in its system tray menu. Enable it to automatically start when you log in.
You can also enable autostart from the command line:
discrakt --autostart 1
This is useful for scripting or package manager post-install hooks. To disable:
discrakt --autostart 0
Command Line Options
discrakt [OPTIONS]
Options:
--autostart Enable (1) or disable (0) automatic startup at login
--version, -V Show version information
--help, -h Show help message
Development
Make sure you've installed Rust. You can install Rust and its package manager, cargo by following the instructions on rustup.rs.
After installing the requirements below, simply run cargo run.
The setup wizard is a React app in setup-ui/ built with the Vite+ (vite-plus) unified toolchain (Rolldown build, oxlint, oxfmt), embedded into the binary at build time. cargo build runs the frontend build automatically via build.rs, so you also need Node and pnpm installed (managed by mise: mise install). To iterate on the wizard UI directly, run the app once to start its local setup server, then point the dev server at it:
cd setup-ui
VITE_PROXY_TARGET=http://127.0.0.1: pnpm dev # vp dev
pnpm lint # oxlint via vp
pnpm format # oxfmt via vp
To build the Rust binary against a prebuilt setup-ui/dist without invoking pnpm, set DISCRAKT_SKIP_UI_BUILD=1.