webui-permission-flow

Document the WebUI permission flow across CLI, Go backend, and React frontend.

2|Updated Mar 30, 2026
One-click install
npx skills add https://github.com/liuyu520/cc-connect-fork --skill webui-permission-flow
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: webui-permission-flow
Source: https://github.com/liuyu520/cc-connect-fork/tree/main/.claude/skills/webui-permission-flow
Command: npx skills add https://github.com/liuyu520/cc-connect-fork --skill webui-permission-flow

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Document the WebUI permission flow between Claude Code CLI, the Go backend, and the React frontend.

Core Features & Use Cases

  • Defines the permission lifecycle, including control_request, permission_request, and control_response formats
  • Covers cancel/deny paths and ensures parity with the IM path
  • Describes runtime flags, state handling, and UI-to-CLI communication for robust integration

Quick Start

Run the system with the standard CLAUDE setup to validate the permission prompt flow end-to-end.

Frequently Asked Questions about webui-permission-flow

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How does the WebUI permission flow work between Claude Code CLI and a React frontend?

The WebUI permission flow coordinates permission requests across the Claude Code CLI, a Go backend, and a React frontend using control_request, permission_request, and control_response message formats to manage the lifecycle end-to-end.

How do I handle cancel and deny paths in a WebSocket permission flow?

To handle cancel and deny paths in a WebSocket permission flow, the system maintains parity with the IM path and uses a pendingInputs cache to preserve tool input, ensuring robust state handling when users reject or cancel permission prompts.

Do I need specific runtime flags to enable permission prompts in Claude Code CLI?

Yes, enabling permission prompts in Claude Code CLI requires the --permission-prompt-tool stdio runtime flag to properly route the WebUI permission flow and maintain communication between the UI and CLI.

What is the permission lifecycle when integrating a Go backend with a React WebUI?

The permission lifecycle spans control_request, permission_request, and control_response stages, defining how the Go backend mediates UI-to-CLI communication and manages state for robust frontend-backend integration.

Why does tool input get lost during a WebUI permission request?

Tool input gets lost during a WebUI permission request when a pendingInputs cache is not maintained, so preserving tool input through the flow requires caching pending inputs to prevent data loss across the CLI and frontend.

Can I use WebSocket communication to manage permission requests across CLI and UI?

Yes, you can use WebSocket communication to manage permission requests by defining UI-to-CLI messaging formats and enforcing required runtime flags to coordinate the flow between the Go backend and React frontend.