Documented entries use openly licensed vendor imagery, credited · Concept entries are illustrative
AgentUI Gallery

History

How agent interfaces change

Documented timelines list only verified changes, each with a date and an official source. Concept timelines are illustrative teaching examples and are kept separate.

Documented

Verified · dated · sourced

Visual Studio Code

URL fetch approval

Read the entry →
  1. 2025-12-10 · 1.107

    Two-step approval for the fetch tool: approve the request (contacting the URL or domain), then separately approve using the fetched content. Trusted Domains skip the first step.

    Our read — Outbound data risk and inbound prompt-injection risk get separate decisions.

    code.visualstudio.com/updates/v1_107
  2. 2026-10-15 · Docs (accessed)

    Docs document request vs. response approval and per-pattern settings (approveRequest / approveResponse).

    Our read — The split can be tuned per URL pattern instead of all or nothing.

    code.visualstudio.com/docs/agents/run/approvals

Concept

Illustrative · not real product history

How an approval prompt might mature, shown as a composite teaching sequence. These stages don't describe any specific product's releases.

Illustrative mock
agent — workspace

Agent wants to edit 2 files

NoYes

Stage 1

Yes / No

Without the target or diff, users can't judge risk, so they either approve everything or stop using the agent.

Illustrative mock
agent — workspace

Agent wants to edit 2 files

src/components/Button.tsx

export function Button({
- radius = "md",
+ radius = "full",
DenyAllow once

Stage 2

Show the diff

Decisions get better, but every edit still interrupts. Approval fatigue moves from 'blind' to 'tedious'.

Illustrative mock
agent — workspace

Agent wants to edit 2 files

src/components/Button.tsx

export function Button({
- radius = "md",
+ radius = "full",
DenyAllow onceAllow for session

Stage 3

Allow for session

Fewer interruptions, but the scope is invisible and the expiry is arbitrary. The same session can touch config and tests alike.

Illustrative mock
agent — workspace

Agent wants to edit 2 files

src/components/Button.tsx

export function Button({
- radius = "md",
+ radius = "full",
DenyAllow onceAllow for src/components/
edits: src/components/ ×

Stage 4

Scoped & visible

Interruptions now line up with real changes in risk, and users can always see what they've granted.