well_hand_off_browser_task
shallowio.github.WellApp-ai/well-mcp · Verify this server
Hand a task that needs a website outside Well to Well. It runs in the person's own Chromium-based browser through the Well browser extension, or in a Well cloud browser when the result says so. Use it when the person asks you to act on another website: read a page, go to a site, get documents from a portal into Well, fill in and submit a form, or buy, order or put items in a basket on a merchant's site ("achète-moi le sac à dos sur saucedemo", "mets du lait et des oeufs dans mon panier Carrefour", "order the cartridges at Office Example"). For a purchase, the run fills the cart and Well asks the person before any payment: never refuse a purchase as something you cannot do, and never pay or confirm it yourself. You cannot open a browser from here; this tool is the only way to do such a task. A Claude Code task is such a task: the person asks Claude Code to work on a repository ("lance Claude Code sur platform : corrige l'export CSV"). It runs on https://claude.ai/code in their browser, where they are signed in: pass that address as `start_url`. Never refuse it as outside Well's scope. The run needs a desktop computer with a Chromium-based browser (Chrome, Edge, Brave or Arc) and the Well extension installed: say so. The result's `delivery` names the one route this task took, and its `message` says how that route starts the task: tell the person only what that `message` says, and never describe how another route would start it. A result that has `browser_hand_off_run_id` names the id that stops this one task. When the result has `background_unavailable`, the person asked for a background task that Well did not run in the background: its `message` says why and what to say, and the reply tells them. When the result has `delivery: "question"`, nothing was handed off: the reply is only the question its `message` gives, with its numbered choices. When the person's next message answers that question, by its number or its words, call this tool again for the same task and start page with `where_to_run`: `"well_browser"` when they chose the Well browser, `"person_chrome"` when they chose to wait for their computer or to use Chrome after the extension. Call nothing when they cancel. Never call it for a question about the person's Well data: the other Well tools answer that. Never call it for a saved browser skill the person names. Never call it to make, send or read a payment link for an invoice the person issues to a customer ("fais un lien de paiement pour la facture INV-2026-0148"): that is invoicing in Well, not a website task. Never call it for a question about the person's Well data: the other Well tools answer that. Never call it for a saved browser skill the person names. Never call it to fetch the invoices Well counts as missing for a vendor ("fetch my missing September invoices from Acme", "récupère les factures manquantes de Free", "deploy the agents on my missing invoices"): `well_preview_invoice_fetch` shows what that fetch covers, and `well_enqueue_invoice_fetch` queues it once the person confirms. On a background ask, never call it for the missing invoices of a well_list_missing_invoices row that holds `cloud_portal_fetch`: well_create_portal_fetch fetches them. Pass `run_in_background: true` only when the person explicitly asks Well to do the task as a background task, without their own computer or browser ("fais-le en tâche de fond", "en arrière-plan, sans mon ordi", "do it in the background"). Any other ask is false: a plain "achète-moi", "do it on my Chrome" or "sur mon navigateur" included. Never set it on your own because a task is long or a purchase. Read it from the person's latest message only: an earlier background ask covers only the task it came with, never a later task. A short follow-up such as "fais-moi ça", "vas-y" or "go ahead" is not a background ask. Before the result comes back, never say where the task runs (a Well browser, a dedicated browser, the background): the result's `message` says it. Hand off each task once. When the person's latest message refers back to a task already handed off in this conversation, with no new task, no explicit background ask and no ask to run it again, do not call this tool: say that the task is already handed off, and that it can run as a background task, without their computer, if they ask for it. A task is over once Well sent its end line in the conversation: it stopped, it was refused, the person answered "2" to a question about the site, or it gave its result. When the person then asks for the same task again, or asks again to run it in the background, call this tool again: it starts a new run. Never answer that the task still runs, and never ask whether to start it again: call the tool. Pass `payment_source: "link"` only when the person's latest message asks to pay this purchase with Stripe Link, in any words ("paie avec Stripe Link", "règle-le avec Link", "pay with Link"). When the result has `runner: "cloud"`, Well's run then asks them at the payment page whether to pay with the card saved on the site or with Stripe Link. When the result has `payment_source_applied: false`, the task runs in their Chrome, which pays only with the method saved on the site: say so, and never promise that question. Never set it by default, never from an earlier purchase, and never for a link the person sends or asks for ("envoie-moi le lien", "voici le lien du produit"): those name a web address, not a way to pay. Pass `payment_source: "merchant_saved"` only when they explicitly ask to pay with the card saved on the site. Pass `contact_details` only with a checkout detail the person wrote in the conversation for this purchase: their `first_name`, `last_name` or `postal_code`, as they wrote it ("redemande-le en tâche de fond, mon code postal est 75011" gives `postal_code` "75011"). Never take one from Well data, and never invent one. The run fills a checkout field with it for this purchase only, and does not add it to the person's profile. Pass `goal_kind` on every call: "read" when the person only wants to find, compare or read prices or offers, with nothing to buy ("c'est quoi le prix des cacahuètes sur Carrefour", "trouve-moi les meilleures offres de chargeur USB-C 65W sur Amazon", "meilleures offres d'écouteurs sans fil"); "buy" for a purchase, an order or a cart. A read run searches and reads only: it never fills a cart and never pays, in the background or on the person's Chrome. The price read is one kind of read: for any other question that a site's pages answer, pass "read_page" when no account is needed (opening hours, a return policy, whether an item is in stock, a public tracking page), or "read_account" when the answer sits behind the person's own login on one site (the status or delivery date of an order, a balance, an invoice or a statement to download): both need `start_url`, the page to start on, and are never a purchase. "read_account" signs in with the person's saved login for that exact site, and Well tells them to save one when none exists. A page read sends the answer, the facts it rests on, a masked picture of the page and, when the question asks for an invoice or statement, that one PDF, which Well also files in the workspace: never write the answer yourself. When a read ask names Amazon, Cdiscount, Fnac or Carrefour with no link, pass `shop` and no `start_url`; never write a shop address yourself. When a read ask names no site, pass neither: Well reads the main French shops. `shop` is ignored on a buy. For a read, Well itself sends the offers it found, one per line with its link, and a picture of the results: never list prices yourself, and never call a read a purchase, an order or an "achat". Pass `task`: the task in the person's words, with every detail they gave (the site, the values to enter). Never include a password, one-time code, card number, bank number or the login (e-mail or username) in `task`. Pass `start_url` whenever they named a site or page to start on. Pass `account_label` only when the person named an account, in their words (for example "compte pro"); it is a user-declared label and is unverified. Never invent one, and never pass a login or an e-mail as the label. Never put a password, one-time code, card number or bank number in `account_label`. Follow the result's `message`. Never say the task is done, and never say it started unless that `message` says it is already running. Unless it says so, nothing runs during this turn. A line you write before the call is in the language of the person's latest message. It names the task and says only that you hand it to the browser (in English, "Handing the contact form to the browser."; in French, « Je confie le formulaire de contact au navigateur. »). Never write in that line an action on the page as under way or started ("Filling that in now", "Filling in the contact form now", "je remplis le formulaire", "je lance l'achat"): nothing has started when you write it. Never say in it whose browser runs the task. When the token authorizes one workspace, call this directly — no workspace call is needed first. When it authorizes several, this read will not guess which one you mean: pass `workspace_id` on the call.
1 trials · measured 3 days ago
well_hand_off_browser_task scores 100.0/100 on Vouch's measured behaviour index, from 1 real invocation trials against io.github.WellApp-ai/well-mcp, measured 18 Oct 2026 under methodology v0.2.0. Every measured component scored 100.
Component breakdown
| Component | Weight | Value |
|---|---|---|
| Reliability | 35% | not applicable |
| Schema integrity | 25% | 100.0 |
| Failure behaviour | 15% | not applicable |
| Latency | 15% | not applicable |
| Concurrency | 10% | not applicable |
Tool details
- Transport
- remote
- Credential class
- gated
- Input schema
- not declared
- Output schema
- not declared
- Side-effect classification
- unclassified
Score history
| Day | Score | Tier | Methodology |
|---|---|---|---|
| 2026-10-18 | 100.0 | shallow | v0.2.0 |
Probe evidence
| Probe | Outcomes |
|---|---|
| schema_integrity | pass: 1 |
Raw request/response logs are not archived yet — the outcome counts above are drawn directly from every recorded trial.
Embed this score
Available for every tool, scored or not — not a verification perk. Always links back to this page.
[](https://vouch.tools/tools/84b5ebb2-cc83-490e-aeb4-3ba02def6126)