Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control

Featured Replies

Overview

UnraidClaw is a permission-enforcing REST API gateway that lets AI agents manage your Unraid server. It sits between AI tools and your server, providing a unified API with fine-grained access control, authentication, and activity logging.

Instead of giving AI agents direct access to Unraid internals, UnraidClaw acts as a controlled gateway. It combines Unraid's GraphQL API with direct system integration (CLI commands for parity checks, reboot/shutdown, and syslog; filesystem operations for share config editing and notification management; network introspection via ip) to expose capabilities that no single Unraid API covers.

It works with any AI agent that speaks HTTP, and ships with an OpenClaw plugin for plug-and-play integration.

image.pngimage.pngimage.pngimage.png

What does it do?

The plugin installs a Node.js server and a web interface that together give you:

43 tools across 11 categories:

  • Docker – List, inspect, logs, start, stop, restart, pause, unpause, remove containers

  • Virtual Machines – List, inspect, start, stop, force stop, pause, resume, reboot VMs

  • Array – Status, start/stop array, parity check start/pause/resume/cancel

  • Disks – List disks, view individual disk details and SMART data

  • Shares – List shares, view details, edit settings (comment, allocator, split level, floor)

  • System – System info, CPU/memory metrics, list services, reboot, shutdown

  • Notifications – List, create, archive, delete notifications

  • Network – View interfaces, routes, and DNS configuration

  • Users – View current user info

  • Logs – Read syslog entries

Settings Page (Settings > UnraidClaw) with four tabs:

  • Dashboard – Service status, server info, quick health check

  • Settings – Service enable/disable, port configuration, API key generation

  • Permissions – Full resource:action permission matrix with presets (Read Only, Docker Manager, VM Manager, Full Admin, None). 21 individual permission toggles across 8 categories

  • Activity Log – Searchable log of all API requests with timestamps, endpoints, methods, and results

Security:

  • HTTPS with auto-generated self-signed TLS certificate (EC prime256v1, 10-year validity)

  • API keys hashed with SHA-256 before storage; the plaintext key is never persisted

  • Every request authenticated via API key ( x-api-key header ) and checked against the permission matrix

  • All activity logged in JSONL format

  • Runs locally on your Unraid box, no cloud dependencies

OpenClaw Plugin (npm) – For AI agents that support the OpenClaw protocol:

npm pack unraidclaw && openclaw plugins install unraidclaw-*.tgz && rm unraidclaw-*.tgz

Registers all 43 tools automatically. Configure with your server URL and API key in ~/.openclaw/openclaw.json.

{
  "plugins": {
    "entries": {
      "unraidclaw": {
        "config": {
          "serverUrl": "https://YOUR_UNRAID_IP:9876",
          "apiKey": "YOUR_API_KEY",
          "tlsSkipVerify": true
        }
      }
    }
  }
}

Requirements

  • Unraid 7.0.0 or later (Node.js 22+ is built-in)

Installation

Community Applications (coming soon, waiting for approval)
Search for UnraidClaw in the CA plugin store.

Manual Install
Go to Plugins > Install Plugin and paste:

https://raw.githubusercontent.com/emaspa/unraidclaw/main/packages/unraid-plugin/unraidclaw.plg

Quick Start

  1. Go to Settings > Management Access in the Unraid WebGUI, scroll to the API section, and copy your Unraid API key

  2. Go to Settings > UnraidClaw, paste the Unraid API key into the Unraid API Key field

  3. Generate an UnraidClaw API key (save it, it won't be shown again)

  4. Configure permissions on the Permissions tab

  5. Set Service to Enabled and click Apply

The server starts on port 9876 over HTTPS.

Troubleshooting

  • Service won't start: Check that Node.js 22+ is available. Run node --version in the Unraid terminal.

  • Connection refused: Verify the service is running: /etc/rc.d/rc.unraidclaw status

  • TLS certificate errors: If your AI client doesn't accept self-signed certs, set tlsSkipVerify: true in the OpenClaw config.

  • Permission denied on API call: Check the Activity Log tab to see which permission was denied, then enable it on the Permissions tab.

  • API key not working: The key is shown only once during generation. If lost, generate a new one from the Settings tab.

Support & Feedback

Please report bugs and feature requests on the GitHub Issues page.

For general discussion, questions, support and feedback, feel free to post in this thread.

Source code: github.com/emaspa/unraidclaw

Edited by bubbl3

  • Author

v0.1.34

Security and reliability fixes

  • The service keeps serving when /var/log is full. A failed write to /var/log/unraidclaw.log used to raise an error inside the request logger, whose shutdown then retried the same write forever. The service stayed listening on its port but never completed a TLS handshake, never answered a request and ignored rc.unraidclaw stop until it was killed. Log lines that cannot be written are now dropped and the service carries on. Thanks to @golgoth85 for the report and the diagnosis in #18.

  • rc.unraidclaw stop always ends the service. If closing open connections stalls, the process exits on its own after five seconds instead of waiting for the SIGKILL the script sends after ten.

  • rc.unraidclaw start warns when /var/log has no free space, since the service log will explain nothing in that state.

  • /var/log/unraidclaw.log is rotated at 5 MB through Unraid's daily logrotate run, so the request log cannot fill /var/log on its own.

Upgrade notes

  • Nothing to configure. If your /var/log is full, the service now starts and answers, but its log stays empty until space is freed. On Unraid 7.3.2, a full /var/log is often nginx/error.log growing from the missing question.png container icon; clearing the rotated logs frees it.

v0.1.33
MCP support

  • New Streamable HTTP endpoint at /mcp on the service port, off by default and switched on with Enable MCP in Settings. It exposes the same 55 tools with the same API key, permissions, input validation and activity logging as the REST API. REST and the OpenClaw plugin keep working as before.

  • Activity log entries for MCP tool calls name the tool and show the outcome of the API route it ran. Successful MCP handshakes and GET/DELETE responses with status 405 are left out of the log; other failed connection requests are still logged.

  • Setup for Claude Code, Codex and other clients is described in the MCP section of the README.

Command-line client

  • The plugin now installs the unraidclaw command at /usr/local/bin/unraidclaw, with the same tools and permissions as OpenClaw and MCP. On the server it finds the local gateway and trusts its certificate on its own; set the API key once with unraidclaw config set-key.

  • For other machines, the same client is published as unraidclaw-cli on npm and as unraidclaw-cli-0.1.33.tar.gz on this release. It needs Node.js 22 or newer.

  • Connection errors name the cause (untrusted certificate, address not in the certificate, nothing listening, protocol mismatch or DNS), and invalid arguments name the failing flag and rule. Tables and help are shorter, logs and nested values are formatted for reading, certificate details are shown once when trusting in table mode, and supported dry runs proceed without confirmation.

  • See the CLI guide for install, credentials, certificate trust, all commands and exit codes.

TLS certificate

  • Generated certificates now list the server's host name, its .local name, loopback and stable global addresses in subjectAltName, so clients that trust the certificate can verify the host name.

  • Settings shows the certificate's subject, alternative names, expiry and SHA-256 fingerprint, so remote CLI users can compare the fingerprint before trusting it.

  • A Regenerate certificate button replaces the certificate when the server's address or host name changed. It keeps the old pair as .bak files (older backups get numbered suffixes) and restarts the service.

Security and reliability fixes

  • A parity check started with correct sent as the text "false" no longer runs as a correcting check. The field must now be true or false.

  • Share comments containing quotes, backslashes, $, backticks or control characters are rejected, since they could write extra keys into the share's config file. Share settings are now written atomically and read back.

  • Docker, VM, array, parity and notification actions reject malformed input and unknown fields, refuse IDs that start with -, time out instead of hanging, and check the real state afterwards. Responses include a verified field; a VM shutdown or reboot still in progress returns verified: false.

  • A container created through the API keeps its Unraid template even when it exits right after starting, and a failed create reports Docker's error without echoing environment values.

  • Requests to paths that do not exist return 404 instead of 401 when sent without a key, and no longer count toward the failed-login limit. MCP clients that probe for OAuth metadata locked themselves out before connecting.

  • /api/health stays public and unlogged when called with a query string.

  • /api/health no longer reports the previous version after an upgrade until the service restarted again. The package now records its own version instead of the service reading it from the .plg, which Unraid saves only after the install script restarts the service.

Other changes

  • Settings Apply reports when the service did not end up running or stopped, and no longer restarts the service when the settings file could not be written.

  • The Disk Info permission description no longer mentions SMART data, which the disk endpoints do not return.

  • The unused vms:create permission is removed from the VM Manager preset.

Upgrade notes

  • MCP is off after the upgrade. Turn it on with Enable MCP in Settings if you want the /mcp endpoint.

  • A certificate created by an earlier version has no subjectAltName and is replaced once on the first service start after the upgrade. The previous pair is kept as cert.pem.bak and key.pem.bak in /boot/config/plugins/unraidclaw/tls. Clients that pinned or trusted the old certificate must trust the new one; the OpenClaw plugin with tlsSkipVerify: true is not affected.

  • Regenerating the certificate from Settings has the same effect: clients that trusted the old certificate must trust the new one.

  • Docker, VM, array, parity, share and notification routes now reject unknown fields and wrongly typed values that earlier versions accepted. Check API scripts that send extra or loosely typed fields, and note that responses from these routes now carry a verified field.

  • Unknown paths answer 404 without a key where they previously answered 401.

v0.1.32
Fixes
Check /etc/rc.d after upgrading

Earlier packages carried directory entries for shared paths. Installing one could replace Unraid's /etc/rc.d symlink with a plain directory holding only rc.unraidclaw. That hides rc.0 and rc.6, so a reboot can't shut the array down cleanly.

0.1.32 builds the package without directory entries and installs it with --keep-directory-symlink --no-overwrite-dir. A new archive safety test runs in the release workflow against a host where /etc/rc.d is a symlink.

The upgrade doesn't repair a server that was already hit. Run ls -ld /etc/rc.d. If it shows a directory instead of a symlink, stop the array from the WebGUI before you reboot. Unraid rebuilds its root filesystem from the boot image on every start, so the symlink is back after that reboot.


Features
Community Applications
You can search the CA catalog, read an app's template, and install it with overrides. Installed apps can be updated and removed.

  • An update rebuilds the container from the template saved on the flash drive, not from today's catalog, so the ports, paths and variables you set stay as they are. Volumes attached to the running container are carried over.

  • Removal keeps appdata, volumes, images and the saved template.

  • If the replacement container fails, UnraidClaw tries to put the old one back.

  • Anything it can't reproduce exactly is refused with a blocker code instead of being dropped. Extra Parameters, device passthrough, custom networks, privileged containers and resource limits the template doesn't describe all fall in that group.

  • The new operations accept dryRun: true. Masked template values such as passwords and API keys are redacted from update previews and errors.

Plugin Management

A separate Plugins category lists, inspects, installs, checks, updates and removes Unraid plugins.

Permissions

New keys: ca:read, ca:create, ca:update, ca:delete, plugins:read, plugins:create, plugins:update, plugins:delete.

The Docker Manager preset includes the CA permissions and Read Only includes plugins:read. Plugin write permissions need an explicit checkbox or Full Admin. ca:update and ca:delete are off in a default permission file.

Unraid 7.4

Unraid 7.4 adds a memory limit and Additional Networks to Docker templates.

  • Installs and updates pass the template's memory limit to docker as --memory. An update is refused if the running container's limit doesn't match the template.

  • On Unraid before 7.4, which ignores the field, an install with a memory limit is refused.

  • Templates with Additional Networks are refused rather than installed on a single network.

  • VM listings no longer query the deprecated uuid GraphQL field. The uuid in responses now comes from the VM id and keeps the same value.

OpenClaw plugin 0.1.14

Published to npm as [email protected]. It adds 11 tools, 55 in total:

unraid_ca_search, unraid_ca_app, unraid_ca_install, unraid_ca_update, unraid_ca_remove, unraid_plugins_list, unraid_plugin_info, unraid_plugin_install, unraid_plugin_check_updates, unraid_plugin_update, unraid_plugin_remove

The new tools call endpoints that exist only in gateway 0.1.32, so upgrade the Unraid plugin first.

The plugin README and SKILL.md had stale tool counts, a 6.12+ requirement where 7.0.0+ is correct, and outdated config examples. Those are fixed. The repo also has a CONTRIBUTING.md and an AGENTS.md now.


v0.1.31

Fixes

Parity-check status now reflects reality (#14, thanks @rodaballo)

/api/array/parity/status previously read Unraid's GraphQL array.parityCheckStatus, which doesn't reflect parity checks started outside Connect (via mdcmd, cron, or the webGUI) — so it reported no activity during a running check.

It now reads live md-driver state from mdcmd status (the same source the webGUI uses, consistent with how start/pause/resume/cancel already shell out to mdcmd).

API

Backward compatible — the existing keys keep their names and now carry real data, with new fields added:

Field

Source

running

mdResyncPos>0 ‖ mdResync>0

progress

mdResyncPos / mdResyncSize (0–100)

speed / speedHuman

mdResyncDb / mdResyncDt (KiB/s) / MB/s string

errors

sbSyncErrs

paused (new)

in progress but not advancing

correcting (new)

mdResyncCorr

action (new)

mdResyncAction (e.g. "check P Q")

position / size (new)

KiB done / total

lastCheck (new)

start/finish/duration/exit of the previous check

No changes required for existing API consumers (OpenClaw included)

v0.1.30

Important

Critical fix. v0.1.27–v0.1.29 silently chowned host root paths (/, /usr, /usr/local, /usr/local/emhttp, ...) to UID 1001 on install, breaking SSH key authentication on systems with default StrictModes yes. All users on those versions should upgrade.

Fixes

  • Stop chowning host paths (#13)

    • The build's tar invocation lacked --owner=root --group=root, so the GitHub Actions runner's UID 1001 was baked into every directory entry of the .txz. upgradepkg then preserved that ownership on the host's matching paths.

    • Build now uses tar --owner=root --group=root --numeric-owner. All archive metadata is root:root.

  • Heal existing installs

    • Postinstall step issues a corrective chown root:root on the affected host paths. Upgrading to v0.1.30 fixes already-broken systems automatically. No-op on healthy systems.

    • After upgrade, you can safely revert any StrictModes no workaround in /etc/ssh/sshd_config.

Huge thanks to @justinmeader for the exceptional bug report, root cause and fix included.


v0.1.29
Fixes

  • Fix POST /api/docker/containers rejecting valid registry-prefixed image references (#12)

    • Now accepts host[:port]/path/name:tag (e.g. 192.168.178.158:5000/homelab/myapp:latest)

    • Now accepts digest references (e.g. nginx@sha256:...)

    • The previous validator only allowed a single : and didn't permit @, which blocked everyone running a local/private Docker registry.

v0.1.28

  • Fix min/max version to align with XML v7 minimum by @mstrhakr in #11

v0.1.27

  • Add memory stats (total, used, free, percent) to /api/system/info and /api/system/metrics

  • Add CPU load averages (1m, 5m, 15m) to /api/system/info and /api/system/metrics

  • Add disk usage (used, free, percent) to /api/disks endpoints via df

  • Make /api/system/metrics a lightweight endpoint for polling (memory + CPU load only)

v0.1.26

  • Security Hardening Release

  • Fix command injection in syslog and notification endpoints (execSync to execFileAsync)

  • Fix path traversal in notification archive/delete and docker template filename

  • Restrict CORS to local network origins only

  • Stop exposing Unraid API key in settings page HTML

  • Remove internal error details from API error responses

  • Add rate limiting on API authentication (10 attempts/min per IP)

  • Add input validation on docker:create parameters (image, ports, volumes, env, network)

  • Validate share update fields (floor, splitLevel, comment)

  • Set restrictive file permissions on config, permissions, and log files

  • Enforce strict boolean types in permission saves

  • Require WebGUI authentication on activity log PHP endpoints

  • Move CSRF token from global JS variable to data attribute

v0.1.25

  • Add Unraid WebUI Port setting for non-standard port configurations

  • GraphQL URL is now constructed automatically from the port (no more manual URL editing)

v0.1.24

  • Remove GraphQL URL from settings (hardcode to http://localhost/graphql)

  • Prevents misconfiguration that caused 500 errors on all GraphQL-based endpoints

v0.1.23

  • Fix /api/health reporting hardcoded version "0.1.0" instead of actual installed version

  • Version is now read from the .plg file automatically, so it always matches the installed release

v0.1.22

  • Fix Docker inspect, logs, and all actions (start/stop/restart/pause/unpause) failing with 400 Bad Request

  • Switch all Docker and VM operations from GraphQL to CLI for compatibility with Unraid 7.2.3

  • Add docker:create endpoint for deploying containers via AI agents (thanks @bitcryptic-gw)

  • Fix OpenAI function calling compatibility

  • Fix global TLS bypass in OpenClaw plugin (now scoped per-connection)

  • Fix XML injection in docker:create template generation

  • Add ADMIN API key requirement to documentation

  • Correct API route paths in README


OpenClaw plugin also updated to v0.1.3 on npm:

rm -rf ~/.openclaw/extensions/unraidclaw && npm pack unraidclaw && openclaw plugins install unraidclaw-*.tgz && rm unraidclaw-*.tgz
openclaw gateway restart


On the OpenClaw side, multi server support has been added, config is backwards compatible, but you can have multiple servers configured this way:

{
  "plugins": {
    "allow": ["unraidclaw"],
    "entries": {
      "unraidclaw": {
        "config": {
          "servers": [
            {
              "name": "home",
              "serverUrl": "https://192.168.1.100:9876",
              "apiKey": "...",
              "tlsSkipVerify": true,
              "default": true
            },
            {
              "name": "work",
              "serverUrl": "https://10.0.0.50:9876",
              "apiKey": "..."
            }
          ]
        }
      }
    }
  }
}

With multi-server, every tool accepts an optional server parameter (e.g. unraid_docker_list(server: "work")). If omitted, the default server is used.

Edited by bubbl3

Forgive me for asking but I'm currently using OpenClaw. What does this do for me that OpenClaw doesn't? Or why would pick to use this over openclaw? I'm relatively new to LLM API use and still learning daily.

  • Author
12 hours ago, FlyingTexan said:

Forgive me for asking but I'm currently using OpenClaw. What does this do for me that OpenClaw doesn't? Or why would pick to use this over openclaw? I'm relatively new to LLM API use and still learning daily.

This adds an additional layer of control and security, since many of the commands are not available through the unraid API the alternative is to give OpenClaw SSH root access to your server, which i wouldn't recommend. The focus here is on risk aware security, give enough granular access for what you want OpenClaw to do without full unrestricted root access to your unraid machine.

Looks super interesting, will give it a go! Very new to AI and currently use Claude desktop rather than openclaw. Can I use Claude desktop to connect to it?

Cheers )

Stuart

  • Author
5 hours ago, schford said:

Looks super interesting, will give it a go! Very new to AI and currently use Claude desktop rather than openclaw. Can I use Claude desktop to connect to it?

Cheers )

Stuart

Yes you can, install the plugin in unraid and then point Claude to the github repository, it will figure it out :)

  • Author

Just FYI this has been tested and working on unraid 7.3.0 beta

Hi my Agent says he cant see some things any thoughts?

image.png

  • Author
10 hours ago, schford said:

Hi my Agent says he cant see some things any thoughts?

image.png

That is correct, is not a bug, this is the data available on that API endpoint:
image.png

Will see if it makes sense to add memory and cpu usage.

Disks are on another endpoint, but only status no details on usage space:
image.png

The array status shows the total used and free space:
image.png

Having per disk stats is a good idea and will take it as a feature request.

Edited by bubbl3

  • Author

@schford )

image.png

image.png

There is also a new metrics endpoint for easy polling:
image.png

Update plugin in unRAID and in OpenClaw:

openclaw plugins update unraidclaw
openclaw gateway restart

Edited by bubbl3

  • Author

Multi server support in OpenClaw has been added, config is backwards compatible, but you can have multiple servers configured this way:

{
  "plugins": {
    "allow": ["unraidclaw"],
    "entries": {
      "unraidclaw": {
        "config": {
          "servers": [
            {
              "name": "home",
              "serverUrl": "https://192.168.1.100:9876",
              "apiKey": "...",
              "tlsSkipVerify": true,
              "default": true
            },
            {
              "name": "work",
              "serverUrl": "https://10.0.0.50:9876",
              "apiKey": "..."
            }
          ]
        }
      }
    }
  }
}

With multi-server, every tool accepts an optional server parameter (e.g. unraid_docker_list(server: "work")). If omitted, the default server is used.

Hey,

install of the plugin seems to be broken with the current version of OpenClaw. When using openclaw plugins install unraidclaw you'll get an error saying that unraidclaw is a skill and to use openclaw skills install unraidclaw.

When using that it installs fine, but once you configure it as a plugin in openclaw.json you'll break the installation as the gateway won't restart. Added the output of my shell.

shell.log

  • Author
On 3/27/2026 at 1:05 PM, domori said:

Hey,

install of the plugin seems to be broken with the current version of OpenClaw. When using openclaw plugins install unraidclaw you'll get an error saying that unraidclaw is a skill and to use openclaw skills install unraidclaw.

When using that it installs fine, but once you configure it as a plugin in openclaw.json you'll break the installation as the gateway won't restart. Added the output of my shell.

shell.log


Thanks for surfacing this, nothing wrong with the plugin, Clawhub is being stupid and classified this as a skill instead of a plugin, submitted a correction but they are not the fastest, use this command to install:


npm pack unraidclaw && openclaw plugins install unraidclaw-*.tgz && rm unraidclaw-*.tgz

You will need the same to update:


rm -rf ~/.openclaw/extensions/unraidclaw && npm pack unraidclaw && openclaw plugins install unraidclaw-*.tgz && rm unraidclaw-*.tgz

If you installed from Clawhub you'll need to uninstall and install again /

Edited by bubbl3

Wow! Incredible stuff, thanks for that!

Will try that as soon as my Openclaw is set up.

  • 2 weeks later...

Very interesting, thanks for sharing, please could you give me some real world examples of where I would see the most benefit in installing/enabling this?

  • Author
On 4/8/2026 at 1:48 PM, NodeCentral said:

Very interesting, thanks for sharing, please could you give me some real world examples of where I would see the most benefit in installing/enabling this?

Aside of general automation and orchestration, here's just a few scenarios:

Monitoring and alerts -- Ask your AI agent "how are my disks doing?" and get back temperatures, SMART status, array health, and parity check progress in plain English. No need to open the WebGUI.                                                                                                                                                          

Docker management -- "Stop the Plex container, update it, and start it again" or "spin up a new Nginx container on  port 8080 with these volume mounts" -- all through natural language.

Troubleshooting -- "Show me the last 200 lines of syslog filtered for errors" or "which containers are using the most resources?" -- get answers without SSH-ing in.

Multi-server oversight -- If you run multiple Unraid boxes (home NAS + media server, or home + offsite backup), you can manage them all from one AI conversation: "compare disk usage across my home and backup servers."

Scheduled checks -- Have your AI agent run a morning briefing: array status, any failed disks, parity errors, Docker containers that crashed overnight, unread notifications.

Quick actions from anywhere -- Reboot the server, start/stop VMs, pause a parity check -- all from your phone       through whatever chat interface your AI agent uses (Telegram, Discord, etc.), without opening a browser.                                                                                                                 


The key value is turning Unraid management into a conversation instead of clicking through the WebGUI. The permission matrix means you control exactly what the agent can and can't do.

im super new to this and hermes was extremely easier for me to setup and use. How do i intergrate this into my hermes setup ? thanks

  • Author
On 4/14/2026 at 9:15 AM, prene1 said:

im super new to this and hermes was extremely easier for me to setup and use. How do i intergrate this into my hermes setup ? thanks

Sorry for the late reply, I was on holiday.

Would suggest pointed Herms to the repo and ask to build a skill, it should be able to do it by itself: https://github.com/emaspa/unraidclaw

  • 4 weeks later...

Hello

I know this should be a stright forward plugin, but running the latest stable unraid and latest unraidclaw, I cant get unraidclaw and openclaw to speak to each other.

I have attempted the following:

  1. Uninstalled and reinstalled the plugin.

  2. Checked the node --version and /etc/rc.d/rc.unraidclaw status to make sure those are good. And they are

  3. Double checked my openclaw.json file to make sure "tlsSkipVerify: true" and it is.

  4. I have Created multiple keys and double checked my openclaw.json file try different api keys. To no success

But no matter what I try, openclaw and unraidclaw just do not speak to each other. Any time I type something that the unraidclaw should understand I get a wall of text, that pops up in the logs, which is attached below, and I continue to get api resonses or calls. Any assistance would be great!

Screenshot 2026-05-12 170821.png

2026-05-12T171544.731-0500 [reload].txt

I really like your plugin interface. Would be very useful to expose it as a MCP server so it can integrate with broader clients (e.g OpenWebUI, LobeHub or RikkaHub on android). Is there any plan to support this?

  • Author
On 5/12/2026 at 3:25 PM, Mrtj18 said:

Hello

I know this should be a stright forward plugin, but running the latest stable unraid and latest unraidclaw, I cant get unraidclaw and openclaw to speak to each other.

I have attempted the following:

  1. Uninstalled and reinstalled the plugin.

  2. Checked the node --version and /etc/rc.d/rc.unraidclaw status to make sure those are good. And they are

  3. Double checked my openclaw.json file to make sure "tlsSkipVerify: true" and it is.

  4. I have Created multiple keys and double checked my openclaw.json file try different api keys. To no success

But no matter what I try, openclaw and unraidclaw just do not speak to each other. Any time I type something that the unraidclaw should understand I get a wall of text, that pops up in the logs, which is attached below, and I continue to get api resonses or calls. Any assistance would be great!

Screenshot 2026-05-12 170821.png

2026-05-12T171544.731-0500 [reload].txt

The OpenClaw logs don't say much unfortunately, from your screenshot doesn't seem like there has been any request to UnraidClaw server, you should see both successful and failed ones there under activity. Can you share the related OpenClaw config (minus the API key of course).

  • Author
On 5/16/2026 at 4:07 AM, socool said:

I really like your plugin interface. Would be very useful to expose it as a MCP server so it can integrate with broader clients (e.g OpenWebUI, LobeHub or RikkaHub on android). Is there any plan to support this?

Interesting suggestion, will keep it in mind, atm I can't spend much time on this aside essential fixes as I'm traveling for work, but will look into it sometime in June.

1 hour ago, bubbl3 said:

The OpenClaw logs don't say much unfortunately, from your screenshot doesn't seem like there has been any request to UnraidClaw server, you should see both successful and failed ones there under activity. Can you share the related OpenClaw config (minus the API key of course).

upon inspection I have found that my openclaw.json was missing the required lines mentioned in the install instructions. ( I dont know how, I had them inserted correctly before) and now when I attempt to insert them it is giving me syntax error or unrecognized key error when inserting the required config lines or api key. Do you have any tips to clean this up? Openai was still giving me bad config lines and commas to insert. I took out my identifying info and api's the best I could.

openclaw.json

Screenshot from 2026-05-18 13-35-14.png

Edited by Mrtj18

  • Author
2 hours ago, Mrtj18 said:

upon inspection I have found that my openclaw.json was missing the required lines mentioned in the install instructions. ( I dont know how, I had them inserted correctly before) and now when I attempt to insert them it is giving me syntax errors when inserting the required config lines. Do you have any tips to clean this up. I dont understand how to fix syntax errors. Openai was still giving me bad config lines and commas to insert. I took out my identifying info and api's the best I could.

openclaw.json

You have a trailing comma there:

"plugins": {
    "unraidclaw": {
      "serverUrl": "http://192.168.50.122:9876",
      "apiKey": "7f3fa56ce...",   ← trailing comma
    },

It should be:

"plugins": {
    "unraidclaw": {
      "serverUrl": "http://192.168.50.122:9876",
      "apiKey": "7f3fa56ce..."
    },

In general you seems a bit inexperienced here, would suggest reading docs and asking for help in the OpenClaw subreddit, having an LLM writing your config means you won't really know how it works. Also not sure what LLM you're using, it should have catched the trailing comma, it's basic JSON.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.