-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
Runtime drops plugin web tools after config write #77826
Copy link
Copy link
Open
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.
Description
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.
Type
Fields
Priority
None yet
Repro:
tools.web.search.provider: "brave"(and/oropenaiCodex.enabled: true); confirm web tools registered.Cause:
dist/runtime-Dg2ko22y.js:161canUseSecretsRuntimeFastPathreturns true when source config has notools.web.{search,x_search,fetch}AND no plugin entry withwebSearch/webFetchconfig AND no secret-ref candidates.prepareSecretsRuntimeSnapshotreturnswebTools: createEmptyRuntimeWebToolsMetadata()(line 188).finalizeRuntimeSnapshotWrite(indist/runtime-snapshot-Bgtbceve.js:139) invokes the refresh handler withnextSourceConfig, which can be a stripped or rewritten config from a writer.runtime-Dg2ko22y.js:267) callsprepareSecretsRuntimeSnapshotwith thatnextSourceConfig. If the writer's source config view lackstools.web, fast-path triggers, andsetActiveRuntimeWebToolsMetadataoverwrites the working metadata with the empty struct.Suggested fix:
(a)
prepareSecretsRuntimeSnapshotshould require an explicit "I know there's no web surface" assertion before returning empty metadata, and otherwise preserve the prior populated state; or(b) The refresh handler should diff
nextSourceConfigagainstactiveSnapshot.sourceConfigand skip the fast-path branch ifnextSourceConfigis not strictly a superset of the prior config's web surface; or(c) Writers that produce a
nextSourceConfigshould never elidetools.webif it was present in the prior source — i.e. the spread-write shape ({...sourceConfig, ...overrides}) needs a guard rail.Workaround:
tools.web.search.openaiCodex.enabled: truein~/.openclaw/openclaw.json. ThepatchCodexNativeWebSearchPayloadatdist/codex-native-web-search-*.jsinjectsweb_searchat API-payload time, masking the bug for web search but not for the other plugin tools (web_fetch, lobster, memory_*, etc.).Filer notes:
research/infra/2026-05-04_plugin-tool-drop-investigation.mdproject_grayden_web_tool_probe.