<!-- description: An approval is a human confirmation that allows an AI agent to proceed with a proposed action — a core mechanism of human-in-the-loop agent control. -->

# Approval

An **approval** is an explicit human confirmation that authorizes an AI [agent](agent) to proceed with a proposed action. Approvals are a foundational mechanism of [human-in-the-loop](human-in-the-loop) agent design, ensuring that consequential or irreversible actions are reviewed before execution.

## Why Approvals Matter

AI agents can act quickly and autonomously — which is powerful, but risky. Without approval gates, an agent might:

- Delete files or records it shouldn't
- Deploy code to production prematurely
- Send messages or emails on your behalf
- Make API calls with real-world side effects

Approval checkpoints give humans the opportunity to catch mistakes before they become costly.

## How Approvals Work in AgentRQ

When a [Claude Code](claude-code) agent determines it needs human sign-off, it uses the AgentRQ [MCP](mcp) tool to pause and send a notification to your [task board](task-board). You review the proposed action, then reply with approval or rejection. The agent resumes or adjusts based on your response.

This flow looks like:

1. Agent reaches a decision point
2. Agent calls `createTask` or `reply` via AgentRQ MCP
3. You receive a real-time [notification](notification)
4. You approve, reject, or provide feedback
5. Agent continues with updated context

## Approval vs. Notification

| Mechanism | Description |
|-----------|-------------|
| Notification | Informational — agent keeps running |
| Approval | Blocking — agent waits for your response |

## Designing Good Approval Gates

- **Approve before irreversible actions** — database migrations, file deletions, deployments
- **Approve before ambiguous decisions** — when the agent is uncertain about intent
- **Don't over-gate** — too many approvals break flow; focus on high-stakes moments

## Related Terms

- [Human-in-the-Loop](human-in-the-loop)
- [Task](task)
- [Notification](notification)
- [Bidirectional Messaging](bidirectional-messaging)
- [Task Status](task-status)
