← NEWS DESK
release impact

OpenClaw Main Migrates the Official Fish Audio Plugin Identity

The package, plugin and provider names are now deliberately distinct, with guarded migration for legacy official installs.

Independent reporting and tested guidance for OpenClaw operators · Editorial standards

OpenClaw merged a compatibility migration for the official Fish Audio speech plugin into main on 6 August, then restored its ClawHub publishing path later the same day. The change separates three names that operators should not treat as interchangeable:

  • npm package: @openclaw/fish-audio-speech;
  • plugin ID: fish-audio-speech; and
  • TTS provider/config ID: fish-audio.

The legacy official plugin could retain the runtime identity fish-audio, which overlaps an unrelated community distribution. PR #119900 migrates managed official installs to the unambiguous fish-audio-speech plugin identity while preserving existing fish-audio provider configuration.

Operator decision

If you use Fish Audio, inventory the installed package and runtime plugin ID before upgrading. Then adopt a confirmed containing release and run the plugin compatibility checks.

Do not “fix” working TTS configuration by renaming every fish-audio key to fish-audio-speech. The official documentation explicitly says the provider and TTS configuration ID remain fish-audio.

The reviewed evidence establishes the merged migration and current documentation, but does not identify a published OpenClaw core version containing it.

What should change—and what should not

A healthy post-migration arrangement should look conceptually like this:

Layer Expected identity
Installed official package @openclaw/fish-audio-speech
Plugin catalog/runtime ID fish-audio-speech
tts.provider fish-audio
tts.providers configuration key fish-audio

This separation avoids claiming the generic legacy plugin ID while retaining compatibility for provider selection and existing TTS settings.

The official pull-request record says the migration follows catalog replacement selectors, rejects replacement-install collisions and reuses explicit skipped-update outcomes. Those guards matter because an identity migration must not overwrite an unrelated community plugin or leave two packages silently competing for one runtime ID.

Upgrade checklist

Before the change:

  1. record the installed Fish package source and version;
  2. back up OpenClaw configuration and plugin state;
  3. identify whether fish-audio refers to the official managed package or a community distribution; and
  4. note any plugin allowlist, denylist or explicit entry that names the old plugin ID.

After installing a containing release:

  1. run openclaw doctor --post-upgrade and review plugin findings;
  2. confirm the official package is @openclaw/fish-audio-speech;
  3. confirm the runtime plugin ID is fish-audio-speech;
  4. keep the configured provider ID as fish-audio;
  5. run /tts status and one non-sensitive audio fixture; and
  6. verify update tooling continues to select the intended official channel.

If OpenClaw reports a replacement collision, stop and inspect both installed packages. Do not delete a community plugin merely because its name resembles the official provider. First establish which package owns each configured entry and preserve its configuration.

ClawHub publishing was repaired separately

Commit 05e3ce1 restores Fish Audio ClawHub publishing after the identity migration. That is relevant to discovery and managed installation, but it is not proof that an already installed plugin migrated successfully.

Treat catalog availability, package installation, runtime identity and provider behavior as four separate checks. A green catalog entry does not verify local state.

Configuration and licensing cautions

Current official documentation installs the hosted plugin with:

openclaw plugins install @openclaw/fish-audio-speech

It retains fish-audio in the TTS provider block. Use environment-backed secrets for the API key and do not include it in plugin diagnostics or support reports.

The same documentation distinguishes hosted Fish Audio from local S2 Pro on Apple silicon. Local downloadable S2 Pro weights use the Fish Audio Research License; commercial use requires separate licensing. The plugin identity migration does not alter those licensing terms.

Scope and evidence limits

OpenClaw Academy reviewed the merged pull request, both official commits and current Fish Audio documentation. We did not install the plugin or exercise a live Fish Audio account. Verify the exact containing release and your package provenance before allowing automated migration.

Bottom line

The official Fish integration now has a specific plugin identity without breaking the existing provider key: package @openclaw/fish-audio-speech, plugin fish-audio-speech, provider fish-audio. Upgrade carefully, inspect collisions rather than overwriting them, and test both plugin discovery and actual speech output.

THE RECEIPTS

Claims should survive the click.

Primary links used for this article are listed openly. If the evidence changes, the verification date changes with it.
  1. 01Migrate Fish Audio plugin identity — PR #119900
  2. 02Fish Audio identity migration — commit 52b8f9b
  3. 03Restore Fish Audio ClawHub publishing — commit 05e3ce1
  4. 04Official Fish Audio documentation

THE OPERATOR BRIEF

One useful email when the signal earns it.

Release impact, security changes and repository intelligence. No daily sludge.