Ballmac UI home

Autonomy Dial

New

A stepped dial for how much an agent may do on its own, from suggest-only to full auto, with what it does alone and what it stops to ask about written out for every step.

v1.0.0Updated Oct 24, 2026Ships with a test
What changed
How much can the agent do on its own?

Auto-edit. Edits files freely, and asks before anything that runs or reaches out.

Does on its own

  • Reads and edits files in the project
  • Runs checks you have allowed

Stops to ask about

  • Other commands
  • Installing packages
  • Using the network

Installation

$ pnpm dlx shadcn@latest add @ballmac/autonomy-dial

Usage

import { AutonomyDial, defaultAutonomyLevels } from "@/components/ballmac/autonomy-dial"

The full example is in the Code tab above.

Examples

Your own levels

How much should the support agent handle?

Routine replies. Sends replies to common questions on its own and asks about the rest.

Does on its own

  • Answers shipping and order-status questions
  • Tags and files the thread

Stops to ask about

  • Refunds
  • Anything angry or unusual

API reference

PropTypeDefault
levels

The settings, from least to most autonomous. Defaults to four general ones.

AutonomyLevel[]defaultAutonomyLevels
value

The selected value. Controlled.

string—
defaultValue

The selected value for uncontrolled use.

string—
onValueChange

Called with the new value.

(value: string) => void—
label

Heading above the dial.

string—

Also accepts the standard attributes of its root element.

Accessibility

KeyAction
TabMoves into the dial once, onto the selected step
ArrowRight / ArrowDownNext level (native radio behaviour; the browser mirrors it in right-to-left)
ArrowLeft / ArrowUpPrevious level
Screen readersA fieldset with a legend, one radio per level, and a polite live region that reads the new meaning when it changes
MeaningCarried by the words under the dial, not by the track or its colour

Use with AI

levels is [{ value, label, summary, does: string[], asks: string[] }] from least to most autonomous (defaultAutonomyLevels has four). value / defaultValue / onValueChange. A native radio group, so arrow keys work; the panel under the dial says in words what the chosen level allows. With the shadcn MCP server set up (guide), ask your agent:

Add the Ballmac UI Autonomy Dial (@ballmac/autonomy-dial) to this project with the shadcn MCP, then use it where it fits.

Use it for

  • Letting people decide how far an agent may go before asking
  • A settings row for an assistant's permissions

Not for

  • A single yes or no approval; use approval-card
  • A numeric value; use slider

Registry JSON: https://ui.ballmac.com/r/autonomy-dial.json

Credits

Free to use in personal and commercial projects.

Ballmac UI Pro

Need the whole screen, not one piece?

150 premium blocks (dashboards, settings, calendars, mail, shops, onboarding), a private shadcn registry and Figma tokens. Blocks that show data come with loading, empty and error states built in.

Not ready? Try three Pro blocks free

Leave your email and the blocks appear right here, ready to copy. Yours to use in any project.