---
sidebar_position: 5
---

# Plugins for Users

Plugins add features to Toju. They can add pages, buttons, panels, settings, sounds, message tools, custom embeds, or server-specific behavior.

## Types of Plugins

| Type           | What it means                                                                                         |
| -------------- | ----------------------------------------------------------------------------------------------------- |
| Client plugin  | Installed for your app. It follows you across servers when active.                                    |
| Server plugin  | Installed for a specific server. It may be required, recommended, optional, blocked, or incompatible. |
| Library plugin | Shared plugin code used by other plugins. It is not normally something users interact with directly.  |

## Install from the Plugin Store

1. Open the Plugin Store from the title bar or Settings.
2. Browse or search available plugins.
3. Open the plugin details.
4. Read the description, version, source, and capability list.
5. Choose install.
6. Review and grant only the capabilities you trust.
7. Activate the plugin.

Server-scoped plugins installed to the server you are currently viewing are enabled and activated automatically after install, so their panels, actions, or embeds can appear immediately.

## Use Plugin Actions

When plugins add quick actions to a server, the server side panel shows a View plugins link in the plugin area. Open it to see a grid of plugin action tiles. Selecting a tile runs that plugin's action in the current server and channel context.

Plugins can also add `/` slash commands. Type `/` in the message box to open the command menu; plugin commands appear there tagged with the plugin name, alongside built-in commands like `/lenny`. See [Text and Direct Messages](./text-and-direct-messages.md#slash-commands) for how to use the menu.

## Install a Local Plugin

Desktop builds can discover local plugin folders from the app data plugins directory.

1. Put the plugin folder in the desktop plugins directory.
2. Open Settings.
3. Open the Plugin Manager.
4. Refresh or register local plugins.
5. Grant capabilities and activate the plugin.

## Server Plugin Prompts

When a server uses plugins, Toju may show a prompt.

| Status       | Meaning                                                                           |
| ------------ | --------------------------------------------------------------------------------- |
| Required     | You must install the plugin to join or continue using that server.                |
| Recommended  | The server suggests the plugin, but you can choose.                               |
| Optional     | The plugin is available for the server, but not required.                         |
| Blocked      | The server marks the plugin as not allowed.                                       |
| Incompatible | The plugin version does not work with your app version or the server requirement. |

Required plugins are still installed locally on your device. The signaling server stores requirement metadata only; it does not run plugin code.

## Capability Grants

Plugins must ask for capabilities before using sensitive features.

Examples:

| Capability area | Why a plugin might ask                                                     |
| --------------- | -------------------------------------------------------------------------- |
| Messages        | Send messages, read current messages, moderate messages, or render embeds. |
| Users and roles | Read member lists, create plugin users, or manage users.                   |
| Voice and media | Play audio, add an audio stream, add a video stream, or adjust volume.     |
| UI              | Add pages, settings pages, side panels, toolbar buttons, slash commands, or DOM elements. |
| Storage         | Save plugin preferences locally or per server.                             |

Only grant capabilities to plugins you trust.

## Manage Plugins

The Plugin Manager lets you:

- activate, deactivate, reload, or unload plugins;
- grant or revoke capabilities;
- inspect plugin logs;
- see plugin UI contribution counts;
- review server plugin requirements;
- uninstall plugins.

## Plugin Safety Notes

Plugins are browser-safe JavaScript modules loaded by the client. They do not run on the signaling server. A plugin can only call privileged Toju APIs when its manifest declares the capability and you grant it.
