Scaffold the Function extension with the Shopify CLI using `shopify app generate extension` and select the delivery customization type.
Implement the Wasm module logic (rename/hide/reorder delivery options) keeping total execution within the ~11M Wasm instruction limit.
Deploy the app to get a stable function handle; from API version 2025-10 onward use the function handle directly instead of querying for a function ID.
Call the `deliveryCustomizationCreate` mutation with `functionHandle`, `title`, and `enabled: true` to create and immediately activate the customization in one step.
To update an existing customization's active state, call `deliveryCustomizationUpdate` with `enabled: true` or `enabled: false`; there is no separate activation mutation.
Verify activation by querying `deliveryCustomizations` and checking that `enabled` is true on the returned object.
Known gotchas
There is no mutation named `deliveryCustomizationActivate` or `deliveryCustomizationActivation` — activation is controlled solely by the `enabled` field on create/update mutations.
Each API type supports up to 25 active customizations per store (raised from 5 in May 2025); exceeding this limit returns a user error, not a silent failure.
The Function resource limit is an instruction count (~11M Wasm instructions), not a CPU-millisecond budget — profile against instruction count, not wall time.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp