# Stremio Enhanced: an Electron client with plugin and theme folders

> A community Electron shell for Stremio that adds a plugin system, a theme system, a shared registry and toggleable Discord Rich Presence. The customization model is the interesting part, and the restart requirement plus one subtitle limitation are the price.

**REVENGE977/stremio-enhanced** — Electron-based Stremio desktop client with support for plugins and themes. This is a community project and is not affiliated with Stremio in any way.

- Repository: https://github.com/REVENGE977/stremio-enhanced
- Website: https://discord.gg/jDsgcehrp7
- Stars: 877 · Forks: 48
- Language: TypeScript
- License: MIT
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/revenge977-stremio-enhanced

## An Electron shell around the Stremio web client

Stremio Enhanced is not a fork of Stremio. The repository states the mechanism in two bullets: it runs the Stremio streaming server automatically in the background, and it loads the web version of Stremio inside an Electron environment. That architecture decides almost everything else about the project. You are not running a different media client, you are running the same web interface in a desktop wrapper that happens to have a local service behind it and a filesystem it can write to. The result is that features like plugins and themes become possible, because a wrapper owns a window and a user profile directory, while a plain browser tab does not. The project is written in TypeScript on Electron, and the repository carries a clear disclaimer that it is a community project and is not affiliated with Stremio in any way. That disclaimer is a practical fact for anyone reading the code: no upstream team fixes the breakage when Stremio changes its web client, and no upstream team has a say in how plugins are allowed to behave.

## Themes and plugins arrive as files you drop into a folder

The customization model is deliberately dull, and that is a strength for anyone who wants to understand what they are installing. The settings screen exposes buttons labelled "OPEN THEMES FOLDER" and "OPEN PLUGINS FOLDER". Open the folder, move the file in, restart, and the item shows up in settings with an option to apply it. For plugins, the documented reload path is a restart or a reload with Ctrl and R held together. There is no sandbox described, no permission prompt, and no manifest validation in the visible documentation. A plugin is a JavaScript file that the client loads, so the trust boundary is your own judgement about whoever wrote it. The example plugin in the repository is examples/slashtosearch.plugin.js, and the example theme is examples/amoled.theme.css, which tells you the two extension points use different file types: CSS for appearance, JavaScript for behaviour. The AniSkip integration named in the README as a feature example, which autoskips anime openings and endings, is itself described as still under testing.

## The registry lives in a separate repository

Beyond dropping files in a folder, the client can fetch things for you. The settings screen also carries a "Community Plugins & Themes" tab, and the documentation says the items shown there are fetched from the Stremio Enhanced Registry repository, which is a separate project from this one. Developers submit their work there. This split has consequences for anyone running the client as part of a team or building a shared setup. The registry is the place that changes over time, and its contents are not visible in this repository, so the client can surface code you have never read. A curated internal folder of reviewed plugins gives you the same extensibility with a review step in front of it, at the cost of losing the one-click download that the community tab gives you. The Discord Rich Presence feature sits in the same category of convenience: the runtime dependencies include @xhayper/discord-rpc and discord-api-types, and the feature is built in and toggleable rather than installed as a plugin.

## Plugins and addons solve different problems

The README draws this line explicitly, and it is the clearest way to understand where Stremio Enhanced sits. Addons are available on the normal version of Stremio, and they add catalogs and streams. Plugins add functionality to Stremio, like new features. The practical difference is where the code runs and what it can touch. An addon is a separate service that answers requests and hands back catalog and stream data. A plugin runs inside the client you are already looking at, so it can add interface elements and react to what you are doing, which is also why it can be a stability risk. If your goal is more content sources, the addon system in the official client already covers it, and the plugin layer buys you nothing. If your goal is a different interface, an autoskip behaviour, or a now-playing badge in Discord, that is what the plugin and theme systems are for. Choosing the wrapper for the wrong reason is the most common way to end up with a process running in the background and nothing new to show for it.

## Windows installs are two winget commands, not one

On Windows the documentation offers a package identifier, and a second package that is easy to miss. The client itself installs like this:

```bash
winget install REVENGE.StremioEnhanced
```

The companion service is a separate install, and the documentation says it is required for Stremio Enhanced to stream content.

```bash
winget install Stremio.StremioService
```

If you install only the first one, the wrapper starts, the web interface loads, and the streaming side is missing, which is a confusing state to debug from the UI alone. Other platforms get the build-from-source path instead. The releases tab carries downloadable builds for every platform, and the recent tags there give a sense of the release shape: v1.3.0-preview.1 and v1.3.0-preview.2, both labelled as embedded mpv, followed by a v1.2.1-test build. The package manifest in the repository still says version 1.2.0, so the published artifacts and the manifest version have already drifted apart. Expect to read a release note before assuming a given build does what a previous one did.

## Building from source runs tsc, then a copy step, then electron-builder

The source build is the standard Electron pipeline with one project-specific twist: the compile step is followed by a separate script that copies static assets, and the build scripts call both together. The documented sequence starts with a clone, a directory change and a dependency install.

```bash
git clone https://github.com/REVENGE977/stremio-enhanced.git
cd stremio-enhanced
npm install
```

The platform build commands are separate npm scripts, and each one recompiles before packaging.

```bash
npm run build:win
npm run build:linux:x64
npm run build:linux:arm64
npm run build:mac:x64
npm run build:mac:arm64
```

The manifest shows how the pieces fit together, with the scripts block indented under the package name and the compile and copy steps chained before every electron-builder call.

```json
	"name": "stremio-enhanced",
	"version": "1.2.0",
	"main": "./dist/main.js",
	"scripts": {
		"dist": "tsc && node ./copyComponents.js",
		"lint": "eslint -c .eslintrc --ext .ts ./src",
		"build": "npm run dist && electron-builder",
		"build:win": "npm run dist && electron-builder --win"
	},
```

Electron 41, electron-builder 26 and TypeScript 5.7 are the pinned toolchain, and the build output lands in a release-builds directory. That is a workable setup for anyone who wants to inspect what they are running, and it is the only way to test a local plugin change before submitting it to the registry.

## Blu-ray PGS subtitles never load, and that is not fixable in-app

The known-issues list is short, and its single entry is worth reading before you install. Blu-ray PGS embedded subtitles do not load, and the stated reason is browser limitations, with the documented workaround being to play streams through an external player such as VLC. So the constraint is inherited from the web client that runs inside the window, not from the plugin or theme layers. If your library is full of PGS tracks, this wrapper will not improve on the plain web version, and you should expect to configure an external player as part of your setup rather than treat it as a bug to file. On the maintenance side, the repository is not archived, the last push was on 2026-07-30, and the release history shows preview builds rather than stable ones, which means you are adopting a project whose version numbers carry channel suffixes. The licence is MIT, so forking the client, changing it, and redistributing it carries no conditions beyond keeping the licence text, and the plugin and theme examples can be reused under the same terms.

## Conclusion

Adopt Stremio Enhanced if your Stremio usage is heavy enough that you want themes, extra in-client features and a Discord now-playing badge, and you are willing to treat it as an unofficial client that breaks when upstream changes. Skip it if you only need the official desktop app, if your playback depends on Blu-ray PGS subtitles, or if an unmaintained-by-Stremio wrapper around web.stremio.com is not something you want on your machine. Before installing, check three things: that the Stremio Service package is present since it is required for streaming, that the version you pick matches the release channel you want because the latest tags carry a preview suffix, and that your Stremio installation still works after the wrapper launches the streaming server in the background. If you write plugins, look at examples/slashtosearch.plugin.js and the wiki before shipping anything.

## FAQ

### What is Stremio Enhanced and how does it differ from the normal Stremio client?

It is an Electron-based Stremio desktop client that runs the Stremio streaming server in the background and loads the Stremio web version inside Electron. It adds plugin and theme support and a toggleable Discord Rich Presence, and it is a community project not affiliated with Stremio.

### How do I install Stremio Enhanced on Windows?

Run winget install REVENGE.StremioEnhanced for the client, and also run winget install Stremio.StremioService, which the documentation says is required for Stremio Enhanced to stream content. Other platforms can be installed from the releases tab or built from source.

### How do I install a theme or a plugin in Stremio Enhanced?

Open the settings, click the "OPEN THEMES FOLDER" or "OPEN PLUGINS FOLDER" button, move the file into the opened folder, then restart the client, or reload with Ctrl and R for plugins. The item then appears in settings with an option to apply or enable it.

### What is the difference between a Stremio plugin and a Stremio addon?

Addons are available on the normal version of Stremio and add catalogs and streams. Plugins add functionality to the client itself, such as new features or interface changes.

### Does Stremio Enhanced support Blu-ray PGS subtitles?

No. The known-issues list states that PGS embedded subtitles do not load because of browser limitations. The documented workaround is to play streams through an external player such as VLC.

## Sources

- [License: MIT](https://github.com/REVENGE977/stremio-enhanced/blob/main/LICENSE)
- [Project website](https://discord.gg/jDsgcehrp7)
- [README](https://github.com/REVENGE977/stremio-enhanced/blob/main/README.md)
- [Releases](https://github.com/REVENGE977/stremio-enhanced/releases)
- [REVENGE977/stremio-enhanced on GitHub](https://github.com/REVENGE977/stremio-enhanced)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/revenge977-stremio-enhanced
