Docs

Install, connect a model, run your first flow.

Docs/Get started

Run your first test

From a URL to a verified finding in one sitting. This guide uses a Quick run on your own machine, so it costs about 0.3M tokens on your key and nothing from us.

Before you start

Install the app and sign in. Add a model key or a gateway under Settings, then Brains. The crew needs tool calling, and the Test button in that screen checks it.

1. Add the site

Click New project and type the URL. A staging site is the best first target. On a domain you haven't verified, the first run asks you to confirm you own it or may test it, and quibbit logs the answer.

2. Pick a run size

Choose Quick: 4 agents, 8 steps each. Before the run starts you see an estimate in dollars or tokens. The run warns at 80% of it and holds back 10% for the ref, so you still get a partial report if agents hit the ceiling.

SizeSteps per agentAbout
Quick84 agents, 0.3M tokens, a few minutes
Standard128 agents, 1M tokens
Deep204M tokens, every section

3. Start the run and watch the grid

Each agent gets a browser tile. Pip heads for checkout, Otto for sign-in, Mabel for the forms. Click a tile to watch, or take over the browser yourself. Passing steps keep only the step log. Video is recorded only when something fails.

4. Read the findings

When an agent reports a bug, the ref replays the steps in three fresh browsers. Only findings that reproduce in all three get Verified 3/3 and reach the list. Anything that didn't reproduce is shown separately as Observed. Each one has steps, expected and actual, a video still, the console, and the network calls.

5. Keep it, or send it on

Save a finding's steps as a regression script. It exports as a Playwright test you keep in your own repo. On Solo and up, send findings to Linear, Jira, or GitHub.

coupon-applies-twice.spec.ts
test('coupon applies once', async ({ page }) => {
  await page.goto('https://staging.acme.com/cart');
  await page.getByLabel('Coupon').fill('SAVE10');
  await page.getByRole('button', { name: 'Apply' }).click();
  await page.getByRole('button', { name: 'Apply' }).click();
  await expect(page.getByText('SAVE10 applied')).toHaveCount(1);
});