Tools & plugins
Using Obsidian with OpenClaw
Browse more in Tools & plugins.
All tools & plugins guides →This guide shows you how to wire OpenClaw’s plugin system into your Obsidian workflow by treating your Obsidian integration as an OpenClaw plugin. You’ll install and enable a plugin, configure it in the OpenClaw config, and understand how OpenClaw discovers and prioritizes plugins.
By the end, you’ll have OpenClaw loading your Obsidian-focused plugin reliably with the right enablement rules.
Prerequisites
- ✓An existing OpenClaw installation with access to the `openclaw` CLI in your shell.
- ✓A running OpenClaw Gateway you can restart with `openclaw gateway restart`.
- ✓A workspace directory where you keep your Obsidian-related OpenClaw extensions, such as `<workspace>/.openclaw`.
Steps
- 1
Inspect which plugins OpenClaw already loads
Before you add an Obsidian-focused plugin, check what OpenClaw already discovers so you don’t fight with name collisions or disabled states. This gives you a baseline inventory and helps you confirm that your new plugin shows up after you add it.
bashopenclaw plugins list - 2
Install your Obsidian plugin package into OpenClaw
Install the plugin that will talk to your Obsidian vault using the same mechanism OpenClaw uses for all external plugins. You can install from npm, ClawHub, or a local path depending on how you package your Obsidian integration.
bash# From npm openclaw plugins install @openclaw/voice-call # From a local directory or archive openclaw plugins install ./my-plugin openclaw plugins install ./my-plugin.tgz - 3
Configure plugin discovery paths for your Obsidian workspace
paths` at that directory so OpenClaw can discover it. This is useful when you iterate on the plugin locally instead of publishing to npm.
json{ plugins: { enabled: true, allow: ["voice-call"], deny: ["untrusted-plugin"], load: { paths: ["~/Projects/oss/voice-call-extension"] }, entries: { "voice-call": { enabled: true, config: { provider: "twilio" } }, }, }, } - 4
Enable your Obsidian plugin and control allow/deny lists
Once discovery works, explicitly enable the plugin ID you use for Obsidian and tighten `allow`/`deny` so only trusted plugins run. This avoids surprises from workspace plugins that are disabled by default or from untrusted entries that sneak into your config.
json{ plugins: { enabled: true, allow: ["voice-call"], deny: ["untrusted-plugin"], load: { paths: ["~/Projects/oss/voice-call-extension"] }, entries: { "voice-call": { enabled: true, config: { provider: "twilio" } }, }, }, } - 5
Restart the OpenClaw Gateway so Obsidian changes take effect
Config changes and new plugin installs don’t fully apply until the Gateway restarts. Trigger a restart so OpenClaw reloads your Obsidian plugin and applies the updated enablement rules.
bashopenclaw gateway restart - 6
Use chat-native commands to manage your Obsidian plugin
If you prefer to manage plugins from within a chat channel, turn on plugin commands and use the `/plugin` commands. This is handy when you want to enable, inspect, or reinstall your Obsidian plugin without dropping to a shell.
text/plugin install clawhub:@openclaw/voice-call /plugin show voice-call /plugin enable voice-call - 7
Verify plugin status and inspect details for your Obsidian integration
After restart, confirm that OpenClaw sees your Obsidian plugin as enabled and valid. Use the plugin CLI to list, inspect, and diagnose the plugin so you can catch invalid config or discovery issues early.
bashopenclaw plugins list # compact inventory openclaw plugins list --enabled # only loaded plugins openclaw plugins list --verbose # per-plugin detail lines openclaw plugins list --json # machine-readable inventory openclaw plugins inspect <id> # deep detail openclaw plugins inspect <id> --json # machine-readable openclaw plugins inspect --all # fleet-wide table openclaw plugins info <id> # inspect alias openclaw plugins doctor # diagnostics
Configuration
| Option | Description | Example |
|---|---|---|
| plugins.enabled | Master toggle that turns all plugins, including your Obsidian integration, on or off. | true |
| plugins.allow | Allowlist of plugin IDs that OpenClaw can enable, useful for explicitly permitting your Obsidian plugin. | ["voice-call"] |
| plugins.deny | Denylist of plugin IDs that OpenClaw must never enable, even if they appear in allow or entries. | ["untrusted-plugin"] |
| plugins.load.paths | Extra file or directory paths where OpenClaw looks for plugin files, such as your Obsidian plugin source. | ["~/Projects/oss/voice-call-extension"] |
| plugins.entries.<id>.enabled | Per-plugin toggle that enables or disables a specific plugin by ID. | true |
| plugins.entries.<id>.config | Configuration object passed into a specific plugin, such as provider settings. | { provider: "twilio" } |
| plugins.slots.memory | Selects which memory plugin is active, or `none` to disable memory. | memory-core |
| plugins.slots.contextEngine | Selects the active context engine plugin or built-in engine. | legacy |
Troubleshooting
Your Obsidian plugin does not appear in `openclaw plugins list`.
OpenClaw only discovers plugins from configured paths, workspace extensions, global extensions, and bundled plugins. openclaw/<plugin-root>` and that you restarted the Gateway after editing the config.
openclaw plugins list --verboseThe Obsidian plugin shows as invalid or install fails due to config issues.
When plugin config does not match the declared schema, OpenClaw marks it invalid and installs fail closed. config` and then run the doctor command to apply automatic fixes where possible.
openclaw doctor --fixThe Obsidian plugin is installed but disabled and never runs.
deny` always wins over allow. enabled: true`, then restart the Gateway.
openclaw plugins enable <id>After changing plugin config for Obsidian, behavior does not update.
Plugin config changes require a Gateway restart to take effect. If you run the Gateway with config watch and in-process restart, it usually restarts automatically, but you can force it with the restart command.
openclaw gateway restartFrequently asked questions
Powered by Mem0
Add persistent memory to OpenClaw
Official Mem0 plugin for OpenClaw keeps context across chats and tools. Smaller prompts, lower cost, better continuity for your agents.