June 23, 2026 · 4 min read · Kilat Labs

Shopify Scripts end June 30: move to Functions

Shopify Scripts stop working on June 30, 2026 with no extension, leaving Plus stores about a week to move discount, shipping and payment logic to Functions.

Shopify Scripts stop working on June 30, 2026, and there is no further extension. For any Shopify Plus store still running checkout logic through the Script Editor, that leaves about a week to move discounts, shipping rules and payment customizations to Shopify Functions before they go dark. This is the deadline that kept slipping for two years. It is now real, and the editing window is already closed.

What changed

Shopify Scripts will be removed on June 30, 2026, and as of April 15, 2026 you can no longer edit or publish them. The Shopify changelog states both dates: existing published Scripts keep running until the cutoff, but the Script Editor is frozen, so you cannot patch a Script that breaks in the final stretch. The deadline itself is not new. Shopify first set it at August 28, 2025, then pushed it to June 30, 2026, which is the date the official transition guide now states plainly. The Script Editor app has already been pulled from the App Store. One detail decides who needs to act: Scripts is a Shopify Plus feature, so the stores most likely to lean on custom checkout logic are exactly the ones on the clock.

Scripts vs Functions: what actually replaces what

Shopify Functions is the direct replacement for Scripts, mapped one customization type at a time. Per Shopify's transition documentation, payment scripts move to the Payment Customizations API, shipping scripts to the Delivery Customizations API, and line item and discount scripts to the Discount Functions APIs. The mechanics differ in ways that matter for a build. Scripts ran Ruby inside Shopify's checkout; Functions run as compiled WebAssembly written in JavaScript or Rust, sandboxed and shipped as a versioned app extension you deploy with the CLI. That is an upgrade in testability and rollback, but it is not a copy and paste of your old Ruby. A Function is real code in your repo, which means migration is an engineering task with a review and a deploy, not a quick edit in an admin text box. Functions also cover ground Scripts never could, including Cart Transform, Checkout Validation and Order Routing, so a careful migration is a chance to consolidate logic rather than port it line for line.

Why it matters for premium studios in Asia

For a studio building premium Shopify Plus storefronts, this is a hard dependency audit disguised as a deadline. A high-volume merchant in Jakarta or Singapore running tiered B2B pricing, free-shipping thresholds or a hide-payment-method rule almost certainly has that logic in a Script today, and a Script that silently stops on June 30 is a checkout that quietly starts charging the wrong totals. The risk is not theoretical: pricing and shipping are the parts of checkout customers notice immediately, and a regression there reads as a broken store, not a missed migration. The work sits squarely in headless and Shopify Plus commerce, and because Functions are deployed and versioned like any other code, it also pulls checkout logic into the same review and automation pipeline as the rest of the stack instead of living in an admin panel no one tests. That is the real win hiding inside an annoying deadline. Logic that was invisible and unversioned becomes code you can read, test and roll back.

What we would change this week

Audit every live Script now, then prioritise by checkout impact, not by how easy each one looks. Pull the full list from the Script Editor while it is still readable, because after the cutoff that inventory is gone. Sort it into the three buckets Shopify defined, payment, shipping and discount, and flag anything touching price, because a wrong total is the failure customers see first. For each Script, decide between a prebuilt Function app from the App Store and a custom Function: a standard free-shipping threshold is often a configured app, while bespoke B2B pricing usually needs a written Function. Build and test the replacements in a development store with realistic carts before the merchant's traffic peak, and keep the old Script and the new Function running together right up to June 30, since Shopify allows both to operate until the cutoff. If you are scoping a headless checkout build this quarter, treat Functions as the default from line one and do not write a single new Script, since the Editor is already closed to edits. The honest framing for any client still on Scripts is simple: this is not optional maintenance, it is a dated outage you can prevent.

Where to dig deeper

Related reading

Want this done right on your store?

We engineer premium e-commerce end-to-end, Magento Hyvä, Shopify Plus, mobile and automation. A two-week store audit turns ideas like the one above into real numbers and a prioritised roadmap for your store.

Get new posts in your inbox

Two a month at most. Hyvä, automation, motion budgets and the boring parts of shipping. No filler, no spam.

We use your address only to send new posts. Unsubscribe any time.