Claude Code Plugin

Approve before it happens.

Human approval gates for real-world actions. Claude requests permission, delivers it through any channel provider, waits for your decision, and only proceeds when you say so.

Keep humans in the loop.

Autonomous agents are powerful, but some actions need a human yes before they execute. Deploying to production, sending emails, modifying infrastructure — these deserve a checkpoint.

approval-channel is a pure state machine. It formats approval requests and tracks decisions. Message delivery is handled by whatever channel provider you have installed — taskpilot, Termux, or anything that implements the channel capability.

claude> deploy to production?

[approval-channel] requesting approval...

action: deploy v2.4.1 to prod

status: pending

> approved

status: approved

proceeding with deploy.

How it works.

1

Request

When an action needs approval, Claude calls the approval tool. It returns a formatted message with the action details, context, and a unique request ID. Claude delivers it via your channel provider.

2

Decide

You see the request and approve, reject, or reply with questions. The plugin tracks state transitions and supports back-and-forth conversation before a final decision.

3

Proceed

On approval, the agent continues with the gated action. On rejection or timeout, it gracefully handles the denial and moves on. Every decision is logged.

Works with any plugin that uses the human-approval or conversation capability contracts.

Approval state machine

Tracks requests through pending, approved, rejected, and timeout states. Clean transitions with timestamps so you always know what was decided and when.

Conversation support

Not just yes/no. Reply with questions, add conditions, or ask for more context before deciding. The agent sees your messages and can respond before you commit.

MFA via phone push

For high-stakes actions — production deploys, financial transactions, billing changes — push the approval request to your phone with APPROVE and REJECT buttons. One tap and the agent continues.

Channel-agnostic

No hardcoded delivery mechanism. Works with any provider that implements the channel capability — taskpilot channels, Termux notifications, or your own custom transport.

Capability contracts

Implements the human-approval capability. Requires the channel capability for delivery. Any plugin that gates actions can use this as its approval provider.

Install

Requires Claude Code and a channel provider (e.g. taskpilot).

1

Add the marketplace

claude plugin marketplace add softwaresoftware-dev/softwaresoftware-plugins

Run in your terminal.

2

Install the installer

claude plugin install softwaresoftware@softwaresoftware-plugins

Run in your terminal.

3

Launch Claude Code

claude

Start a new session so the installer is available.

4

Install approval-channel + dependencies

/softwaresoftware:install approval-channel

Run inside Claude Code. Run /reload-plugins when done.

5

Gate an action

/approval-channel:request "deploy to production"

Run inside Claude Code after reloading plugins.