Skip to content

Browser panes cannot open public URLs or local urls when connected to Remote Server Instance with Kiro Desktop #6133

Description

@dixitrathod16

Existing issues

  • I searched open issues and this is not already reported.

KiroCrew version

0.5.0 desktop package (exact build stamp unknown)

Release channel

Insider

How is it installed?

Desktop app

Platform

Not platform-specific

What happened

In the Electron desktop app, submitting a public URL such as https://google.com/ in the Browser panel works for the local dashboard and opens the interactive native browser surface. The same URL submitted from an embedded remote-instance pane instead falls back to the preview iframe and reports Preview server not reachable.

Expected: an Electron-hosted remote pane should use the same interactive native Browser surface as Local Mode for public HTTP(S) URLs.

Steps to reproduce

  1. Open the Kiro Crew Electron desktop app.
  2. Connect a remote Kiro Crew instance and select its embedded pane.
  3. Open a Browser panel in a remote session.
  4. Submit https://google.com/ or another public HTTP(S) URL.
  5. Observe Preview server not reachable instead of the live interactive page.
  6. Switch to Local Mode and submit the same URL; it opens in Browser — live.

Relevant log output

The remote child frame has no window.browserAPI preload bridge. It attempts the ordinary preview iframe, which is intentionally blocked for arbitrary public origins by the gateway CSP.

Anything else

The remote dashboard is a cross-origin iframe inside InstancesViewport, so Electron preload APIs are unavailable in that child frame. Widening CSP is not the right fix.

A narrow, versioned parent/child lifecycle relay can preserve the trust boundary by requiring both the known warm tunnel origin and the exact iframe contentWindow, namespacing native panel IDs per instance, and allowing only the active pane to open or navigate. Agent commands, CDP, control ownership, and remote session tracking should remain on the remote gateway's Playwright transport.

Scope limitation: this gives public URLs Local/remote parity. Services bound to the remote VPS loopback still require an SSH port forward.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: dashboardDashboard UI and its backend handlersarea: packagingInstaller, uninstaller, Electron shell, updaterbugSomething is not workingneeds-humanPR flagged for human review by drive-to-green pipeline

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions