Skip to content

Built-in runtime plugins (Hermes/Paperclip/OpenClaw/Droid) have no disable control; Hermes Runtime connection suppresses unrelated custom models & auth providers #1931

Description

@Automata-intelligentsia

Summary

Built-in runtime plugins (Hermes, Paperclip, OpenClaw, Droid) have no way to be disabled from the dashboard UI. Additionally, when the Hermes Runtime is active/connected, it appears to interfere with unrelated model/provider configuration elsewhere in Settings.

Part A — No disable control for built-in runtime plugins

Where: Settings → Plugins (Plugin Manager) and Settings → Runtimes → Hermes.

  • The Runtimes → Hermes settings card (SettingsModal-*.js) only renders a status/probe badge (via probeHermesBinary) — install status, version, etc. There is no enable/disable control on this card at all.

  • The Plugin Manager (PluginManager-*.js) lists runtime plugins (fusion-plugin-hermes-runtime, fusion-plugin-paperclip-runtime, fusion-plugin-openclaw-runtime, fusion-plugin-droid-runtime) under a "Runtime" category, some flagged experimental:true.

  • For a plugin that is built-in but has no separate "installed" plugin record (i.e. p = builtin flag true, but no matching plugins table row for the project — confirmed empty for our project's .fusion/fusion.db even though plugin_activations shows it re-activating on every Fusion restart), the render branch resolves to:

    p ? (l && t ? <InstallSetupButton/> : l && i ? <ManageButton/> : <span className="plugin-builtins-metadata-only">Built-in metadata only</span>) : <InstallButton/>

    When neither l && t nor l && i are true, the user gets a static, non-interactive label — "Built-in metadata only" — and no button of any kind. There is no supported path to disable the plugin from the UI.

Expected: Built-in runtime plugins should have an explicit enable/disable toggle regardless of whether they have a persisted "installed" plugin record, so a user can turn off a runtime provider (e.g. Hermes) they don't want active without needing to sabotage the underlying CLI binary/PATH as a workaround.

Part B — Hermes Runtime connection interferes with unrelated model/provider config

Reported by a user actively running the Hermes Runtime plugin alongside custom model providers configured directly in Fusion:

  1. Hermes models are not surfaced. When the Hermes runtime is connected, Fusion does not pull in the full set of models the user has already configured/authenticated in their local Hermes install (per hermes model / provider config) for selection in Fusion's model picker.
  2. Custom Fusion models get deactivated. While Hermes is connected, custom model/provider entries the user had separately configured in Fusion's own settings (Settings → Providers, customProviders in ~/.fusion/settings.json) become deactivated/unusable.
  3. Authentication providers disappear. With Hermes connected, the Authentication settings page loses nearly all of its provider options — only a small subset remains selectable, rather than the full list of providers Fusion otherwise supports.

Expected: The Hermes Runtime plugin should be additive — it should not suppress, deactivate, or hide unrelated custom providers, models, or authentication provider options that a user has independently configured in Fusion. Connecting/disconnecting Hermes should not have side effects on the rest of the provider/authentication configuration surface.

Repro context

  • Fusion desktop build (Windows), @runfusion/fusion installed via npm, version resolved at ~/.hermes/hermes-agent / %LOCALAPPDATA%\Programs\Fusion.
  • .fusion/fusion.db plugins table empty for the project; plugin_activations table shows fusion-plugin-hermes-runtime (v0.2.0) re-activating on every app restart.
  • Confirmed via the plugin's own README (plugins/fusion-plugin-hermes-runtime/README.md) that it drives the local hermes CLI as a subprocess per prompt.

Suggested fix

  • Give built-in runtime plugins a real enable/disable toggle in the Plugin Manager (or the Runtimes settings card) independent of "installed" status.
  • Audit the Hermes Runtime plugin's settings/provider hooks for any code path that filters/replaces the global provider or authentication-provider lists based on Hermes being connected, and make that behavior additive rather than exclusive.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions