Skip to content

bug(ui): one pane's condition modal blocks the entire application and hides its own failure toasts #713

Closed

Description

@Juliusolsson05

Expected behavior

A provider condition modal (trust dialog, approval) belongs to one pane. Other panes, tabs, and windows stay fully usable while it is shown.

Actual behavior

Condition views with layout: 'modal' render through a Radix Dialog that portals to the document root with a full-app overlay (onPointerDownOutside prevented). One pane's trust dialog therefore blocks the entire application — every other pane, the palette, the tab bar. When the dialog's buttons are also broken (#711, #712), the app is fully hostage; even when they work, one background agent hitting a trust prompt interrupts everything the user is doing elsewhere.

It also hides feedback: pane toasts (including sendConditionKey's own refusal messages) render under the overlay, which is why the broken trust button looked like a silent no-op.

Reproduction

Open two projects; let a Codex agent in an untrusted folder start in a background pane. The trust modal covers the whole app regardless of which pane you were using. Observed live 2026-08-31 (screenshot in session; app run 2026-08-31T00-48-19-592Z).

Fix direction

Scope condition modals to their pane (render within the TileLeaf bounds like the condition strips, or a pane-anchored popover), or at minimum make the overlay non-blocking outside the owning pane and ensure toast layering stacks above condition dialogs. The dispatch attention badge already routes users to the right pane; a global takeover is not needed for correctness.

Environment

agent-code build 3378d171, macOS, multi-window workspace. Related: #705, #711, #712.

Activity

  1. added a commit that references this issue on Sep 25, 2026
    4977197
  2. added a commit that references this issue on Sep 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    class:C4-input-trapA modal/latch/overlay traps inputsev:P2Real bug with a workaroundtype:uxUI/UX polish or consistency

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions