Changelog
New features, improvements, and fixes in Skyvern
Week of June 22, 2026
Workflow Studio preview, new models, label management, Gmail OTP, Copilot improvements, analytics filters, bug fixes
New features
- Gmail-Backed OTP Lookup — Agents can now retrieve one-time passwords from Gmail via OAuth, enabling automated login flows that depend on email-delivered verification codes. (#6769)
- Copilot Chat History per Workflow — The Copilot now retains its full conversation history scoped to each individual workflow, so prior context and decisions are preserved as you continue building. (#6767)
- Code-First Editor Polish — Code-first code blocks now display block labels, correctly render extraction output, and include a Build-vs-Code toggle for switching between visual and code editing modes. (#6771)
- Workflow Studio (Preview) — A redesigned workflow editor with a refreshed build canvas, integrated browser view, and run viewer is now available as an opt-in preview, giving teams an early look at the next-generation authoring experience. (#6782)
- DeepSeek and Xiaomi MiMo Models — DeepSeek and Xiaomi MiMo are now available in the model dropdown for agent runs. Gemini 2.5 Pro and 2.5 Flash have been deprecated. (#6831)
- Label Management Settings — Labels can now be renamed, recolored, and soft-deleted directly from the Settings page, making it easier to maintain a clean tag taxonomy. (#6830)
- Browser Profiles in MCP Sessions — Browser sessions initiated via MCP can now be associated with a browser profile, enabling credential and state reuse across MCP-driven runs. (#6798)
- Workflow-Tag Filter on Analytics — The analytics dashboard now supports filtering runs and metrics by workflow tag. (#6780)
Improvements
- Copilot Repair Shows Quiet Progress — The Copilot’s code-seam repair steps now appear as compact progress indicators instead of repeated chat messages, keeping the conversation readable during long repairs. (#6746)
- Collapsible Sidebar with Avatar — The left sidebar now features an edge toggle, a closed-state user avatar, and a smooth open/close animation for a more polished navigation experience. (#6754)
- Structured Output Verified Before Completion — Runs that produce structured data now verify the output satisfies the configured schema before marking the run as successfully complete. (#6751)
- MCP Workflow Overlap Settings Preserved — Overlap settings configured via MCP are now retained correctly when the workflow is subsequently edited, preventing unintentional resets. (#6748)
- Browser Profile List Sorted Newest First — The browser profile picker now orders profiles with the most recently created at the top, making recent profiles easier to find and select. (#6739)
- Remote Browser Sessions Capped at Four Hours — Remote browser sessions now have a maximum duration of four hours, preventing orphaned sessions from consuming resources indefinitely.
- Debug Sessions Stay Open After Runs — Browser sessions launched from the workflow editor in debug mode now remain alive after a run completes, so you can inspect the final page state without the session closing immediately. (#6832)
- GPT-5 Mini via OpenRouter — GPT-5 Mini is now available as a selectable model via OpenRouter. (#6816)
- Extraction and AI Steps in Code-Block View — Extraction and AI steps are now surfaced in the code-block run view, filling a gap in execution visibility. (#6823)
- Color Palette for Grouped Workflow Tags — Tags that belong to a group are now displayed with a curated color palette, making it easier to distinguish tag groups at a glance. (#6801)
- Improved Authenticator 2FA Credential Setup — The credential setup flow for authenticator-based 2FA has been improved with clearer guidance and a smoother configuration experience. (#6783)
- Copilot Data-Write Blocks Default to Safe Failure Mode — New Copilot-generated data-write blocks now default to
continue_on_failure=false, preventing downstream blocks from running on bad data. (#6779) - End-State Screenshots for All Open Tabs — Task runs now capture end-state screenshots for every open tab at completion, giving a full snapshot of the browser state. (#6777)
- Partial Deliverable on Budget Exhaustion — Tasks that hit their credit budget now return the best-effort deliverable collected so far instead of failing without output. (#6778)
- Planner Supports EXTRACT_INFORMATION and GOTO_URL — The task planner can now emit EXTRACT_INFORMATION and GOTO_URL actions, expanding the set of strategies available during automated planning. (#6800)
- Copilot Completion Recognition Improvements — The Copilot completion recognizer is now more authoritative and evidence-backed, with stable criteria counts and more reliable recognition across runs. (#6789)
- Copilot Code Repair Loop Reliability — The Copilot code authoring repair loop is now more reliable, reducing cases where stuck repairs would stall progress. (#6792)
- Workflow Studio Browser and Panel Improvements — The Workflow Studio editor now supports take-control and viewport centering for the live browser, with alignment and toolbar polish for the run/editor panels. (#6810)
- Analytics Tag Filters Accept Flexible Input Shapes — Analytics tag filters now accept labels, groups, or
group:labelpairs in all three supported filter shapes. (#6802) - Run ID Search Fallback on Runs List — The runs list now falls back to searching by run ID when no parameter-value match is found, making it easier to locate specific runs. (#6788)
Bug fixes
- Fixed login credentials not being reattached after editing a workflow via MCP, which could cause credential-gated runs to fail. (#6761)
- Fixed conditional routing logic not being preserved when loading a workflow stored in the v1 format. (#6760)
- Fixed the active run context being lost when switching between organizations, requiring a page refresh to restore the correct run view. (#6753)
- Fixed browser connection settings defined in a TaskV2 block not being forwarded to child task runs. (#6750)
- Fixed telephone number inputs dropping digits when bare NANP-format phone numbers were typed. (#6826)
- Fixed the workflow builder freezing due to an infinite FlowRenderer dimension/layout feedback loop. (#6824)
- Fixed the code editor crashing with a stack overflow when opened on large or deeply-nested JSON. (#6817)
- Fixed the app failing to load after a deploy due to stale webpack chunks; the app now auto-recovers via a cache-busting reload. (#6818)
- Fixed runs returning an incorrect terminal outcome when the extraction schema had been modified after the initial recording. (#6815)
- Fixed MCP workflow edits dropping non-credential parameter-to-block links. (#6813)
- Fixed address bar paste not working in the VNC streaming view. (#6812)
- Fixed newly added workflow blocks not receiving focus in the editor. (#6809)
- Fixed Copilot code-block file downloads being written to the wrong directory. (#6797)
- Fixed parameter-value search not appearing in the v2 runs list. (#6796)
- Fixed extra actions firing after selecting a combobox option during text entry. (#6787)
- Fixed shadow DOM text nodes being missed during element text extraction. (#6791)
- Fixed persistent browser sessions incorrectly reporting a cached session as live when it had become stale.
Week of June 15, 2026
Code-first code block editor, analytics drill-down, copilot repair loop, OTP fill, uncapped runtimes, voice input fixes
New features
- OTP Fill at Runtime in Code-Block Sandbox — Code blocks can now fill OTP fields using your stored TOTP credentials at runtime, enabling fully automated two-factor authentication flows without manual input. (#6571)
- Uncapped Workflow Runtime — Workflows can now be configured to run without a maximum time limit, enabling long-running automations that previously timed out. (#6567)
- Code-First Code Block Editor — Code blocks now feature a dedicated code editor with syntax highlighting, Jinja parameter hints, and a run timeline showing each action taken, giving developers full visibility and control over code-driven automations. (#6604)
- Period-Aware Analytics Drill-Down — The agent analytics drill-down panel now respects the selected time period (7/30/90/365 days or custom range) and shows per-agent average duration, credits per run, and period-over-period trends.
- Agent Directory Tree — The agents and folders list has been redesigned as a navigable directory tree, making it easier to browse and organize agents across nested folder hierarchies. (#6631)
- GCP Self-Host: Storage and Vault — Self-hosted deployments on Google Cloud Platform now support GCS artifact storage and GCP Secret Manager vault, enabling full GCP-native deployments. (#6632)
- 1Password Credential Picker — Credential inputs now include an item picker for 1Password vaults, letting you browse and select vault items directly during credential setup. (#6651)
- Typed Extraction Schema for Copilot Code Blocks — Copilot-generated code blocks now support a typed data extraction schema (matching
data_schemaparity), enabling structured data output from code-block automations. (#6674) - SDK-Backed Remote Browser Provider — Agents can now connect to external browser providers via SDK, enabling tighter integration with third-party remote browser services. (#6687)
- Bitwarden Credential Integration — Saved credentials can now be sourced directly from Bitwarden vaults, bringing Bitwarden to full UI and functional parity with other supported credential providers. (#6729)
Improvements
- Smarter Loop Planning for Repeated Work — The task planner now prefers loop-based tasks when it detects repeated same-shaped operations, improving throughput on multi-item automation runs. (#6575)
- Agent Auto-Acts on Stalled Pages — When the agent re-evaluates a page that hasn’t changed, it now applies steering heuristics and acts immediately instead of stalling. (#6577)
- Final Answer Surfaced Directly — The task agent now returns the final deliverable directly instead of spinning through redundant synthesis steps, reducing latency on completed tasks. (#6574)
- Copilot Stops Stuck Repair Loops — The Workflow Copilot now detects when consecutive repairs make no verified progress, halts after three attempts, and presents an honest escalation with the draft preserved for review. (#6608)
- Voice Input Microphone Permission — The browser microphone permission prompt now appears correctly when using voice dictation in the Prompt Box and Workflow Copilot. (#6601)
page.evaluateRecorded in Code Block Timeline — JavaScriptpage.evaluate(...)calls made inside code blocks are now recorded as actions in the run timeline, filling a gap in execution visibility. (#6600)- Active Run Shown on Browser Session Page — Browser session detail pages now display which workflow run currently occupies the session, making it easier to understand session usage. (#6691)
- Distinct Visual for Terminate Actions — Terminate actions now appear with a distinct amber triangle icon in the run timeline, making it easy to spot where a run was stopped. (#6693)
- PDF Field Mapping by Positional Labels — PDF form filling now uses positional field labels to improve accuracy when mapping data to form fields with ambiguous names. (#6663)
- MiMo-V2.5 Model Support via OpenRouter — Added Xiaomi MiMo-V2.5 as a selectable LLM via OpenRouter for agent runs. (#6636)
- Settings “API Keys” Renamed to “General” — The “API Keys” section in Settings has been renamed to “General” to better reflect its full scope of configuration options. (#6642)
- Run URLs Surfaced in MCP and CLI — The agent app URL and session recording URLs are now included in run responses returned via MCP and the CLI, making it easier to link directly to a live run. (#6719)
- Email OTP Credentials Supported in Copilot — The Copilot can now use stored email OTP credentials when generating and validating code-block automations that require email-based authentication. (#6716)
- Auto-Fill Default Google Account for Sheets Blocks — Google Sheets blocks now automatically select the default linked Google account, reducing manual setup when configuring Sheets integrations. (#6715)
- Copilot Output Accurately Reflects Verified Results — The Copilot no longer under-reports successfully verified output, ensuring the run summary accurately reflects what was accomplished. (#6710)
- Runs Halt Reliably on Terminal Blockers — When the agent encounters strong evidence of an unresolvable blocker (such as a persistent challenge page), it now stops immediately rather than continuing to attempt further actions. (#6714)
- Workflow Save Performance Improved — Cache invalidation on workflow save is now batched, eliminating a per-block N+1 query pattern that slowed saves for large workflows. (#6718)
Bug fixes
- Fixed the Run Inputs panel collapsing unexpectedly when filtering Run History. (#6573)
- Fixed the agent incorrectly retrying click fallbacks after an action dispatch timed out, causing unintended interactions. (#6569)
- Fixed session recordings and page interpretation not resuming correctly after navigation, causing missed recording segments. (#6568)
- Fixed code block runs not generating a recording entry, causing the Recording tab to appear empty. (#6607)
- Fixed code block action screenshots not appearing on the run Overview page. (#6605)
- Fixed long usernames or email addresses hiding the sidebar collapse button on desktop.
- Fixed the FileParserBlock crashing instead of surfacing a clear error when it encountered an unparseable file. (#6657)
- Fixed the Inputs field missing from the Code view of code-first code blocks. (#6633)
- Fixed Copilot-synthesized download blocks not downloading the file during code replay. (#6637, #6638)
- Fixed multi-step login flows not advancing when credentials were filled into JavaScript-gated fields. (#6650)
- Fixed an infinite update loop on the workflow build page when certain block configurations were active. (#6660)
- Fixed adopted-session file downloads not being available as run artifacts after the session ended. (#6679)
- Fixed the run timeline showing action and step rows for non-code blocks when they should only appear for code blocks. (#6675)
- Fixed workflow run actions not appearing in the timeline for all block types.
- Fixed workflow runs not stopping when a configured time limit was exceeded. (#6677)
- Fixed the analytics plan-tier badge showing the incorrect tier for some organizations.
- Fixed credits not being recorded when data was captured inside a Navigate block in task runs. (#6698)
- Fixed Copilot directory mode synthesizing incorrect code bindings. (#6702)
- Fixed FileUpload blocks silently skipping the upload when no file was provided, instead of recording a clean no-op and continuing. (#6728)
- Fixed the product tour not launching when triggered from the “Take a tour” menu option. (#6727)
- Fixed scanned PDF files being parsed as a single large page rather than processed page-by-page, which caused extraction to miss content on multi-page documents. (#6722)
- Fixed the block library drawer overflowing its container bounds in the workflow builder. (#6721)
Week of June 8, 2026
Multi-tab agent control, Gemini 3.5 Flash, GCP Vault, bulk agent actions, credential clears, code-block credentials
New features
- Copilot Ask/Build/Code Mode Routing — The Copilot now routes each request based on the active mode: Ask returns answers without modifying the workflow, Build creates or updates workflows, and Code generates executable code blocks. (#6459)
- GCS Storage Backend — Added Google Cloud Storage as an artifact storage backend for self-hosted deployments. (#6442)
- Key-Optional Labels and Flexible Tag Filters — Tags now support key-optional labels, and tag filter queries accept more flexible formats for richer agent organization. (#6458)
- Self-Serve Editor Onboarding — New users in the workflow editor now see a get-started modal with intent routing and template cards, a 4-stop guided product tour, and smart empty states on the dashboard and runs pages to accelerate time-to-first-automation. (#6475)
- Multi-Tab Browser Control — The autonomous agent loop can now open and interact with multiple browser tabs simultaneously, enabling workflows that span across new tab links and pop-ups. (#6507)
- Gemini 3.5 Flash Model Support — Added Google Gemini 3.5 Flash as a selectable LLM for agent runs, providing a faster inference option. (#6505)
- GCP Secret Manager Vault Adapter — Added Google Cloud Secret Manager as a supported vault backend for storing and retrieving secrets in self-hosted deployments. (#6488)
- Bulk Actions on Agents List — You can now select multiple agents at once and apply bulk actions directly from the agents list page. (#6485)
- Self-Service Credential Clears — Saved credentials can now be individually cleared from the credentials settings page without deleting and recreating them. (#6480)
- Per-Run Session Recordings as Artifacts — Recordings are now clipped to each run’s time window and stored as downloadable run-scoped artifacts. (#6479)
- Credential-Aware Scouting in Code-Block Mode — The Copilot now uses saved credentials while scouting pages for code-block generation and produces credential-typed code that fills login fields using your stored credentials. (#6521)
- Claude Fable 5 Model Support — Added Claude Fable 5 as a selectable model for agent runs. (#6539)
- Live Browser Recording with Instant Placeholders — Session recordings now commit navigation and wait blocks immediately as placeholders during live recording, with support for capture pause and draft interpretation. (#6561)
- Act-and-Observe Copilot Scouting — The Copilot’s page scouting now uses act-and-observe interactions that return bounded page evidence alongside gathered actions, improving code-block generation accuracy. (#6533)
Improvements
- Deterministic Copilot Code-Block Synthesis — Code blocks generated by the Copilot from scouted page interactions are now deterministic, producing consistent scripts across repeated generations. (#6463)
- Smarter Element Focus in Page Analysis — The agent now drops non-navigable links from its internal element tree, reducing noise and improving targeting accuracy. (#6461)
- Workflow Builder Left Sidebar Preserved — The left sidebar in the workflow builder now stays open when you switch between blocks, keeping your panel state between edits. (#6453)
- TOTP Prioritized Over Webhook for OTP — Stored TOTP secrets are now tried before webhook polling when retrieving one-time passwords, speeding up authentication flows that use stored credentials. (#6451)
- Improved Caching for Click-Reached Blocks — Scout interactions for blocks reached via click are now automatically credited toward the cached script, increasing cache hit rates. (#6450)
- Accessible Status Badges — Status badges across the product have been updated with improved contrast and consistent pill styling for better accessibility. (#6444)
- Block Title Editable from Settings Sidebar — Workflow block titles can now be edited from the right-hand settings sidebar, without needing to use the inline editor on the canvas. (#6443)
- API Reference Split into Agents and Runs Sections — The public API reference is now organized into separate Agents and Runs sections for easier navigation. (#6448)
- Label-First Tag Editor and Flexible Tag Filter UI — The tag editor now accepts standalone labels or
group:labelformat in a single input, and the filter bar supports filtering by label, group, or group:label for richer agent organization. (#6470) - 2FA Field Progressive Disclosure in Login Block — Two-factor authentication fields in the login workflow block are now collapsed by default and expanded on demand, reducing visual noise for workflows that don’t use 2FA. (#6490)
- Persistent Browser Session Profile Generation Now Opt-In — Automatic browser profile generation during persistent sessions is now opt-in, giving you explicit control over when profiles are captured. (#6489)
- Icon-Only Status Pills on Mobile Viewports — Status badges now render in a compact icon-only format on small screen widths, preventing layout overflow on mobile devices. (#6481)
- Hardened Webhook Delivery — Workflow webhook delivery is now more reliable, with improved handling of transient failures and prioritized delivery ordering. (#6478)
- Reduced Live Recording Draft Latency — Live session recordings now appear almost instantly with placeholder entries, with final blocks committed after a short debounce window. (#6553)
- Copilot Stops on Terminal Blockers — The Copilot now correctly halts when it reaches a condition that blocks further progress, preventing runaway sessions. (#6535)
- Copilot Chat Shows Run Outcome Verdict — The Copilot chat timeline now reflects the actual run outcome verdict, giving a more accurate view of what the agent accomplished. (#6532)
Bug fixes
- Fixed org-verified discovered credentials not being credited in the Copilot credential gate, which could prevent runs from starting. (#6462)
- Fixed OTP codes from previous workflow runs being picked up and incorrectly used in new runs. (#6455)
- Fixed persistent-session screen recordings not appearing in the run view when the recording timestamp fell outside the run’s time window. (#6454)
- Fixed Copilot inconsistently asking for a URL before running discovery when the user had only named a site without providing one. (#6473)
- Fixed Copilot asking for a URL after already successfully navigating to the requested site during discovery. (#6472)
- Fixed self-hosted deployments rejecting requests with “Invalid credentials” (HTTP 403) when the Docker UI injected an API key that the container’s server incorrectly filtered out.
- Fixed persistent session recordings not being finalized when the video encoding process outlasted the session’s cleanup window. (#6519)
- Fixed the saved credentials status indicator not updating until the page was manually refreshed. (#6517)
- Fixed the workflow run timeline rendering blocks in branch-tree order instead of execution order, producing a confusing step sequence. (#6515)
- Fixed downloaded files inside loop blocks being shared across all iterations instead of scoped to the block that downloaded them. (#6487)
- Fixed session recordings defaulting to an incorrect resolution; recordings now use Playwright’s default viewport size. (#6524)
- Fixed Copilot failing to recognize and use a saved credential when the credential ID was typed with a space or hyphen separator instead of an underscore; malformed IDs are now normalized and resolved correctly. (#6529)
- Fixed Copilot chat showing workflow blocks as completed even when the overall run goal was not demonstrated — the recorded run outcome verdict is now surfaced in the chat narrative. (#6528)
- Fixed Copilot browser sessions incorrectly blocking localhost navigation during page scouting, which could prevent evidence from being gathered from locally-served pages. (#6527)
- Fixed single-element JSON arrays being unwrapped to a scalar when passed as workflow run inputs. (#6560)
- Fixed code blocks silently dropping non-dict return values instead of passing them through to downstream blocks. (#6556)
- Fixed the task agent ignoring the
max_iterationsoverride, causing runs to exceed their configured step limit. (#6544) - Fixed generated workflow parameter keys being duplicated, which caused a hard failure when the workflow was run. (#6543)
- Fixed task runs completing successfully even when a required sub-goal had not been satisfied. (#6546)
- Fixed the credential-clear confirmation dialog being hidden behind other overlays. (#6542)
- Fixed click actions on elements wrapped in disabled containers not being retargeted to the clickable child element. (#6540)
- Fixed Copilot loop detector incorrectly triggering at block dispatch boundaries. (#6550)
Week of June 1, 2026
Workflows are now Agents, feature preview, tag filters, OSS schedules, captcha improvements
New features
-
Workflows are now Agents — We’ve renamed “Workflows” to “Agents” across the product, public API, and docs. The API is now served under
/agents(e.g.POST /v1/run/agents) and accepts anagent_idalias forworkflow_id(samewpid_value), withagent_idechoed in responses. Fully backwards-compatible: existingworkflow_idinputs,/workflowsendpoints, SDK methods, and bookmarked doc URLs all keep working. - Feature Preview Section in Settings — A new “Feature Preview” panel in account settings lets you opt into upcoming features before they are fully released. (#6318)
-
Filter Workflows by Tags — The
GET /workflowsAPI now accepts a?tags=query parameter to filter results by tag. (#6334) - Workflow Schedules in Open Source — Self-hosted Skyvern deployments now support workflow schedules, previously a cloud-only feature. (#6344)
- Claude Opus 4.8 Support — Added Claude Opus 4.8 as a selectable model for both direct Anthropic and AWS Bedrock inference paths. (#6409)
- Automatic Re-save of Expired Credential Sessions — Saved credential sessions that have expired or encountered an error are now automatically re-saved, keeping browser profiles available without manual intervention. (#6435)
- GPT-5-mini Support — Added GPT-5-mini as a selectable LLM for customers using their own OpenAI API keys, providing a faster, lower-cost inference option.
Improvements
- Improved CAPTCHA Solving Reliability — Added a timeout circuit breaker and better timing around CAPTCHA solves on submit-protected pages, reducing failures caused by timing races. (#6349)
- Undo/Redo Moved to Canvas Toolbar — Undo and redo controls are back on the workflow canvas toolbar for easier access. (#6310)
- Better Loading and Error States in Browser Streams — Improved copy and animations for loading and error states across all browser stream views. (#6332)
- Extended Credential Test Timeout — The browser profile credential test now polls for up to 10 minutes, accommodating slower authentication flows that previously timed out. (#6359)
- Code-First Copilot Validation Gates — The code-first Copilot now runs preflight checks, MCP evidence gates, and validation steps before executing generated code blocks, reducing silent failures. (#6410)
- OpenRouter Cost Tracking — LLM token counts and costs are now tracked for runs using OpenRouter models, making per-run spending visible alongside other LLM providers. (#6427)
- CUA and Claude Opus Models Now Enterprise-Only — The CUA browser-control mode and Claude Opus model family are now reserved for enterprise accounts. (#6420)
Bug fixes
- Fixed session cookies not being restored when reusing a saved browser profile. (#6362)
- Fixed TOTP codes not being recovered from webhook response bodies that are not strictly valid JSON. (#6354)
- Fixed webhook responses being truncated at 2KB when routed through the NAT proxy.
- Fixed filtered dropdown options not being selectable in certain search-driven input components. (#6348)
- Fixed block prompts not rendering in the workflow version comparison view. (#6331)
- Fixed agent navigation buttons rendered via CSS
::before/::afterpseudo-content icons being missed when the icon element’s bounding rect was zero due to out-of-flow positioning. (#6385) - Fixed credential edit form values and in-progress test state being cleared when the credentials list refreshed in the background during a browser profile test. (#6404)
- Fixed workflow canvas layout not updating correctly when a container block is collapsed. (#6436)
- Fixed session cookie capture not persisting correctly when saving browser credential sessions. (#6434)
- Fixed persistent browser session final status not being reconciled when a session close races a timeout cleanup.
- Fixed shadow DOM inputs inside closed dropdown components incorrectly being forced visible. (#6433)
New features
- Redesigned Sidebar Navigation — The app sidebar has been redesigned with collapsible groups, improved visual hierarchy, and a cleaner layout. (#6211)
- Workflow Run Retry — Workflow runs can now be retried directly from the UI or API without creating a new run from scratch. (#6195)
- New Workflow Run Page Layout — The workflow run detail page has been split into a compact timeline and a detail panel for faster navigation and better readability. (#6214)
- Copilot Turn Narrative — The workflow copilot now displays a summary bubble after each turn, giving you a clear audit trail of what the agent did and decided. (#6231)
- Block Completion Progress on Run Page — The workflow run page now shows an N/M progress indicator so you can see how many blocks have completed at a glance. (#6230)
- Selector and AI Fallback Fields in Action Blocks — Action blocks now expose explicit selector and AI fallback configuration, giving you finer control over element targeting. (#6212)
- Workflow Tagging API — Tags can now be created, applied, queried, and managed via the API for programmatic workflow organization. (#6251)
- Run Cost Visibility in Task Runs — Task runs now expose LLM, proxy, and captcha cost fields, making per-run spending trackable via the API. (#6219)
- Double-Click Action Support — The click action block now supports double-click for elements that require it. (#6166)
- Search on Credentials Page — Added a search bar to the credentials page for quick filtering by name.
Improvements
- “Inputs” Replaces “Parameters” Across the UI — Workflow block parameters are now consistently labeled “Inputs” throughout the editor and run views. (#6296)
- Sidebar Flyout on Hover — Hovering over a collapsed sidebar icon now reveals the flyout menu without requiring a click. (#6270)
- Copilot Follows Live Frontier During Runs — The copilot chat panel now tracks the active workflow frontier as the run progresses, keeping you oriented on the agent’s current work. (#6283)
- Completed Copilot Turns Collapse to Summary Card — Finished copilot turns now collapse into a compact summary card, reducing clutter in long sessions. (#6280)
- Copilot Workflow Proposal Staged View — Accepting or rejecting a copilot workflow proposal now shows a staged diff view that snaps back cleanly on cancel or reject. (#6260)
- Browser Profile Saving Indicator — A placeholder row now appears while a browser profile is being saved, giving immediate visual confirmation that the save is in progress. (#6215)
- Copilot Loop Detection — The copilot now detects when it is stuck repeating the same reply and actively rewrites its approach to break the loop. (#6161)
Bug fixes
- Fixed credentials with embedded multi-placeholder secret references not being resolved correctly during workflow runs. (#6245)
Week of May 18, 2026
Guided browser profile setup, archived artifact status, webhook retry, download fixes
New features
- Guided Browser Profile Setup — A new step-by-step flow walks you through creating a saved browser profile, making it easier to set up persistent login sessions. (#6043)
- MCP Setup in Cloud Settings — Added a dedicated MCP setup section to cloud account settings for easier MCP client configuration.
- Draggable Workflow Blocks — Blocks in the workflow editor can now be reordered by dragging and collapsed to save space, making it easier to navigate complex workflows.
- CDP Connect Headers — The workflow editor now exposes a settings field for custom CDP connect headers, enabling authentication with remotely managed browser instances. (#6125)
- Credits Consumed per Run — Workflow run detail pages now show how many credits were consumed by that specific run. (#6133)
- Bulk Cancel Runs — A new API endpoint lets you cancel multiple in-progress workflow runs in a single request.
Improvements
- Archived Artifact Status — Workflow runs now show when their artifacts have been archived, with a clear status indicator in the UI. (#6075)
- Automatic Webhook Retry on Infrastructure Failures — Workflow webhooks are now retried automatically after transient infrastructure failures, reducing missed notifications. (#6062)
- Faster Script-Mode Runs — Speculative extract-action steps are skipped in script-mode workflows, cutting unnecessary LLM calls. (#6057)
- LLM Router Length-Truncation Fallback — When a model response is cut off by a length limit, the router now automatically retries with a fallback model instead of returning a partial response. (#6079)
- Analytics Range Extended to 365 Days — The analytics dashboard now offers a “365 days” time range, replacing “All time” which was slow for high-volume accounts.
- Copilot Recovers from Unexpected Errors — The workflow copilot now catches unexpected errors mid-run and presents a recovery option instead of silently stopping. (#6143)
- Copilot Surfaces Missing-Context Fallback — When the copilot lacks enough context to proceed, it now shows a clear fallback message explaining what information is needed. (#6144)
- Reduced LLM Context Overflow Failures — Prompt data (element trees, extraction goals) is now capped before being sent to the LLM, significantly reducing context-overflow and rate-limit errors on complex pages. (#6098)
Bug fixes
- Fixed popup pages opened during a run not being included in session recordings. (#6078)
- Fixed XHR-triggered file downloads not being captured when using download action blocks. (#6054)
- Fixed transient download-error popups incorrectly causing run failures. (#6080)
- Fixed child tasks not being terminated and workflow runs getting resurrected after a cleanup cron timeout. (#6047)
- Fixed copilot feasibility check stalling when given diagnostic input for an existing workflow. (#6061)
- Fixed reCAPTCHA v2 invisible variant being misidentified as v3, causing solve failures.
- Fixed downloaded file links on workflow runs showing internal storage paths instead of actual filenames. (#6137)
- Fixed the workflow copilot stopping unexpectedly when a browser session becomes unresponsive. (#6106)
New features
- Analytics Dashboard — A new /analytics page provides a breakdown of workflow run activity and performance over time. (#5980)
- Browser Profile Management Page — A dedicated browser profiles page lets you view, search, and rename your saved browser profiles. (#5990)
- Smarter Element Targeting — The agent now uses deterministic HTML element-tree compression, improving selector reliability on complex pages. (#5970)
- Block-Scoped Parameter Prompts in Debugger — The workflow debugger now prompts for parameters scoped to the specific block being tested, making per-block runs easier to set up.
Improvements
- Scheduled Trigger Badge on Runs Page — The global Runs page now shows a badge on runs triggered by a schedule, making scheduled runs easy to identify. (#5948)
- Signed Artifact Content URLs — Artifact content URLs are now always signed with configurable expiry for secure access control. (#5940)
- Faster Workflow Run API — The GET workflow run endpoint has been significantly optimized for speed. (#5993)
- Copilot Diff View Detects Nested Changes — The Copilot diff panel now correctly highlights changes inside nested conditional and loop blocks. (#5945)
- Output Parameter Size Protection — Workflow output parameter values are now capped to prevent oversized JSON payloads from causing downstream failures. (#5974)
Bug fixes
- Fixed scheduled workflow runs not appearing on the global Runs page. (#5949)
- Fixed webhook delivery silently failing on transient 403, 5xx, or network errors. (#5952)
- Fixed artifact downloads failing for clients that send HTTP Range request headers. (#5982)
- Fixed FileParserBlock failures not appearing in workflow run outputs. (#5964)
Week of May 4, 2026
While Loop block, multiple schedules per workflow, Google Sheets connector, browser session runs tab
New features
- While Loop Block — A new workflow block type that repeats a sub-workflow until a condition is met, enabling dynamic iteration without a fixed loop count. (#5809)
- Multiple Schedules per Workflow — Workflows can now have multiple independent schedules (e.g., run at 9am on weekdays and noon on weekends). (#5799)
- Google Sheets Connector (Open Source) — The Google Sheets connector authentication flow is now part of the open source package. (#5815)
- Runs Tab on Browser Session Page — The browser session detail page now includes a Runs tab listing all workflow runs associated with that session. (#5830)
- Per-Workflow Total Step Cap — A new workflow-run step cap lets you limit the maximum number of agent steps across all blocks in a single run. (#5834)
Improvements
- TOTP Scoped to Active Credential — Credential-derived TOTP values are now scoped to the active credential, preventing stale tokens from being used mid-run. (#5805)
- Browser Dialogs Surfaced to Agent — JavaScript dialogs (alerts, confirms, prompts) that the browser blocks are now surfaced to the agent so it can adapt its next action. (#5810)
Bug fixes
- Fixed the workflow-deleted banner not appearing on the run detail page when the parent workflow has been deleted. (#5800)
Week of April 27, 2026
MCP CLI for schedules and config, copilot hard-cancel, cursor in recordings, artifact URL improvements
New features
- Workflow Schedule Management via MCP — Manage workflow schedules from MCP clients (e.g., Claude Code) using the new
skyvern scheduleCLI commands. (#5713) - Org Settings via MCP — Configure organization settings from MCP clients using the new
skyvern configCLI tool. (#5694) - MCP OAuth Org Selection — Multi-org users can now choose which organization to connect to during MCP OAuth authentication. (#5699)
- Platform-Level JS Dialog Handler — The agent now handles JavaScript dialogs at the browser level using LLM-guided decision logic, improving reliability on dialog-heavy pages. (#5679)
- Print-to-PDF in Downloaded Files — Workflow blocks that trigger a browser print-to-PDF now expose the resulting file in the block’s downloaded files list. (#5784)
Improvements
- Cursor Visualization in Run Recordings — Playwright recordings now overlay a visible cursor, making it easy to follow the agent’s actions when reviewing a recording. (#5683)
- Short Signed Recording URLs — Browser session recording links are now compact signed URLs instead of full S3 paths. (#5686)
- Configurable Artifact URL Expiry — A settings field lets you control how long artifact content URLs stay valid before expiring. (#5690)
- Copilot Hard-Cancel — A hard-cancel button immediately stops an in-progress copilot run without waiting for the current step to finish. (#5726)
- Copilot Reuses Live Debug Browser Session — When testing a workflow from the debugger, the copilot now reuses the open browser session instead of starting a new one. (#5709)
- Copilot Surfaces WIP Workflow on Timeout — If the copilot times out or a test fails, it now offers the in-progress workflow so you can review and continue. (#5755)
- Pre-Filled Debugger Run Dialog — The Run dialog in the workflow debugger now pre-fills with values from your last run. (#5724)
- Copilot Atomic Workflow Accept — Accepting a copilot workflow proposal now applies all block changes atomically, preventing partial updates. (#5695)
- Loop Block Failure-Handling Clarity — The loop block UI has clearer controls and labels for configuring how failures inside the loop are handled. (#5731)
Bug fixes
- Fixed the in-progress workflow not being preserved when closing the copilot mid-run. (#5787)
Improvements
- Copilot Live Status Narration — The workflow editor copilot now displays a short live status line while it works, so you can see what the agent is doing instead of waiting in silence. (#5567)
-
Renamed Browser Profile Reset Action — The API endpoint for clearing a persisted browser session has been renamed from
/browser_session/refreshto/browser_session/reset_profilefor clarity. The old path remains available as a deprecated alias. (#5572) - Fewer Screenshots for API Runs — Screenshot capture frequency has been reduced for API-triggered runs, lowering storage overhead on long-running automations without affecting interactive sessions. (#5565)
Bug fixes
- Fixed the workflow copilot incorrectly proposing a workflow it had just failed to build. The copilot now only surfaces an Accept/Reject panel when the last test actually passed. (#5574)
- Fixed 2FA entry failing on pages with custom overlay input components where the real input field is hidden. The agent now types digit keys directly when no interactable input exists. (#5568)
Week of April 13, 2026
Saudi Arabia proxy, workflow error mapping, smarter caching, MCP OAuth, AI output summaries, and reliability fixes
New features
-
Saudi Arabia Proxy Location — Added
RESIDENTIAL_SAas a proxy geolocation option for automations targeting Saudi Arabian websites. -
Workflow-Level Error Code Mapping — Workflows now support an
error_code_mappingfield that all blocks inherit automatically. Block-level mappings still take precedence, giving you a single place to define default error handling without repeating it on every block. (#5506) - AI Summarize for Workflow Run Outputs — A magic-wand “Summarize with AI” button now appears next to block and workflow run output sections, generating a plain-language summary of raw JSON output on demand. (#5556)
-
Reset Browser Profile API — A new
POST /workflows/{workflow_permanent_id}/browser_session/reset_profileendpoint clears a corrupted persisted browser session so the next run starts from a fresh browser state. (#5544) - MCP OAuth for Remote Clients — MCP clients (e.g. Claude Code, Codex) can now complete browser-based OAuth to authenticate with Skyvern without getting stuck in redirect chains. (#5558)
-
OpenClaw MCP Setup —
skyvern setup openclawandskyvern mcp switchnow support OpenClaw as an MCP client target for both remote and local stdio configurations. (#5536)
Improvements
- Smarter Extraction Cache Keys — The extraction cache now normalizes session-volatile tokens (random UUIDs, CSRF values, nonce query params, timestamps) before hashing cache keys. Semantically identical page visits now share cached extraction results, improving cache hit rates across workflow re-runs. (#5504)
-
Reduced Rate-Limit Errors on Extraction Prompts — Extraction prompts are now capped in size before being sent to the LLM. Oversized
previous_extracted_information,extracted_information_schema, and element trees are truncated rather than sent whole, significantly reducing429 RESOURCE_EXHAUSTEDerrors on high-volume workflows. (#5502) - Cross-Run Extraction Cache — Extraction results are now cached in Redis across workflow runs, scoped to the workflow. Recurring scheduled workflows skip redundant LLM calls when the page content hasn’t changed. (#5562)
- Copilot Survives Tab Switches and Reconnects — The workflow copilot agent now runs to completion even if the browser tab is closed or the connection drops mid-request, and the AI reply is persisted so it appears when you reconnect. (#5560)
- Copilot Fails Fast on Unresolvable URLs — The workflow copilot now immediately surfaces the real error (e.g. DNS resolution failure) and stops retrying when a URL cannot be reached, rather than reporting success. (#5563)
Bug fixes
- Fixed CSV parsing failing on files whose first header row exceeded ~1 MB, causing valid wide-format CSVs to be rejected with “Could not determine delimiter”. (#5510)
- Fixed a browser automation crash on sites with cross-origin stylesheets (e.g. MUI-based apps). CSS hover styles are now parsed entirely in memory without modifying the DOM, preventing React reconciliation errors that caused the agent to loop until max steps. (#5508)
- Fixed context-window overflow failures being misdiagnosed. Steps that fail due to oversized input are now correctly counted and short-circuit to a clear
LLM_ERRORfailure reason instead of triggering a redundant LLM-based failure analysis. (#5507) - Fixed workflow file-download blocks losing their configured
download_suffixat task finalization, causing downloaded files to be persisted without the expected filename suffix. (#5499) - Fixed cached scripts for non-ATS workflows incorrectly generating
fill_form()calls, which defeated the performance benefits of caching by delegating back to AI at runtime. (#5497) - Fixed the pagination navigator on the Workflow Past Runs and Run History pages being right-aligned instead of centered.
- Fixed run recordings missing an end timestamp and broken scrubbing. Recordings are now finalized with a stream-copy remux so players correctly show duration and support seeking. (#5551)
- Fixed tag input fields (e.g. skill set fields on job application forms) not selecting values from the dropdown. These fields are now correctly treated as auto-completion inputs. (#5557)
- Fixed per-step video sync spawning a redundant ffmpeg process on every step, causing CPU spikes and log noise. (#5559)
- Fixed workflow parameter edit and delete buttons being hidden when a parameter name was too long.
- Fixed webhook delivery failing silently when a stored webhook URL had a leading or trailing space. (#5550)
Week of February 23, 2026
Adaptive caching, Workflow Trigger block, CLI signup, reserved parameters, new LLM models
New features
- Adaptive Caching (Script Generation) — Skyvern can now learn from repeated workflow runs and generate cached scripts that speed up future executions. When a block runs successfully, Skyvern records a reusable script and replays it on subsequent runs, falling back to the AI agent only if the script fails. (#4908, #4916, #4917, #4920, #4922, #4931)
- Workflow Trigger Block — A new block type that lets one workflow trigger another from within the workflow editor. Chain workflows together as building blocks for complex automations. (#4885)
- Browser-based CLI Signup — New users can sign up for Skyvern Cloud directly from the CLI. Running
skyvern signupopens a browser flow that creates your account and stores your API key locally. (#4925) - Interactive ngrok Tunnel —
skyvern browser servecan now create an ngrok tunnel automatically, making it easy to expose your local browser to Skyvern Cloud without manual network configuration. (#4924) - South Korea Proxy Location — Added
RESIDENTIAL_KRas a proxy geolocation option for automations targeting South Korean websites. (#4918) - Downloaded Files Tab — Browser session detail pages now include a Downloaded Files tab for viewing and accessing files captured during a session. (#4911)
- CDP Proxy Authentication — Remote browser connections now support authenticated proxies via the CDP
Fetch.authRequiredprotocol. (#4936) - Remote Browser Download Interception — File downloads triggered by XHR requests and other non-navigation events are now captured when using remote CDP browser connections. (#4906, #4921, #4934)
current_dateReserved Parameter — Workflows now have a built-incurrent_dateparameter that resolves to today’s date automatically. (#4854)- Reserved Parameters in Block Editor — The workflow block parameter picker now shows reserved system parameters, making them discoverable without memorizing names. (#4857)
- Natural Language Loop
data_schema— Loop blocks driven by natural language extraction now support adata_schemafield for consistent output structure. (#4851) - Gemini 3.1 Pro and Inception Mercury-2 — Two new LLM engine options for your automations. (#4847)
- MCP Server on API Service — The MCP remote server is now mounted at
/mcpon the existing API, eliminating the need for a separate process. (#4843)
Improvements
- Renamed “Login-Free” to “Saved Profile” — Clearer terminology throughout the UI. Browser session checkbox wording has also been improved. (#4914)
- TOTP Verification Improvements — Better timer handling, expired code retry, 2FA banner suppression, and more reliable goal-text extraction during TOTP flows. (#4860)
- TOTP Webhook includes
workflow_permanent_id— Easier to identify which workflow is requesting a 2FA code. (#4871) - Consolidated Gemini 3 Pro Model Key —
VERTEX_GEMINI_3_PROnow auto-resolves to the latest version, so you no longer need to update config when Google releases point versions. (#4926) - Browser Rotation for Remote Connections — Remote browser environments now support context rotation, improving reliability for long-running automations. (#4929)
- Workflow save validation (HTTP 422) now returns clear, field-level error messages. (#4852)
- Browser launch errors now show actionable messages instead of raw exceptions. (#4844)
- Cloud LLM fallback overrides are now properly applied when selecting models. (#4839)
Bug fixes
- Fixed a race condition where final task status could be overwritten by a late-arriving non-final status. (#4928)
- Conditional blocks no longer crash when evaluating empty or null parameters. (#4907)
- Browser sessions using
FORCE_BROWSER_SESSIONno longer time out prematurely. (#4903) - SVG-based captcha text is now correctly extracted during DOM scraping. (#4880)
- MCP remote tool handlers now route to the correct API environment. (#4869)
- MCP remote auth token comparison no longer fails on encrypted tokens. (#4863)
skyvern quickstartnow handles local PostgreSQL without a pre-existingskyvernrole. (#4878)- WebSocket URLs through ngrok tunnels now rewrite correctly for live browser streaming. (#4927)
- Conditional blocks no longer crash when all branches use Jinja templates. (#4849)
- Conditional blocks no longer misinterpret resolved Jinja template variables. (#4841)
Week of February 16, 2026
Unified Browser Task block, browser profile testing, 2FA detection, Skills package, Claude Opus 4.6, MCP block discovery
New features
- Browser Profile Testing UI (Frontend) — The Browsers page now lets you launch a test run against a saved browser profile to confirm its login state is still valid before scheduling production workflows. (#4833)
- 2FA Verification Code UI and Notifications — When a workflow pauses for a 2FA code, the UI now shows a clear prompt and pushes a notification so you don’t miss it. (#4787)
- Gated Admin Impersonation for MCP API Keys — Adds gated admin controls so support engineers can impersonate an organization scope when troubleshooting MCP-based automations, with audit-friendly access controls. (#4822)
- Browser Profile Testing — Test browser profiles directly from the UI to verify that saved login sessions are still valid. Workflows can also run with a saved browser profile, enabling login-free automations that reuse authenticated sessions. (#4818)
- Skyvern Skills Package — The new
skyvern skillCLI command provides pre-built workflow templates and reference documentation for common automation patterns. (#4817) - Clear Cached Scripts API — A new endpoint lets you clear cached automation scripts for a workflow when a target website changes and you want to force Skyvern to re-learn. (#4809)
- Automatic 2FA Detection Without TOTP Credentials — Skyvern now detects when a website asks for a 2FA code even without pre-configured TOTP credentials. The system pauses and waits for you to provide the code via the UI or webhook. (#4786)
- Full CLI Parity with MCP — The CLI now supports browser session management, credential management, block operations, and enhanced workflow commands. Everything available through MCP is now accessible from the command line. (#4789, #4792, #4793)
- Claude Opus 4.6 CUA Support — Anthropic’s Claude Opus 4.6 is now available as a Computer Use Agent model for driving browser interactions. (#4780)
- Anthropic Claude Opus 4.6 — Added Claude Opus 4.6 as an available LLM engine for web automation tasks. (#4777, #4778)
- Unified Browser Task Block — The Navigation V1 and Task V2 blocks have been merged into a single Browser Task block. The block now exposes both engines as a dropdown, simplifying the workflow editor and reducing block-type confusion. (#4695)
- Block Discovery MCP Tools — Added MCP tools that let AI assistants enumerate available block types and their schemas, plus richer instructions for building workflows through MCP. (#4683)
- Edit Existing Credentials API — A new endpoint lets you update credential values without deleting and recreating them, preserving credential IDs across changes. (#4693)
- Filter Workflow Runs by Error Code and Search Key — The workflow runs list endpoint now supports
error_codeandsearch_keyquery parameters for narrowing down failed runs. (#4694) - GPT-5 Mini in Model Selector — GPT-5 Mini is now selectable as an LLM engine. GPT-5 has been hidden in favor of more reliable variants. (#4686)
Improvements
- 2FA Backend Cleanup — Refactored the 2FA pipeline to make code delivery more reliable across both the UI form and the API endpoint. (#4826)
- Environment Variables Override Mounted API Keys — In Skyvern’s Streamlit-based deployment, env vars now take precedence over keys baked into the image, making local overrides simpler. (#4824)
- The workflow run timeline now properly displays loop iterations and conditional branches, making complex runs easier to debug. (#4782)
- Block Failure Reasons Surfaced in UI — Every block type now shows its
failure_reasonin the run timeline, making debugging non-obvious failures faster. (#4672) - Webhook Payload Truncation in Logs — Large webhook payloads are now truncated in log entries, keeping logs readable without losing context. (#4701)
Bug fixes
- When both a TOTP credential and a webhook are configured for 2FA, the credential is now correctly prioritized. (#4811)
- Fixed conditional blocks evaluating the wrong value after Jinja template rendering. (#4801)
- Fixed MFA resolution priority when both TOTP credentials and webhooks are configured. (#4800)
- Fixed the cursor jumping to the end while editing conditional expressions in the workflow editor. (#4682)
- Fixed dotted Jinja variables (e.g.
{{ block_output.field }}) rendering incorrectly in the expression preview. (#4684) - The API now returns 404 instead of 500 when a workflow is not found. (#4699)
New features
- Conditional Block Caching — The script cache now supports Conditional blocks, so workflows that branch based on page state can replay from cache instead of re-running the AI agent. (#4642)
- OpenTelemetry Backend — Skyvern can now export metrics, traces, and logs to any OTEL-compatible collector for centralized observability. (#4632)
- Workflow API Route Reorganization — Workflow API endpoints have been split into focused routers, making the OpenAPI surface easier to navigate. (#4628)
Improvements
- Workflow Copilot Auto-Opens for Empty Workflows — When you create a new workflow with no blocks yet, the Workflow Copilot opens by default to help you get started. (#4625)
- Run Workflow Button Moved to Top — The Run button now lives at the top of the workflow editor for easier access. (#4626)
- Skip LLM for Single-Match Location Autocomplete — Location autocomplete now skips the LLM call when only one option matches the user’s input, reducing cost and latency. (#4631)
- Improved Version History Icon — The workflow version history button now uses an icon that better represents document versions. (#4640)
Bug fixes
- Fixed
ForLoopblocks failing to execute under script caching (regression from v1.0.12). (#4630) - Fixed
ActionDragPathsubscript error in CUA drag-action parsing. (#4623) - Fixed cron-scheduled tasks getting stuck with “task not found” errors. (#4627)
- Fixed parameter creation dialog not clearing default-value state when switching to credential type. (#4622)
- Fixed debugger loop-block visual overlap when the status row appeared. (#4641)
New features
- Task V2 Termination — Task V2 (the planner-agent-validator system) can now be terminated mid-run via API, matching the cancel behavior already available for Task V1. (#4589)
-
ForLoop Block Caching — Cached scripts now support
ForLoopblocks. Workflows that iterate over lists can replay from cache after the first successful run. (#4600) - Conditional Block Caching — Initial support for caching workflows that include conditional branching. (#4603)
-
run_withParameter for Run Task — Therun_taskendpoint now accepts arun_withparameter so you can target Task V2 (or future variants) without changing the endpoint. (#4576) -
skyvern run devCommand — A new CLI command spins up a Superset workspace alongside the standard dev environment for local analytics work. (#4593)
Improvements
- All Branch Evaluations Shown in Conditional Block Timeline — The run timeline now shows every conditional branch’s evaluation result, not just the chosen one — useful when debugging “why did it pick that branch?” (#4577)
- Sidebar Expand/Collapse Icon — Replaced the pin icon with a chevron, matching common conventions. (#4586)
- PDF Parsing Token Cap — PDF parsing now caps token volume per request to avoid total failure on very large documents. (#4602)
-
DATABASE_STRINGParameter on Quickstart —skyvern quickstartnow accepts aDATABASE_STRINGargument for explicit DB connection configuration. (#4580)
Bug fixes
New features
- Workflow Copilot Generally Available — The Workflow Copilot is now enabled for all users. Describe what you want in natural language and it generates a multi-block workflow you can edit. (#4533)
- Browser Sessions v2 Frontend — The new browser session management UI lands on the Browsers page, building on the v2 backend shipped in v1.0.10. (#4514)
-
TOTP Endpoint OTP Type Filter — The TOTP listing endpoint now accepts an
otp_typequery parameter for filtering numeric codes vs. magic links. (#4529) - Mintlify Documentation Setup — Skyvern’s documentation site moves to Mintlify, with redirects for the legacy Fern URLs. (#4516)
Improvements
-
Async File I/O via aiofiles — Replaced blocking file I/O with
aiofilesthroughout the agent runtime, improving throughput on I/O-heavy workloads. (#4520) -
Cached Experimentation Provider TTL —
BaseExperimentationProvidernow caches feature-flag lookups with a per-item TTL, reducing pressure on the experimentation backend. (#4536, #4540)
Bug fixes
- Fixed
ai_fallbacknot being read correctly from the database for cached workflow runs. (#4524) - Fixed iframe-tree extraction crashing when the page raised a transient exception. (#4530)
- Fixed the workflow version comparison view ordering versions on the wrong sides. (#4531)
- Fixed the workflow history panel scroll behavior in debug mode. (#4532)
- Fixed
TypeErrorwhen comparing offset-naive and offset-aware datetimes during workflow scheduling. (#4534) - Fixed schema regeneration overwriting unchanged block field names. (#4535)
- Fixed
uvicornreload breaking on Windows due to async event loop policy. (#4538)
Week of January 19, 2026
Browser Sessions v2, Print PDF block, Copilot streaming, general text CAPTCHA, HTTP file downloads
New features
- Browser Sessions v2 (Backend) — A new persistent browser session architecture with cleaner lifecycle management, better resource reuse, and improved reliability for long-running automations. The frontend follows in v1.0.11. (#4515)
- General Text CAPTCHA Solver — Skyvern can now solve a wider range of text-based CAPTCHAs without site-specific configuration. (#4517)
- TOTP Webhook Retries — TOTP webhook delivery now retries automatically on transient failures, reducing the rate of “no code received” errors during 2FA flows. (#4518)
- Block-Label Validation in
run_blocks— Therun_blocksendpoint now validates block labels up front, returning a clear error instead of failing partway through execution. (#4500) - Print PDF Block — A new workflow block that prints the current page to PDF and saves it to your run’s downloaded files, useful for archiving receipts, invoices, and reports. (#4452)
- HTTP File Downloads — The HTTP Request block can now download files directly via HTTP (not just GET JSON), enabling workflows that pull artifacts from authenticated APIs. (#4440)
- Workflow Copilot Streaming with Cancel — The Workflow Copilot now streams its responses with a cancel button, so you can stop generation mid-stream if you want to refine your prompt. (#4437, #4456)
- “Execute on Any Outcome” (Finally) Block Option — Blocks can now be configured to run regardless of whether prior blocks succeeded, enabling cleanup steps and “always send report” workflows. (#4443)
- Persistent Browser Session Uptime Billing — Billing v2 now meters persistent browser session uptime separately, with PostHog feature flags controlling rollout. (#4444)
- GPT-5 Mini Flex Engine — Added GPT-5 Mini Flex as an available LLM engine. (#4432)
- Clipboard Copy over HTTP — The browser now exposes clipboard copy functionality that works in HTTP-served browser sessions, not just HTTPS. (#4446)
Improvements
- Confirmation Dialog Shows Affected Blocks — Deleting a parameter or block now lists every block that references it, so you don’t accidentally break downstream logic. (#4519)
- Workflow Updates Return 409 on Race — Concurrent workflow updates now return HTTP 409 instead of silently overwriting each other. (#4510)
- Tiktoken Caching — Tokenizer instances are now cached, cutting per-step overhead on token counting. (#4521)
- HTTP Block Boolean and Integer Templates — The HTTP Request block now correctly passes boolean and integer template values without coercing them to strings. (#4435)
- Bitwarden and Azure Vault Tooltips — Added inline help tooltips explaining how to set up Bitwarden and Azure Key Vault credential sources. (#4447)
- Smaller S3 Objects Use STANDARD Tier — Storage cost optimization: small artifacts now use STANDARD instead of GLACIER_IR. (#4453)
- Reduced Max SVG Parsing — Lowered the SVG parsing cap to prevent runaway memory usage on pathological pages. (#4430)
Bug fixes
New features
- Workflow Copilot v1 — The first version of the Workflow Copilot ships behind a feature flag. Describe a workflow in natural language and the copilot generates blocks, parameters, and connections you can edit on the canvas. (#4401, #4413, #4416, #4423)
- Per-Action Credit Billing (Billing v2) — A new billing model meters credits per browser action instead of per step, giving more predictable cost behavior on action-heavy workflows. (#4398)
- Azure Key Vault Secret Storage — Skyvern can now store and retrieve credentials from Azure Key Vault as a managed secret backend. (#4384)
- Conditional Inside Conditional — Conditional blocks can now be nested inside other conditional blocks for richer branching logic. (#4362)
-
Reference Workflow Output in Sub-Blocks — Blocks can now reference upstream
workflow_outputvariables, simplifying multi-stage workflows. (#4414) - Browser Type Choice for Persistent Browser Sessions — Persistent sessions now let you choose the browser type (Chromium, etc.) at create time. (#4406)
- Browser Extension Support for PBS — Persistent browser sessions can launch with a specified browser extension. (#4364)
-
Step Count in Webhooks and Run Payloads — Webhook payloads and
get_runresponses now includestep_countfor cost reconciliation. (#4410) - PH (Philippines) Proxy Location — Added Philippines as a residential proxy option. (#4395)
- TextPromptBlock Artifact Storage — TextPromptBlock now saves the LLM prompt and response as run artifacts for debugging. (#4361)
- Action–Screenshot Linking — Actions in the run timeline now link directly to the screenshot captured at the time of execution, so you can see what the agent saw when it made each decision. (#4403, #4404)
Improvements
- Clearer Errors for Missing Workflow Parameters — Missing required parameters now return a clear HTTP 400 instead of HTTP 500. (#4380)
-
Empty-String Defaults for String Parameters — Workflow string parameters without explicit defaults now initialize to
""instead ofnull, matching common Jinja-template expectations. (#4382) -
HAR Files Use Zstd Compression — HAR archives now ship as
.har.zst, cutting storage size significantly with no fidelity loss. (#4420) -
Hydrated Workflow Title in Run Responses —
workflow_runresponses now include the workflow title for cleaner logging without an extra API call. (#4363) -
Cached Workflow-Script Lookup —
get_workflow_script_by_cache_key_valueis now cached and post-action execution can re-enable code generation. (#4385) - Updated Datacenter Proxy Provider — Datacenter proxies now route through a new provider with broader IP coverage. (#4386)
- Improved Conditional NL Branch Tooltip — Updated tooltip and placeholder text on conditional blocks to better describe how natural-language branches are evaluated. (#4368, #4369)
-
OLLAMA Vision Support Toggle — Added
OLLAMA_SUPPORTS_VISIONenv var to enable vision-capable Ollama models. (#4351)
Bug fixes
- Fixed older credentials becoming inaccessible after an internal schema change. (#4358)
- Fixed scrolling actions misfiring on pages with overflow-hidden ancestors. (#4389)
- Fixed
close_browser_on_completionnot being honored during workflow run cleanup. (#4381) - Fixed run-ID generation collisions under high concurrency. (#4383)
- Fixed empty browser-extension config crashing PBS launch. (#4365)
- Fixed wrong screenshots being attached to certain actions. (#4400)
- Fixed nested DB connection management in workflow execution. (#4402, #4411)
- Fixed
local variable not definederrors in cached-action execution. (#4376) - Fixed artifacts endpoint incorrectly including
api/in the path. (#4417) - Fixed S3 storage class selection for small objects (
_get_storage_class_for_org). (#4424) - Fixed cached actions executing without a brief settling delay. (#4418)

