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.snapshot.meta.atcOverride — omit your own ATC button when it is true. See Renderer function and Shopify integration.