What has changed in Tabruns, newest first. A new entry every week there is something worth reading, and the day anything significant ships.
Extension 0.8.21
A task that timed out now gets a real second try. When the planner ran out of time on a round, Tabruns asked again — but asked exactly as it had the first time, against the same clock, so a page long enough to time out once usually timed out again and the task ended there. A retry after a timeout is now treated as the correction it is, with the longer ceiling and the harder thinking that a second attempt already earned after an invalid plan; other upstream failures retry unchanged. In the planning service, so it applies from today on every version.
Extension 0.8.20
A search ends at the results page. Asked to search for something, Tabruns ran the search and then, with the results in front of it, went on deliberating over which listed result to open — a second task nobody had asked for — and often ran out of time deciding, so a search that had already worked ended as a failure. Reaching the results page now finishes a bare “search for X”, and a round that has already done its steps is allowed to say so; opening a result happens only when the ask names one. Both halves live in the planning service, so they apply from today on every version.
A slow answer on a long page is no longer mistaken for a hang. Thirty seconds was all the planner had to answer before Tabruns gave up on the attempt and asked again, and a reader-sized page — a long news article asked to be summarised — could carry a perfectly good answer past that on both tries. The limit is now 45 seconds, and the retry a task earns after an invalid first plan, which deliberately thinks harder, gets 65 — so a task’s last round no longer ends in “couldn’t turn that into a plan” when the corrected answer was seconds away. Also in the service, on every version.
Extension 0.8.17
A box that wants you to pick a suggestion is waited on, not just typed into. Two live sites found the same shape a day apart: Google Ads’ location targeting was left holding “San Diego” as plain typed text with no chip against it, and a CRM’s company lookup kept what was typed instead of the record it matches. Both are the box that opens a list of suggestions a moment after you stop typing, where typing alone commits nothing. Tabruns now recognises that box, tells the planner that the value is not set until a suggestion is chosen, and waits for the list to open — so the suggestion is there to be clicked instead of the run moving on with bare text in the field.
A button that only wakes up once you have typed can now be pressed. A comment box’s own Post button is dead until there is something to post, and Tabruns left every dead button out of the page it reads — so by the time the text was typed and the button came alive, there was nothing in the plan to press. It fell back to the Enter key, which most pages never wire up, and a reply that had been written correctly simply never posted. Buttons like that are now listed, marked as not yet available, and the press waits a moment for the page to enable one. A box you cannot type into is still left out, and so is a control genuinely out of reach behind something else.
Extension 0.8.16
The panel belongs to the tab it was opened on. One side panel used to follow every tab switch, so a live run’s thread showed up over whatever page was in front and read as automation on it. The panel now opens for the tab you pressed the toolbar button (or Alt+T) on and stays with that tab: glance at another tab and back and nothing has reset or moved. Every tab gets its own panel and its own chat when you open one there. A run still happens one at a time, and a panel that is not the run’s own shows a one-line note instead of wearing its thread. When a run needs you on a tab you are not looking at, the notification now brings you to that tab and opens its panel there.
Chat answers stream in, and the tab switch moved off the thread. The Assistant/Chat switch floated over the top corner of the sheet, exactly where the newest messages scroll, so a question’s first line could sit behind it; it now lives at the bottom of the rail, with the other buttons. Answers arrive with a paced reveal instead of landing in one frame, your own messages take the action blue so the two sides of a chat read apart, and the empty chat opens the way the assistant does, with three complete questions to press rather than a paragraph about what chat is.
A wizard inside one dialog no longer stops on its own Next. Measured on a YouTube-shaped upload dialog: the dialog renames itself after the first field you fill, and its Next button wears the same label on every pane while the page address never changes. Two safety checks read those as the page having moved on and as a repeated click, and ended the task with the form half described. Both now recognise a dialog that is still the same dialog.
Plans come from Gemini 3.8 Flash. The planning service moved to the newest Flash model the day it went generally available, at the same price and the same speed. This half lives in the service, so it applies from today on every version.
Extension 0.8.15
A chat tab, next to the assistant. Two icons now sit at the panel’s top right. The assistant tab is what Tabruns has always been — it plans steps and does them. The new chat tab just answers: ask about the page in front of you and it reads the same outline the planner reads, or ask about anything at all and it answers from general knowledge. Chat never clicks, fills, or spends a run, switching tabs never disturbs a run in progress, and the conversation lives only for the browser session — it is a chat, not a record.
Extension 0.8.14
A typed follow-up remembers the run it follows. Type a message right after a run finished and Tabruns used to plan it cold — only the new sentence, nothing about what had just happened. The run reports showed what that costs: “i’ve already done that, i just need the auth token” arrived with no memory of what “that” was, and short follow-ups like “exclude mailerdot” planned as if the earlier work never existed. A message typed shortly after a run, on the same site, now carries the original ask and a list of exactly what ran — and if the new message really is a new subject, the planner is told in as many words to set the history aside.
An instruction answered with a note gets its second chance by name. When the first answer to an instruction plans nothing — one note claiming the work is done or telling you to do it yourself — Tabruns has always asked the planner again before showing you anything. That retry now names the exact buttons the page lists (four reports of “click search” arrived with the search button sitting in the listing the whole time), spells out that a box marked “already filled” proves nothing ran, and spends more thinking on the second pass. This half lives in the planning service, so it applies from today on every version.
The rating card sits inside the panel’s margins. The little card that asks for a rating rendered between the thread and the message box, outside both their padded containers — so it ran edge to edge, wider than everything around it. It now keeps the same gutter as the box it sits above.
Extension 0.8.13
A form served from another site still opens in its own tab — and will keep doing that. Two releases ago Tabruns claimed to fill an embedded form where it sits, instead of opening it in a second tab. It never did. Every box inside a frame served from another site is treated as sensitive — deliberately, because that is the shape a card-payment field comes in, and reaching into one to fill a survey is the same reach that would type into a card number. So the form was read as empty every time and the second tab happened anyway. The claim is withdrawn and the code behind it is gone. What you get is what you got before: the note tells you the form is served from somewhere else, and opening it on its own is what works — it is an ordinary page there, and every box in it can be filled.
Extension 0.8.12
An embedded form is listed once, not twice. Last release taught Tabruns to read a form served from another site and fill it where it sits. On a page carrying one of those AND an ordinary frame of its own, the ordinary one was then described twice — once as part of the page, once again on its own — so the same box appeared under two names and could be filled twice or left half done. A frame the page around it can already read now stays part of that page, which is what it always was.
Extension 0.8.11
A stuck step no longer describes itself as a mode you chose. When a run set to do things for you cannot find one element, it puts a card on the page asking you to do that one step by hand. The card has said so for a while — “Needs you for this step”, not “Guided mode” — but three things went on saying guided regardless: the card’s name as a screen reader announces it, and the ✕ button’s label and tooltip. So the person with the least other evidence to go on was the one being told they had switched to a mode they never picked, and offered an “Exit guided mode” they had never entered. All three now say the same thing the heading says, and the ✕ on a stuck card says what it actually does, which is stop the run.
Extension 0.8.10
A required box is filled or asked about — never quietly skipped. Asked to fill a submission form and make up the rest, Tabruns wrote nine of the thirteen boxes, left four alone and pressed Submit. The four it dropped were the ones needing facts nobody had given it — how many subscribers you have, which email service you use — and the site refused the form, so the first you heard of the omission was the page’s own error message. There were always meant to be two answers for a required box, fill it or ask about it, and skipping it had quietly become a third. It is now ruled out: anything the page marks required is either in the plan or in the question, and being told to invent the rest is treated as licence over WORDING rather than over facts — a description can be written, a subscriber count cannot. When it happens anyway it is now counted per site, so it stops needing a screenshot to be noticed.
Extension 0.8.9
A form inside an embedded frame is filled where it sits. Plenty of sites put their whole form in a frame served from somewhere else — Airtable, Typeform, Google Forms. Tabruns used to say it could not reach in there and offer to open the form in a second tab instead, which left the page you were actually on untouched and your place in it behind. It turns out that was our limit rather than the browser’s: an extension may read and fill a frame from another site, given permission for that site. So it does. The embedded form’s boxes are now listed among the page’s own and filled in front of you, on the page you asked about, with no new tab. A frame Tabruns has no permission for is still out of reach — it now says which one and that allowing every site would bring it in, rather than sending you somewhere else.
Extension 0.8.8
Settings can check for a new version, and install one that is waiting. Chrome updates extensions on its own every few hours, so this is not how you stay current — it is for the hour after a fix ships, when you have just hit the bug, read the changelog and found the fix already exists. Settings now names the version you are running and has a button to ask the Web Store. If there is something newer, Chrome fetches it and the row says so; the “Restart to install” button appears only once it is actually on your machine, because restarting before that would put you back on the version you were already running and look like it had worked. And it will not interrupt anything: installing closes the panel, so while a run is going the button waits and says what it is waiting for. Nothing ever restarts on its own.
Extension 0.8.7
Tabruns asks for a rating, once, and only after it has earned one. Being asked to review something on the day you installed it is a request to have an opinion you have not had time to form, and it is the first thing the product teaches you about itself. So this one waits: five tasks actually finished on your say-so, and more than a couple of days since you installed it — a long task counts once, however many rounds it took. Then a card above the box asks, and “Not now” is taken at its word: it returns only after another twenty runs, and never a third time. Nothing is offered in exchange for a rating, and the same link is there whether what you have to say is good or bad — with the support form beside it, because “it keeps missing the second page of this form” is worth more to us than a star.
Extension 0.8.6
Embedded forms: the right one, and only when it is really there. Tabruns learned last release to spot a form living in a frame from another site and open it on its own. Put through a browser rather than a test double, that check turned out to be too eager in three ways and not eager enough in a fourth. A frame from THIS site that happened to be locked down was being announced as somewhere else — following it would have opened the page you were already on in a second tab. A frame that was hidden but still laid out at full size could outrank the real form. A short signup form was being missed for being under an arbitrary height. And a page could name its own frame in a way that made the note offer an address of the page’s choosing. All four are fixed, and there is a new browser-driven check of twenty-four frame shapes so they stay fixed.
Extension 0.8.5
A form that lives in an embedded frame is no longer invisible. Plenty of sites put their whole form inside a frame served from somewhere else — Airtable, Typeform, Google Forms. A browser stops every extension at that boundary, so Tabruns cannot read into one and never will. What it did instead was worse than saying so: the page looked like it had no form on it at all, so it went hunting for one, clicked whichever link sounded closest, and finished with “Did 1 thing” beside a form nothing had been typed into. It now notices the frame is there, says which site it comes from, and opens the form on its own — where it is an ordinary page, and every box in it can be filled like any other.
Extension 0.8.4
Multi-step tasks stop finishing one click short. A wizard works by revealing things: you press a button, a picker opens, and the row inside it is what actually does the job — and both are described the same way, because they are about the same thing. Tabruns has a safeguard that stops it repeating work it has already done, and that safeguard could not tell those two clicks apart: it saw the same words, decided the step was done, and ended the task with “that’s everything I can do here” while the dialog sat there waiting. It now notices when the page changed underneath a step — a dialog opening, a move to another screen — and lets the next click through, while still stopping a genuine loop. This is the most likely reason a long setup would get halfway and stop.
Asked to fill in the page you are on, it stays on it. Say “fill in this sheet” on a spreadsheet, a document or a form, and Tabruns could answer by opening the site again in a new tab — leaving your own file behind, unedited, while the run reported success from the fresh copy. Opening a page is the one step that leaves the page you are on, and nothing checked whether it was leaving for somewhere it already was. A request that points at what is in front of you is now planned against that page, and a plan that would open the site it is already on is sent back to be rewritten before you ever see it.
It stops asking you for details the page is already showing. On a campaign form whose landing-page URL was already filled in, Tabruns paused the task to ask you for that URL — while it sat on screen in front of you. Tabruns deliberately cannot read what is typed into a page’s boxes, which is what keeps your entries out of anything it sends; it can only see THAT a box is filled. It now treats that as the answer it is: a box holding something needs nothing typed into it unless you said what belongs there, so it leaves it alone and gets on with the rest instead of stopping to ask.
Extension 0.8.3
An error Tabruns was logging against itself is gone. Chrome’s extensions page collected a repeating “Could not establish connection. Receiving end does not exist.” from Tabruns. It came from a guard added in 0.8.1 that was supposed to keep the extension awake while it finished a task without you — it opened a connection to itself, which Chrome never delivers, so it failed every time, logged every time, and kept nothing awake. It has been replaced with the approach that actually works, and the error is gone.
Extension 0.8.2
“Click search” clicks search. Asked to press a button that was sitting right there on the page, Tabruns sometimes replied with a note saying the job was already done instead of doing it — nothing was clicked, and the run ended looking successful. There was already a check for this, but it only recognised the version that named the button in quotes. It now catches the version that names nothing, asks for a real plan, and never accepts an answer that describes an outcome it did not produce.
Looking at another tab mid-run no longer moves the panel off your task. While a task was running, glancing at an unrelated tab repointed the panel at that tab — the strip named a page the task was not working on. The work itself never moved, but the panel described the wrong page. It now stays on the task's page until the task is finished.
Extension 0.8.1
Searching works on sites whose search button is just an icon. Reported from a live search site: Tabruns typed the query and then had nothing it could press. Two things caused it. A button with no label of any kind — an icon, no text, no tooltip — was left out of the page description entirely, so there was nothing to aim at; those buttons are now included and named for what they do. And Enter did nothing useful, because a key sent by software fires a page's own handlers but none of the browser's built-in behaviour. Enter now finishes the job the way it does for you: if the page doesn't handle the key itself, the form is submitted. Pages that use Enter for their own purposes — suggestion lists, type-ahead boxes — still get to decide, exactly as they do today.
A long task no longer buries itself in ticks. A task with dozens of steps pushed the live card off the bottom of the panel behind a column of completed ones. The list now holds the ten most recent, with the oldest fading out; the receipt at the end still counts the whole task, and History keeps it after that.
Extension 0.8.0
The whole experience, audited — every message, every moment, made honest. A full pass over what Tabruns says and when it says it. The receipt now owns what actually happened: “Filled 2 of 4 fields” when the page took two back, “Did 3 things — one didn’t land” when a step failed, a brief “Checking the page…” beat while it verifies. A task parked by the ten-minute check-in or the depth cap says so in its own words, with “Keep going” right there. The plan card names the step that submits and what submitting does, counts its worked-out values, and always shows exactly one blue button — the one that works.
Walk away mid-run and it finishes what it can, then knocks. A step that needs your hand counts down on the page AND in the panel — being at either one pauses it. If nobody is around, the step is set aside, everything that doesn’t depend on it still lands, and a notification knocks when it’s done (fixed under the hood: that unattended finish could previously die silently mid-verification). Coming back, the receipt says exactly what’s left, a tab switch can’t erase it, and “Show me what’s left” brings the run’s tab to the front and walks you through just those steps.
Small rights, everywhere. Values listed in the order the form shows them, emails that don’t wrap mid-address, a progress bar you can actually see, one History row per task with a visible way to pick it back up, notifications that replace instead of stack and clear when clicked, no more “plan ready” flash on runs that start themselves, and pages with a strict security policy no longer log an error every time Tabruns presses one of their buttons.
Extension 0.7.5
When the thing to click is right there, it clicks it — instead of asking you to. Two ways a run used to hand a step back to you when it did not need to. A design-system button whose label lives in a referenced element — common on Google’s own admin screens — came through nameless, so it could not be pressed; it now reads its name the way form fields already did. When a plan’s only step was a note telling you to click something the page plainly offers, the planner is now sent back to plan that click itself. And “search for X” on a page whose search box already had something in it no longer stops at “here are your results” without running the search — a filled box is no longer mistaken for a finished task.
A page stops claiming a run is happening when none is. The little “Working out what’s next…” badge on a page could outlive the run it belonged to — a round that failed, or the extension going idle between rounds, left it stranded with nothing behind it. It now retires itself after a minute of silence, and stays only while something is genuinely speaking for it.
Extension 0.7.4
A run you can stop, leave, and come back to. Stop now works while Tabruns is thinking, not only while it is acting. Settings, History and Help gained a Back button, so a mid-task glance no longer costs the thread. And a job stays on its own tab: switch away to read something else and the next round carries on where the work is, not where you are looking.
A finished run can be reported to us — by you, and only by you. “Report this run” on a finished thread sends what that thread showed — your request and each step’s outcome — plus the outline of the page the plan was written against. What is typed into fields is reduced to its shape before anything leaves the browser, and reports are deleted after 30 days. The details are in §2 of the Privacy Policy.
Ask a question about the page and you get an answer, not directions. “Analyze what’s happening to the traffic” used to click a menu item and hand back “review the metrics yourself” — the planner had never been shown the page’s words, only its buttons. The page’s readable text now travels with the ask, and an analysis comes back as an answer with the page’s own numbers in it. What you type into fields and editors still never leaves the browser, and the Privacy Policy says so in the same words.
A confirmation the run itself raised gets answered, not left on screen. Press Publish and the dashboard asks “Publish campaign?” — a dialog that did not exist when the plan was written, so no plan could contain the button inside it. The run now notices the question its own click raised and answers it, instead of reporting the task done underneath it.
Deep wizards run to the end instead of parking at “Keep going”. A five-screen campaign setup kept stopping mid-way: the per-ask round budget was sized for shallower tasks, a long thread could overflow the planner and come back “that request is too long”, and a page that respelled its own address could kill a round before its first step. The budget is doubled, the overflow is fixed, and a round lost that way re-plans itself against the page as it is now.
The document you attach actually arrives — lists, tables, code and all. A campaign brief attached as a tab used to travel as its opening paragraphs only, with the keyword lists — kept in code blocks — left behind entirely. The whole readable document now rides along in order, so “fill this in from my brief” fills it in from the brief.
Five smaller things live campaign runs caught. A table row’s bare checkbox is now named by its row, so “select that keyword” can find it. A stuck step’s card offers Skip & continue instead of a button that did nothing. “Tabruns is using this tab” no longer outlives the ask it was about. A finished wizard no longer claims fields “didn’t stick” that it simply could no longer see. And a form error the page shows — “Enter a valid URL” — now reaches the planner, which is told to fix it rather than repeat it.
Extension 0.7.3
A page still loading its adverts is no longer a run still working. Open a news front page and the panel would sit on “Doing it for you — finishing up…” behind a Stop button for seconds after the page was on screen and scrollable. It was waiting for the browser to call the page finished, which on an ad-funded site means every tracker and iframe — and sometimes never comes. It now lets go when the page is usable, which is what the next step actually needs.
A search that worked is no longer reported as a search that failed. Asking a question that ran a search finished correctly and then said “Couldn’t do” over the top of it. The run was comparing where it started with where it ended and ignoring the query string, so the results page looked like the same page with the work undone. Additions to a URL are noise; changes to it are navigation.
Nothing offers you your own password as a thing it can do. A reply to “what can I do here?” renders as buttons, and one of them read “enter your password” — a field that is stripped from the page before the planner sees it and stripped again at execution, so the offer could only ever come back as an apology. Those lines are left out now, and the move it can make is named instead.
Six smaller things the panel got wrong, found in live runs. A search that ran twice on the results page. The ✛ menu running off the right edge. Every favicon that was a data URI — Tabruns’ own among them — drawn as the grey placeholder. The ✕ offered on the tab being worked on rather than the ones read alongside it. Advice to grant a site Chrome blocks for every extension. And New Chat leaving the old run’s frame on the page.
Extension 0.7.2
Tabruns says what it is, on the shelf it sits on. The Web Store lists an extension under the name in its manifest, and ours was the bare word “Tabruns” — which tells somebody scrolling a category nothing at all. It now reads Tabruns: AI Browser Assistant & Form Filler, and the line under it names what it does rather than repeating the name. The button in your toolbar still just says Tabruns.
The panel stops talking to pages Chrome will not let it reach. Chrome blocks every extension from a handful of its own hosts — the Web Store among them — whatever you have granted, and permissions.contains says otherwise. The panel took it at its word, tried anyway, and wrote the resulting error into its own error page. It now knows the list.
More can ride along with an ask. Six tabs rather than two, five attachments, and a region you draw on the page — and each arrives named, so “use the pricing from my other tab” picks the right one. Three separate limits used to disagree, which quietly dropped whichever reference came last.
Extension 0.7.1
Two permissions we never used are gone. An audit before the first Web Store submission found alarms and favicon declared and unreachable from any code path. A fresh install now asks for six permissions, and for no site access at all until you grant it. Nothing it could do before it cannot do now.
The install page stopped dressing its examples as buttons. The three example asks on the welcome page are sentences to copy, and they now look like it — the only thing to press on each card is Copy ask.
Extension 0.7.0
Pro can be bought. Monthly or annual, through Creem as merchant of record, with the cancellation and refund position written out rather than left to discretion. Checkout asks for no account first: Pro attaches to the address you pay with, and signing in with that address is what switches it on.
Signing in is a code, not a password. Six digits to your inbox, good once. It exists for Pro and for carrying your run count between computers — the free plan still works with nothing signed in.
Two of the three modes were renamed. Ask is now Plan, and Show is now Guide. Auto is unchanged. The buttons on a plan card say the same thing as verbs — “Do it for me” starts Auto, “Guide me” starts Guide — so the setting and the button are recognisably one feature.
You can talk to it. Press the microphone once and it stays on: say what you want, stop talking, and it goes — then it listens again, so a back-and-forth costs no further clicks. Clips are transcribed and discarded. A spoken “go ahead” starts a plan that is waiting, but never one that would submit, publish, send or spend.
A plan card says where every value came from. Each one is labelled with where it came from — you said it, a tab you attached, the page itself, or worked out — and a guess is visible as a guess. The card also names the required fields it is leaving empty, and a finished run reads the page back to check the values stuck rather than reporting what it typed.
A Help Center, and the 36 ready-made asks moved to the site. 24 articles, quoting the messages the panel really shows so one you have just seen can be searched for. The catalogue is now at /templates, where it can be read before installing anything; in the panel, the suggestions under the box are the ones that fit the page you are on.
Extension 0.6.0
Ready-made asks, for when the blank box is the problem. A catalogue of asks that are known to work, each one a sentence you can send as it stands or edit first.
PDF forms. Open a PDF, ask for it to be filled, and get a filled copy back — including PDFs a site serves under a name that does not end in .pdf.
It asks for the page it needs, when it needs it. A run that needs access to the site you are on asks at that moment rather than at install, and a run that could not finish says so instead of reporting a finish it never reached.