The Deska blog

Designing Approval Prompts Users Read

Learn technical strategies for designing approval prompts users read when building or using AI coding agents and automated developer tools.

· 10 min read

Developing software with autonomous agents introduces a significant friction point known as the confirmation fatigue. When you are designing approval prompts users read, you must balance the need for security with the velocity of the development cycle. If a tool asks for permission too often, the developer begins to click "Allow" without inspecting the underlying command. This behavior, often called habituation, defeats the purpose of having a human in the loop. Effective prompt design requires providing just enough context so the user can make an informed decision in less than two seconds.

The Psychology of the Approval Loop

The primary challenge in agentic workflows is the shift from active typing to passive monitoring. When a developer writes code, they are the primary actor. When an agent like Claude Code or OpenCode proposes a change, the developer becomes an auditor. Auditors have a natural tendency to trust the system if it has been correct the last five times.

To combat this, the interface must highlight the delta between the current state and the proposed state. Simply showing a text block saying "Agent wants to run a command" is insufficient. A well-designed prompt should show the specific impact on the file system or the network.

Hierarchy of Information in Agent UX

Not all agent actions carry the same risk. A read-only operation, such as listing files in a directory, requires less scrutiny than a destructive operation like deleting a folder or pushing a git commit.

Action Categorization

  1. Low Risk: Reading documentation, checking the current directory, or listing running processes.
  2. Medium Risk: Creating new files, installing new npm packages, or modifying local configuration files.
  3. High Risk: Deleting files, executing shell scripts with sudo privileges, or making external API calls that incur costs.

Designers should implement different UI patterns based on these levels. For low-risk items, a transient notification or a silent log entry in the /docs/terminals might be enough. For high-risk items, an interruptive modal or a mandatory wait period is appropriate.

Contextualizing the Prompt

A prompt is only as good as the information it provides. Instead of a generic "Accept/Reject" toggle, provide a summary of the intent. If an agent is using Ask Deska to manipulate the workspace, the prompt should explain why. For example, "The agent wants to open a new browser panel to verify the CSS rendering" is much more helpful than "Agent requested a browser widget."

Information TypeDescriptionUX Implementation
IntentWhy the agent is doing thisShort text header
CommandThe exact code being runFenced code block
ImpactFiles or panels affectedBulleted list of paths
SafetyRisk level indicatorColor coding or icons

How Deska Handles Agent Approvals

Deska provides an environment where multiple agents can run side by side as panels on an infinite /canvas. Because Deska is a local-first application, the primary concern is protecting the local file system and the integrity of the developer's machine.

When you run coding agents like Codex CLI within Deska, the tool uses the panel system to keep the agent's output visible at all times. This visibility is the first line of defense. By seeing the agent's thought process in a dedicated Monaco editor panel or terminal, the user is already prepared for the eventual approval request.

Furthermore, the integration with the mobile app allows for a unique approval flow. If you are away from your desk, you can use the /mobile relay to monitor the agent's progress. If the agent hits a high-risk step, you can review the diff and approve it from your phone. This keeps the workflow moving without sacrificing security.

Strategies to Prevent Habituation

To ensure you are designing approval prompts users read, you must introduce variability. If every prompt looks identical, the brain stops processing the content.

  • Progressive Disclosure: Show the command first. If the user wants to see the full reasoning, they can expand a "Rationale" section.
  • Diff Visualization: For code changes, never show the whole file. Show a standard git diff. This allows the eye to immediately snap to the green and red lines.
  • Batching: Instead of asking for permission for ten tiny file reads, let the user grant "Read Access" for the entire session or a specific directory.
  • Re-authentication: For extremely high-risk actions, require a physical interaction like a specific keyboard shortcut or a biometric check.

Integrating with the Workspace

The approval process should not feel like an external interruption. In Deska, the Ask Deska assistant can drive the workspace, opening and closing panels as needed. When the assistant needs to run a command, it does so within a terminal panel that the user can inspect.

By treating the agent as just another participant in the workspace, the UX becomes more fluid. You can zoom out on the canvas to see the agent working in one corner while you take notes in another. This spatial awareness helps the user understand the scope of the agent's influence.

FAQ

How to stop clicking allow without reading?

The best way is to use tools that categorize actions by risk level. You can also configure your settings to auto-approve safe commands while forcing manual review for destructive ones, which preserves your attention for the items that actually matter.

What is the best UX for AI code reviews?

Effective AI code review UX relies on clear diffs and the ability to edit the agent's suggestion before committing. A side by side view, similar to how Deska displays agent threads, allows you to compare the original code with the proposed changes instantly.

Should I use mobile for agent approvals?

Using a mobile app for approvals is highly effective for long-running tasks. It allows you to step away from your computer without stalling the agent. As long as the connection uses a secure relay and direct pairing, it is a safe way to maintain the human in the loop.

Experience Better Agent UX

Designing interfaces for AI agents is an evolving discipline. The goal is to create a symbiotic relationship where the human provides the direction and the agent handles the implementation. If you want to see these UX principles in action, you can download the workspace for free.

Experience a new way to work with AI agents on an infinite canvas. Visit /download to get started on Mac, Windows, or Linux.

💡 Ideas+🐛 BugsSuggest a feature or report a bug