openclaw - ✅(Solved) Fix Control UI: exec.approvals.set fails with unexpected property 'source' [1 pull requests, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#69698Fetched 2026-04-22 07:49:16
View on GitHub
Comments
0
Participants
1
Timeline
1
Reactions
0
Author
Participants
Timeline (top)
cross-referenced ×1

When attempting to save security settings in the OpenClaw Control UI, the UI sends an invalid source property in the allowlist entries, causing the gateway to reject the request with INVALID_REQUEST.

Error Message

Save fails with error. Gateway logs show:

Root Cause

The Control UI is including a source field in allowlist entry objects that the gateway API does not accept. The gateway expects only command, glob, regex, etc. — not source.

Fix Action

Workaround

Set security mode via CLI:

openclaw approvals set --file <json>
# or verify current setting:
openclaw approvals get

The CLI correctly sets security without the invalid field.

PR fix notes

PR #69732: Fix exec approvals snapshot transport redaction

Description (problem / solution / changelog)

Summary

  • redact internal exec approval allowlist metadata from transport payloads
  • reuse the same transport redaction for both gateway and node-host approval snapshots
  • add coverage for redacting source while preserving user-visible allowlist fields

Testing

  • node scripts/run-vitest.mjs run --config test/vitest/vitest.infra.config.ts src/infra/exec-approvals-store.test.ts
  • pnpm tsgo:core
  • pre-commit check:changed hooks

Closes #69698

Changed files

  • src/gateway/server-methods/exec-approvals.ts (modified, +2/-9)
  • src/infra/exec-approvals-store.test.ts (modified, +44/-0)
  • src/infra/exec-approvals.ts (modified, +20/-0)
  • src/node-host/invoke.ts (modified, +3/-10)

Code Example

⇄ res ✗ exec.approvals.set 2ms errorCode=INVALID_REQUEST 
errorMessage=invalid exec.approvals.set params: 
  at /file/agents/main/allowlist/0: unexpected property 'source'
  at /file/agents/main/allowlist/1: unexpected property 'source'
  at /file/agents/main/allowlist/2: unexpected property 'source'

---

openclaw approvals set --file <json>
# or verify current setting:
openclaw approvals get
RAW_BUFFERClick to expand / collapse

Bug Report: Control UI sends invalid source field in exec.approvals.set

Summary

When attempting to save security settings in the OpenClaw Control UI, the UI sends an invalid source property in the allowlist entries, causing the gateway to reject the request with INVALID_REQUEST.

Environment

  • OpenClaw version: 2026.4.15 (041266a)
  • Gateway port: 18789
  • OS: macOS (Darwin 25.4.0 arm64)
  • Node: v24.13.1

Steps to Reproduce

  1. Open OpenClaw Control UI
  2. Navigate to Security settings
  3. Attempt to change security mode to "full"
  4. Click Save

Expected Behavior

Security settings should save successfully.

Actual Behavior

Save fails with error. Gateway logs show:

⇄ res ✗ exec.approvals.set 2ms errorCode=INVALID_REQUEST 
errorMessage=invalid exec.approvals.set params: 
  at /file/agents/main/allowlist/0: unexpected property 'source'
  at /file/agents/main/allowlist/1: unexpected property 'source'
  at /file/agents/main/allowlist/2: unexpected property 'source'

Root Cause

The Control UI is including a source field in allowlist entry objects that the gateway API does not accept. The gateway expects only command, glob, regex, etc. — not source.

Workaround

Set security mode via CLI:

openclaw approvals set --file <json>
# or verify current setting:
openclaw approvals get

The CLI correctly sets security without the invalid field.

Severity

Medium — security settings work via CLI, but UI is broken for this flow.

Related

  • Control UI version: v2026.4.15 (webchat)

extent analysis

TL;DR

The Control UI needs to be updated to exclude the source field from allowlist entries when saving security settings to fix the INVALID_REQUEST error.

Guidance

  • Verify the gateway API documentation to confirm the expected properties for allowlist entries, ensuring that source is not a valid field.
  • Inspect the Control UI code to identify where the source field is being added to the allowlist entries and modify it to exclude this field.
  • Use the provided CLI workaround to set security settings until the UI issue is resolved.
  • Test the updated UI by attempting to save security settings and checking the gateway logs for any errors.

Example

No code snippet is provided as the issue does not contain sufficient code details, but the fix would involve modifying the UI code to remove the source field from allowlist entries, for example:

// before
{
  "allowlist": [
    { "command": "...", "glob": "...", "source": "..." },
    ...
  ]
}

// after
{
  "allowlist": [
    { "command": "...", "glob": "..." },
    ...
  ]
}

Notes

The root cause of the issue is the inclusion of the source field in the allowlist entries by the Control UI, which is not accepted by the gateway API. The provided CLI workaround allows security settings to be set correctly until the UI issue is fixed.

Recommendation

Apply the workaround by using the CLI to set security settings until the Control UI is updated to exclude the source field from allowlist entries. This ensures that security settings can be configured correctly while the UI issue is being addressed.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - ✅(Solved) Fix Control UI: exec.approvals.set fails with unexpected property 'source' [1 pull requests, 1 participants]