-
Notifications
You must be signed in to change notification settings - Fork 0
Plugins
Sprint FF — Extend ClawDE with native and WASM plugins.
ClawDE's plugin system lets you extend the daemon with custom logic that runs alongside every AI session. Plugins receive lifecycle events (session start/end, tool calls, messages) and can emit push events to connected clients.
Two runtimes are supported:
| Runtime | Extension | Use when |
|---|---|---|
| Dylib |
.dylib / .so / .dll
|
Maximum performance, system access |
| WASM | .wasm |
Sandboxed, portable, safe for third-party plugins |
clawd pack install <plugin-name>Plugins are distributed as pack archives. After installation, the plugin appears in the Plugin Manager and is enabled automatically.
# Native Rust dylib plugin
clawd plugin scaffold --type dylib --name my-plugin
# WASM plugin (Rust→WASM)
clawd plugin scaffold --type wasm --name my-wasm-pluginclawd plugin list
clawd plugin enable my-plugin
clawd plugin disable my-pluginOr use the Plugin Manager page in the desktop app (Settings → Plugins).
Every plugin must include a clawd-plugin.json at its pack root:
{
"name": "hello-clawd",
"version": "1.0.0",
"description": "Greets each new session",
"author": "you",
"runtime": "dylib",
"entry": "libhello_clawd.dylib",
"capabilities": [],
"signature": ""
}| Capability | What it allows |
|---|---|
fs.read |
Read files in the project directory |
fs.write |
Write files in the project directory |
network.relay |
Send events to connected clients |
daemon.rpc |
Call daemon RPC methods |
Users are prompted to approve capability grants on first install. The daemon enforces them on every host call.
Official plugins distributed through the ClawDE registry are signed with the registry's Ed25519 private key. Self-signed plugins are allowed but the user is warned.
# Generate a signing keypair
clawd plugin genkey
# Sign a plugin binary
clawd plugin sign libmy_plugin.dylib --key private_key.hex
# Verify a signature
clawd plugin verify libmy_plugin.dylib --pubkey public_key.hex| Method | Description |
|---|---|
plugin.list |
List all installed plugins |
plugin.enable |
Enable a plugin by name |
plugin.disable |
Disable a plugin by name |
plugin.info |
Get detail for a single plugin |
| Plugin | Runtime | What it does |
|---|---|---|
hello-clawd |
dylib | Logs "Hello!" on session start |
auto-test |
WASM | Runs tests on every task_done event |
Source: examples/plugins/ in the apps repo.
See Plugin ABI for the full C ABI specification and stability guarantee.
ClawDE · GitHub · MIT License
ClawDE
Getting started
Reference
- Architecture
- Daemon-Reference
- Folder-Structure
- Providers
- Multi-Account
- Security
- Features
- Features/Daemon
- Features/Session-Manager
- Features/Mode-System
- Features/Repo-Intelligence
- Features/Projects
- Features/Remote-Access
- Features/Desktop-App
- Features/Provider-Knowledge
- Features/Coding-Standards
- Roadmap
Branding
Contributing