Install
openclaw skills install local-approvalsClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.
Local approval system for managing agent permissions. Use CLI to approve/deny requests, view history, and manage auto-approved categories.
openclaw skills install local-approvalsA local approval system that manages agent permissions with auto-approve lists and approval history tracking.
# List pending requests
python C:\Users\Shai\.openclaw\skills\local-approvals\cli.py list
# Approve a request
python C:\Users\Shai\.openclaw\skills\local-approvals\cli.py approve abc123
# Deny a request
python C:\Users\Shai\.openclaw\skills\local-approvals\cli.py deny abc123
# Show approval history
python C:\Users\Shai\.openclaw\skills\local-approvals\cli.py history
# Reset an agent's categories
python C:\Users\Shai\.openclaw\skills\local-approvals\cli.py reset assistant
Approve a pending request by ID.
python cli.py approve <request_id> [--learn] [--reviewer <name>]
Options:
--learn: Add the category to the agent's auto-approve list--reviewer: Who is approving (default: "user")Example:
python cli.py approve abc123 --learn
Deny a pending request by ID.
python cli.py deny <request_id> [--reviewer <name>]
Options:
--reviewer: Who is denying (default: "user")Example:
python cli.py deny abc123
List all pending requests, optionally filtered by agent.
python cli.py list [--agent <agent_id>]
Options:
--agent: Filter requests by agent IDExample:
python cli.py list --agent assistant
Show approval history from state.json.
python cli.py history [--limit <number>]
Options:
--limit: Maximum number of entries to show (default: 20)Example:
python cli.py history --limit 50
Reset an agent's auto-approved categories list.
python cli.py reset <agent_id>
Example:
python cli.py reset assistant
Show auto-approved categories for one or all agents.
python cli.py categories [--agent <agent_id>]
Options:
--agent: Show categories for specific agentExample:
python cli.py categories --agent planner
The skill maintains two JSON files in the state directory:
Location: ~/.openclaw/skills/local-approvals/
The core.py module provides the underlying functionality:
check_auto_approve(agent, category) - Check if a category is auto-approvedsubmit_request(agent, category, operation, reasoning) - Submit a pending requestlearn_category(agent, category) - Add category to auto-approve listget_request(request_id) - Retrieve a request by IDupdate_request(request_id, decision, reviewer) - Update request with decisionlist_pending(agent) - List pending requestsget_agent_approvals(agent) - Get agent's auto-approved categories--learn for trusted categories that you want to auto-approvehistory to understand approval patternsreset to clear an agent's auto-approve list if you suspect issues# 1. Check what's pending
python cli.py list
# 2. Review the request details (output shows agent, category, operation, reasoning)
# ID: abc123
# Agent: assistant
# Category: file_write
# Operation: Create config file
# Reasoning: Setting up new environment
# 3. Approve and auto-learn this category for future
python cli.py approve abc123 --learn
# 4. Verify it was approved
python cli.py list # Should show no pending requests
# 5. Check history
python cli.py history
# 6. View auto-approved categories
python cli.py categories
# View all auto-approved categories
python cli.py categories
# View categories for a specific agent
python cli.py categories --agent assistant
# Reset an agent's categories (clear all auto-approvals)
python cli.py reset assistant
The CLI is designed to be used both interactively and programmatically. Exit codes:
0: Success1: Error (request not found, agent not found, etc.)cli.py - Command-line interface (this file)core.py - Core approval functionsschemas/ - JSON schema definitionsschemas/state.json - State schema templateschemas/pending.json - Pending requests schema template