Skip to content

Fix: plugin not loading at startup (missing activation.onStartup) — bump 1.2.4 - #39

Merged
pallaoro merged 1 commit into
mainfrom
fix/activation-onstartup
Jun 26, 2026
Merged

Fix: plugin not loading at startup (missing activation.onStartup) — bump 1.2.4#39
pallaoro merged 1 commit into
mainfrom
fix/activation-onstartup

Conversation

@pallaoro

Copy link
Copy Markdown
Member

Problem

ClawFlow's openclaw.plugin.json has no activation field. Per current OpenClaw
plugin manifest semantics (docs/plugins/manifest.md):

Omitting onStartup no longer implicitly startup-loads the plugin; explicit
activation metadata is required for startup or other specific triggers.

So the gateway discovers clawflow (status: loaded) but never runs its
register(). Observable on a live gateway via openclaw plugins list --json:

id=clawflow status=loaded toolNames=[] httpRoutes=0

Consequences: the flow_* tools are never registered, the approval hook never
wires up, and — when config.serve is set — the flow HTTP server never starts.
That silently breaks every inbound flow entry point (HTTP triggers,
webhook-to-flow dispatch): the flows tunnel origin has nothing listening, so calls
return 502.

Fix

Add explicit activation: { onStartup: true } to the manifest. ClawFlow registers
tools, a hook, and a long-lived server — all of which must run at gateway startup.

"activation": { "onStartup": true }

Also aligns the manifest version (was stale at 1.2.2) with the package version,
and bumps both to 1.2.4.

Verification

On a live gateway, with the manifest patched and config.serve.port set:

[plugins] [clawflow] flow server listening on :<port>/flows/:flowName/run
GET /flows/health -> {"ok":true,"flowsDir":"..."} [200]

Before the patch (no activation), the same gateway never bound the port and logged
no clawflow server line.

…tartup, bump to 1.2.4

Per OpenClaw plugin manifest semantics (docs/plugins/manifest.md): omitting
`activation.onStartup` no longer implicitly startup-loads a plugin — explicit
activation metadata is now required. Without it the gateway discovers clawflow
(status: loaded) but never runs its register(), so it contributes zero tools
(`toolNames: []`) and never starts the flow HTTP server (`serve`). HTTP triggers
and webhook-to-flow dispatch were silently dead as a result.

ClawFlow registers the flow_* tools, an approval hook, and (when configured) a
long-lived flow server — all of which must run at startup, so onStartup: true.

Also align manifest version (was 1.2.2) with package version.
@pallaoro
pallaoro merged commit 14bfe5b into main Jun 26, 2026
1 check passed
@pallaoro
pallaoro deleted the fix/activation-onstartup branch June 26, 2026 18:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant