> For the complete documentation index, see [llms.txt](https://docs.kouch.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kouch.dev/mods-and-plugins/plugins.md).

# Plugins

Add features with plugins. Each runs sealed off and only does what you allow.

A **plugin** adds a feature to Kouch: new actions in the Quick Menu, something that happens when a game starts or stops, or, like the built-in **Steam library** plugin, a whole new tool.

Plugins are **sealed off**. A plugin can't touch your files, your network or the rest of your PC. It can only use the few things Kouch offers, and only the ones **you approve**.

![Settings › Plugins](https://3008865259-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiaV8VKDYJngjWWkPZx0Q%2Fuploads%2Fgit-blob-8b985603c3f155a429fc4b991dc0f4d9e8b2fe5e%2Fsettings-plugins.png?alt=media)

## Turn a plugin on

1. Open **Settings › Plugins**.
2. Press **A** on a plugin. Kouch shows **Turn \<name> on?** and lists exactly what it will be able to do.
3. Choose **Allow and turn on**, or **Cancel**.

**A** again turns it off, at once. Every plugin starts **off**. If an update asks for more than you approved, it's turned off until you approve it again.

## What a plugin can ask for

| It may ask to…                                                               | Which means                                                       |
| ---------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| **Add actions to the Quick Menu**                                            | New rows in the Quick Menu while a game runs.                     |
| **Know when a game starts and stops**                                        | React to a session.                                               |
| **Press the emulator's keyboard shortcuts**                                  | Send the emulator a key, like its quick-save key.                 |
| **Show messages**                                                            | Short notifications.                                              |
| **Keep a few settings of its own**                                           | Remember small settings between sessions.                         |
| **Read and change this emulator's saves** / **storage folder**               | Only that emulator's own folder, never anything else.             |
| **Add actions to this page**                                                 | Buttons on its row in Settings › Plugins.                         |
| **Read your game list (titles, systems, art)**                               | Never where the files are.                                        |
| **Change Kouch's shortcuts in your Steam library (you confirm each change)** | Only Kouch's own shortcuts, and you see and confirm every change. |

**Only for: …** means the plugin only works with the emulators listed. **Nothing beyond running when a game does** means it asks for nothing at all.

A plugin can **never** touch BIOS, firmware or keys, or read files outside what it was given. If it tries something it wasn't allowed, Kouch refuses and tells you.

## Built-in plugins

* **Steam library:** adds your games to Steam's library. See [Your games in Steam's library](/steam/steam/steam-library.md).

## Get more plugins

* **Get more plugins** browses the Workshop. It opens with Kouch's Steam release.
* A plugin can also come inside a `.kod` file, or as a folder you copy into Kouch's plugins folder: `%APPDATA%\kouch\plugins\` on Windows, `~/.config/kouch/plugins/` on the Steam Deck and Linux. The **Save slots** sample from the Kouch team, for example, adds **Quick save** and **Quick load** to the Quick Menu.

Want to write one? See [Write a plugin](/for-creators/creators/plugins.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kouch.dev/mods-and-plugins/plugins.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
