Skip to content

Repository files navigation

Playnite

Search and launch your Playnite library. Fully local, no Playnite extension required.

CI Release License

Buy Me a Coffee Sponsor

Features

  • Works out of the box. Reads games.db directly with litedb-py, no Playnite extension required.
  • Live results, optionally. Pair it with the playnite-library-server extension for live library data while Playnite runs.
  • Fully local. No cloud services, no API keys.
  • Fuzzy matching. pn rdr2 will match Red Dead Redemption 2.
  • Icons and cover art. Game icons in results, cover art on F1.
  • All your sources. Every library Playnite knows about, in one search.
  • Launch or open. Installed games launch directly; uninstalled games open their Playnite page.
  • Rich context menu. Open install folder, jump to store links, copy the game id.
  • Hidden games, opt-in. Include games hidden in Playnite via a setting.

Usage

Type pn followed by a game name:

pn cyber

Playnite results in Flow Launcher

Installation

Flow Launcher

In Flow Launcher, type:

pm install playnite

Flow Launcher plugin manager installing Playnite

Manual installation

Download Playnite-Plugin-<version>.zip from the latest release and unzip it into %appdata%\FlowLauncher\Plugins, then restart Flow Launcher.

Live library data (optional)

By default the plugin reads games.db directly, which is a snapshot that can go stale while Playnite is running (install status, newly added games, artwork). Installing the companion playnite-library-server Playnite extension lets the plugin pull live data from Playnite instead, including artwork, whenever it's running. If the extension isn't installed, or the request fails for any reason, the plugin falls back to reading games.db as before, no configuration needed.

To set it up, download PlayniteLibraryServer_<version>.pext from the extension's latest release, open it with Playnite (or drag it onto the Playnite window), and restart Playnite.

If you've changed the extension's port from its default (38217), set it in the plugin's settings via library_server_port.

Changelog

3.1.0 (2026-08-30)

Features

  • add Game.from_json_api for the live library server response (981bef2)
  • add HTTP client for the live library server (a2a85c4)
  • fall back to the file-based library when the server is unavailable (d338730)
  • query the live library server before falling back to games.db (bae8b10)

Bug Fixes

  • bump pyflowlauncher to 1.1.1 (#51) (abd849c)
  • bump pyflowlauncher to 1.1.2 so builtin result actions dispatch (6b2544b)
  • harden the live-server path against malformed responses (3d9f49e)
  • serve last cached library snapshot when Playnite locks games.db (2b902ee)

Documentation

  • document the live library server integration (4623c73)

3.0.0 (2026-08-25)

⚠ BREAKING CHANGES

  • scaffold python_v2 plugin layout, drop FlowLauncherExporter dependency

Features

  • add Game model, playnite URIs, and subtitle formatting (5f5344c)
  • build query results and rich conditional context menu (453d20a)
  • locate Playnite library and cache a lock-free copy of games.db (cdaa9f7)
  • read games and source names from the Playnite database (4850b7e)
  • scaffold python_v2 plugin layout, drop FlowLauncherExporter dependency (c55e2f8)
  • wire query and context menu into pyflowlauncher plugin (2bdac65)

Bug Fixes

  • hide the install folder entry when the directory is missing (456d8bb)
  • replace em dash in run.py comment (7b1a912)
  • report an unreadable Playnite library instead of crashing (c8b7609)

Documentation

  • add flow-render screenshots to README (8f3097d)
  • generate README with readwright (977d0ea)
  • match usage example to the screenshot query (28acad5)
  • name the versioned release archive in install instructions (0a5eb62)

See CHANGELOG.md for the full history.

About

Search and launch your Playnite library.

Resources

Stars

16 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages