Testing in the Browser

Circuitry has its own browser tab, and the agent can use it. It opens pages where you can see them, clicks and types on them, reads what they logged, and checks how they look at other screen sizes — so it can verify its own work instead of asking you whether it worked.

Opening a page

Ask for it in plain words: "open localhost:3000", "show me the page you just built", "check that link". The page opens as a tab in your workspace, beside the work it relates to, and stays there afterwards.

This includes pages that only exist on your own computer. A file the agent has just written opens directly — there's no dev server to start and nothing to drag into a window.

In the desktop app this just works. On iPhone, iPad, Android or in a web browser, you need Circuit installed on your computer — that computer is where your files live and where builds and coding agents actually run. Circuitry reaches it from whichever device you happen to be on.

What the agent can do on a page

  • Click, double-click and hover — on buttons, links, and anything else clickable.
  • Type and press keys, including combinations, into forms and editors.
  • Choose from dropdowns.
  • Scroll, including on things that respond to a scroll wheel of their own, like maps and canvases.
  • Tap and long-press as a finger, not just as a mouse — so a page that behaves differently on touch can be tested the way a phone user actually meets it.
  • Right-click, to open a page's own context menu.
  • Drag and drop — in the desktop app.

What the agent can read

  • What's on the page — every control, with its name and whether it's disabled, ticked or off-screen. This is what it uses to decide where to click.
  • The text or the markup, in full or for one part of the page.
  • The console — including messages from before it started looking, which is usually where a page that renders blank tells you why.
  • The network requests — with status codes and timings, so a failure that never reaches the console still shows up.
  • A picture of the page — in the desktop app.

When something's broken, the console and the network list together are the diagnosis: a clean console with a failed request is a server problem, an error with clean requests is a page problem.

Checking phone and tablet layouts

Ask the agent to check a page at another size — "how does this look on a phone?" — and it pins the tab to that width. The page genuinely re-lays-out: menus collapse, columns stack, and anything that breaks at that width breaks in front of you.

The size shows as a small badge in the tab's address bar. Click the badge to go back to full width. The setting sticks until you clear it, so if a tab looks oddly narrow later, that badge is why.

Watching it work

While the agent is using a page, three things tell you so:

  • The edges of the tab glow.
  • A pointer moves to each thing before it clicks, at a pace you can follow.
  • A bar names the step — "click Sign in" — with a Stop button.

Nothing is done out of sight, and you can stop it at any moment. That's deliberate: the agent doesn't stop to ask permission for every click, so instead everything it does is visible while it happens.

If you're working in another tab, the tab it's using carries a coloured dot: orange while the agent is changing the page, a hollow blue ring while it's only reading, and an amber dot afterwards if it changed something you haven't looked at yet. On a phone the same marks appear on the Docs button and in the document list, since the page is usually off-screen there.

What it can't do

  • Some pages can't be driven at all. If you're using Circuitry in a web browser without a Circuit connected, pages that allow themselves to be embedded are shown but can't be clicked. The agent will say so rather than pretending. Connecting a Circuit, or using the desktop app, fixes it.
  • Hover effects don't fire outside the desktop app, so a menu that only opens on hover needs a click instead. The agent is told this when it happens.
  • Pictures of a page are desktop-only for now. Elsewhere the agent reads the page's structure instead, which is usually the better answer anyway — it tells it what to click, where a picture doesn't.