# OpenClaw Plugins Documentation

## Overview

Plugins extend OpenClaw with additional capabilities. A plugin is just a small code module that extends OpenClaw with extra features.

## Key Capabilities

Plugins can register:
- Gateway RPC methods
- Gateway HTTP handlers
- Agent tools
- CLI commands
- Background services
- Skills (via directories in the plugin manifest)
- Auto-reply commands

## Installation & Management

Basic commands for plugin operations:

```bash
openclaw plugins list
openclaw plugins install @openclaw/voice-call
openclaw plugins enable <id>
openclaw plugins disable <id>
```

The system loads plugins from multiple locations: config paths, workspace extensions, global extensions, and bundled extensions.

## Official Plugins Available

Notable built-in options include voice calling, memory search (Core and LanceDB variants), and messaging channels like Microsoft Teams, Matrix, Nostr, and Zalo.

## Configuration

Plugins use a declarative config model with JSON Schema validation. Plugin config is validated using the JSON Schema embedded in `openclaw.plugin.json`.

Plugin slots enable exclusive categories—only one active simultaneously. For example, memory plugins use the `memory` slot.

## Security Consideration

Plugins run in-process with the Gateway, so treat them as trusted code. Users should only install plugins from reliable sources.

## Development

Plugins export either a function or an object with registration logic. The manifest requires an `openclaw.plugin.json` file with metadata, schema, and UI hints for the Control UI.
