Skip to main content
When a bundle runs with meta.atcOverride, the host intercepts the theme’s own add-to-cart via fetch, XHR, and DOM click/submit interceptors. Each step of that pipeline is a resolver stage you can wrap:
Every resolver receives (ctx, next): next() runs the rest of the chain and ultimately Knit’s built-in behavior — call it and adjust, rather than reimplementing a stage. If your resolver throws, times out, or returns a shape the host rejects, the host records a warning and falls through to next(), so a broken resolver degrades to default behavior instead of breaking the cart.
Override is designed for a main productSingle product plus optional collectionMulti picks. Collection-only bundles are not a supported override shape.
Branch the renderer footer on snapshot.meta.atcOverride — omit your own ATC button when it is true. See Renderer function and Shopify integration.