You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
when building the thread app config. Plugin activation invalidates that
245
+
- Target runtime setup uses the target agent's Codex app-server identity when
246
+
building the thread app config. Curated plugin activation invalidates that
184
247
target cache key, then force-refreshes it after `plugin/install`.
248
+
`workspace-directory` setup never runs this activation path.
185
249
186
-
A plugin app is exposed only when OpenClaw can map it back to the migrated
250
+
A plugin app is exposed only when OpenClaw can map it back to the configured
187
251
plugin through stable ownership: an exact app id from plugin detail, a known
188
252
MCP server name, or unique stable metadata. Display-name-only or ambiguous
189
253
ownership is excluded until the next inventory refresh proves ownership.
@@ -226,7 +290,7 @@ closed instead of falling back to an unrestricted default.
226
290
## Thread app config
227
291
228
292
OpenClaw injects a restrictive `config.apps` patch for the Codex thread:
229
-
`_default` is disabled, and only apps owned by enabled migrated plugins or
293
+
`_default` is disabled, and only apps owned by enabled configured plugins or
230
294
accessible account apps admitted by `allow_all_plugins` are enabled.
231
295
232
296
`destructive_enabled` on each app comes from the effective global or
@@ -244,7 +308,7 @@ controlled by each app's `destructive_enabled` policy.
244
308
245
309
## Destructive action policy
246
310
247
-
Destructive plugin elicitations are allowed by default for migrated Codex
311
+
Destructive plugin elicitations are allowed by default for configured Codex
248
312
plugins, while unsafe schemas and ambiguous ownership fail closed:
249
313
250
314
- Global `allow_destructive_actions` defaults to `true`.
@@ -276,10 +340,31 @@ plugins, while unsafe schemas and ambiguous ownership fail closed:
276
340
|`app_inventory_unavailable`| Strict source app verification was requested but the source Codex app inventory refresh failed. | Fix source Codex app-server access, or retry without `--verify-plugin-apps` to accept the faster account-gated plan. |
277
341
|`codex_subscription_required`| The source Codex app-server account was not a ChatGPT subscription account. | Log in to the Codex app with subscription auth, then rerun migration. |
278
342
|`codex_account_unavailable`| The source Codex app-server account could not be read. | Fix source Codex app-server auth, or rerun with `--verify-plugin-apps` to let source app inventory decide eligibility. |
279
-
|`marketplace_missing`, `plugin_missing`| The target Codex app-server cannot see the expected `openai-curated` marketplace or plugin. | Rerun migration against the target runtime, or inspect Codex app-server plugin status. |
343
+
|`marketplace_missing`, `plugin_missing`| Marketplace or exact plugin unavailable; the explicit workspace catalog request may have been rejected; workspace apps fail closed. | Verify the compatible app-server contract and exact ID described below. |
344
+
|`plugin_detail_unavailable`| OpenClaw could not read plugin ownership details. | Inspect the target app-server's `plugin/list` and `plugin/read` responses. |
345
+
|`plugin_disabled`| Codex reports the plugin installed but disabled. | Curated activation may repair it; enable a workspace plugin in Codex before retrying. |
346
+
|`plugin_activation_failed`| Plugin activation did not complete. | Use the attached diagnostic to distinguish marketplace, auth, refresh, or workspace-readiness failures. |
280
347
|`app_inventory_missing`, `app_inventory_stale`| App readiness came from an empty or stale cache. | OpenClaw schedules an async refresh automatically; plugin apps stay excluded until ownership and readiness are known. |
281
348
|`app_ownership_ambiguous`| App inventory only matched by display name. | The app stays hidden from the Codex thread until a later refresh proves ownership. |
282
349
350
+
**Workspace plugin is installed but not visible:** confirm the workspace
351
+
`plugin/list` result reports the exact configured ID as installed and enabled,
352
+
then confirm `app/list` reports every owned app accessible for the same Codex
353
+
account. OpenClaw can enable an accessible app for the thread even when the
354
+
account inventory currently reports that app disabled. If you changed that state after the gateway cached app
355
+
inventory, wait for the one-hour cache refresh or restart the gateway, then use
356
+
`/new` or `/reset`. OpenClaw does not repair or authenticate workspace plugins.
357
+
If the explicit workspace list request is rejected, each enabled workspace
358
+
entry reports `marketplace_missing`; unrelated curated entries still proceed
359
+
from the default list response.
360
+
361
+
For `plugin_detail_unavailable`, a pathless workspace summary must include
362
+
`remotePluginId`; OpenClaw keeps owned apps hidden when that selector or the
363
+
subsequent `plugin/read` result is unavailable. For
364
+
`plugin_activation_failed`, curated plugins may report a marketplace, auth, or
365
+
post-install refresh failure. A workspace plugin reports this code when it is
366
+
not already active; install, enable, and authenticate it outside OpenClaw.
367
+
283
368
**Config changed but the agent cannot see the plugin:** run `/codex plugins
284
369
list` to confirm the configured state, then `/new` or `/reset`. Existing
285
370
Codex thread bindings keep the app config they started with until OpenClaw
0 commit comments