← All screens CROSS-CUTTING · DIALOGS

Dialogs

Forge uses a small set of reusable modal components across every screen. They share one visual language and one behavioural contract — Escape cancels, Enter confirms, clicking the backdrop cancels — so a destructive action always looks and behaves the same way wherever it appears. These are the dialogs you will actually encounter.

Authentication

Sign in to Forge

Sign in to Forge dialog
Shown on first visit in multi-user mode. The organisation-issued access token is stored in the browser only and sent as X-Dashboard-Token; it never enters agent JSON, logs or screenshots.

Confirmation

Confirm

Confirm dialog
forgeConfirm(message, {title, okText}) — a neutral yes/no gate used before a consequential-but-reversible action, such as shipping a governed fix as a draft PR.

Destructive confirmation

Danger confirm

Destructive confirm dialog
The same component with danger:true — a red primary action for irreversible operations, such as discarding a run and reopening its Bugsnag error.

Input

Prompt

Prompt dialog
forgePrompt(message, default, {title, okText}) — a single-field input used for operations that need one value, such as retargeting a run to a specific fault file.

Three-way guard

Unsaved changes

Three-way unsaved-changes dialog
forgeTriChoice({okText, midText, cancelText}) — a Save-draft / Discard / Cancel guard shown before leaving Forge Studio with pending edits, so unsaved graph work is never lost silently.