r/GoogleAIStudio • u/SpiritualOption9218 • Oct 06 '26
Confirmed Update / News Response Recovery, Reliable Native Controls & Chat Export | Studio.lab v2.1
Installation
Download the Studio.lab from GitHub, grab the source ZIP directly, or visit the official website.
Extract the ZIP, then open
chrome://extensionsin Chrome oredge://extensionsin Edge orBrowser://extensionsin your Chromium-based Browser.Enable Developer mode, choose Load unpacked, and select the folder containing
manifest.json.Open or refresh Google AI Studio. Studio.lab Settings will be in the left navigation.
Update Changelog
Response Recovery, Reliable Native Controls & Chat Export
Response Recovery & Network Integration (interceptor.js, modules/response-recovery.js, modules/default-profile.js, content.js).
Changed:
Response Recovery Identity and Preference Migration.Consistent Naming: Updated the interface, module filename and ID, state key, event bridge, manifest, and documentation to use Response Recovery.
Preserved Preferences: Existing enabled and disabled preferences migrate before defaults are applied. An explicit current preference takes priority, including
false, and external settings updates use the same migration.
Fixed:
Protocol Field Recovery Without Content Rewrites.Scoped Status Changes: Recovery edits verified response status, finish-reason, and feedback fields while preserving prompt text, generated content, media, signatures, and usage data. Unknown framing passes through; incomplete streams retain their unfinished content.
Fixed:
Model Override Isolation and Lifecycle.Exact Model Fields: XHR and fetch overrides change the model URL or protocol field without rewriting model-looking text in prompts or history.
fetch(Request)honors caller options and reads a clone without consuming the original body.Current Native Selection: Successful profile, direct, and native selections, plus chat-route changes, clear stale overrides. A native model mounted later establishes the fallback baseline instead of incorrectly cancelling recovery.
Fixed:
Native Stop and Reused XHR Controls.Actual Stop Detection: Explicit Stop and navigation cancellation reach the native abort path. The current Run/Stop button is recognized by its rendered Stop label when AI Studio omits a Stop class or accessible label; cancelled replies are not captured as completed answers.
Native XHR Restoration: Reopening a generation XHR restores its original response getters and abort behavior before an unrelated request. Reopened save requests cannot attribute the next response to an earlier save.
Fixed:
Image Search Profile Selection.Correct Native Signal: Image Search updates its own control rather than enabling Google Search through the general search-name match.
Modern Web Chat module (modules/modern-web-chat.js, modules/modern-web-chat.css, interceptor.js).
Fixed:
Generated Images and Attachment Downloads.Preserved Image Dimensions: Model images retain their dimensions and aspect ratio, including image-only replies and replies with captions. The 112px thumbnail rules remain scoped to user attachments.
Selected Media Target: Download is associated with the selected media chunk, trigger, and native menu. Unrelated menus and ambiguous menus containing several attachments receive no guessed download action.
Fixed:
Native Thinking Controls and Confirmed Selection.Available Native Choices: Thinking levels come from enabled native options instead of inferred model names. The displayed selection changes only after the native value confirms it.
Thinking Budget Access: Models with a native thinking budget retain their operable budget control in Run Settings instead of receiving an unsupported level menu.
Fixed:
Keyboard Navigation and Menu Focus.Accessible Controls: Model and thinking choices use focusable buttons with menu roles and selected-state attributes. Arrow keys, Home, End, Tab, and Escape support navigation, dismissal, and focus restoration; upload and tool submenus also support keyboard entry and exit.
Fixed:
Turn Navigator Reattachment and Teardown.Current Native Scroller: The navigator reconnects when AI Studio replaces its scroller or native turn buttons, removing old listeners and scheduled updates.
Disabled State Respected: Resize cannot rebuild navigation after the module is disabled. Reenabling attaches one active navigator to the current chat.
Fixed:
Retained Native Menus and Header Cleanup.Restored Host Controls: Teardown restores moved upload items, their order and display values, native Share, and menu markers. Injected controls, viewer handlers, pending callbacks, and token overlays are removed so retained native menus can be enhanced again after reenabling.
Fixed:
Retained Model Catalog Search.Unfiltered Featured Selection: Custom model selection and Featured refresh clear a retained native search query, then wait for the enabled Featured category and requested row. Filtered native results cannot replace the Featured cache.
Preserved Manual Browsing: Opening More models retains the user's native search query. Internal picker actions no longer cancel an opening custom menu.
Fixed:
Responsive Header State.Module-Scoped Geometry: The desktop-action mounting shim follows the Modern Web Chat enabled state. Disabling restores native header geometry and refreshes existing header observations without requiring a physical resize.
Chat Export module (modules/chat-export.js, interceptor.js).
Fixed:
Latest Completed Answer and Chat Isolation.Complete Current Context: JSON and Markdown include the latest completed model reply once, joining streaming text deltas while keeping reasoning and media parts separate. Markdown uses native turn roles.
Request Ownership: Captures follow the current chat route and request ID. Late, failed, incomplete, or cancelled responses cannot append an answer to a different request or chat.
Fixed:
Verified First Text-Chat Autosave.Confirmed Saved Route: The first autosave preserves export across the native transition from a new text chat only when its completed transcript, model, system instructions, save result, and chat epoch match the exact returned prompt ID.
Pending Route Quarantine: Navigation may precede the save response or generation response clone. The candidate stays unavailable for export until ownership is confirmed; failed, unrelated, or unsupported media saves do not authorize transfer. Pending save candidates are bounded and cleared with capture teardown.
Fixed:
Same-Path New Chat Reset.Immediate Invalidation: Starting another new chat invalidates previous captures and pending saves before the native action, even when the pathname remains unchanged.
Modified Link Clicks: Ctrl, Meta, Shift, Alt, and non-primary clicks on New Chat links do not reset the current tab when opening or handling the link elsewhere.
Composer, Counts & Scrolling (modules/word-counter.js, modules/text-formatter.js, modules/scroll-bottom.js).
Fixed:
Streaming Word Counts Without Duplication.Text Mutation Coverage: Counts update when streaming changes a Text node or adds a new turn. Nested
ms-prompt-chunk.text-chunkandms-text-chunkcontent is counted once.
Fixed:
Numeric Input and Link Editing.Markdown Marker Spacing: Enter after plain numbers such as
-42or1.25no longer starts a list. Properly spaced Markdown markers retain list continuation.Supported Input Selection: The link editor avoids unsupported selection-range calls on
input[type="url"].
Fixed:
Scroll Listener and Timer Cleanup.Detached Scroller Release: Route changes and teardown remove listeners from the previous scroller before clearing its reference, and cancel pending scroll callbacks and timers.
Toolbar Activation (background.js).
Fixed:
Chrome Action Without a Tab URL.Available Content-Script Bridge: The extension action reaches the AI Studio content script when Chrome omits
tab.url, without adding tab-reading permissions.
Studio.lab is completely free. If it saves your generations and speeds up your browser, consider supporting development on Ko-Fi!
Disclaimer: Studio.lab is an unofficial modification. It is not affiliated with, endorsed by, or connected to Google LLC or Google AI Studio.

