Getting started with POS UI extensions
Learn how to prepare your development environment to start building POS UI extensions.
Anchor to What you'll learnWhat you'll learn
In this tutorial, you'll learn how to do the following tasks:
- Generate a POS UI extension using Shopify CLI.
- Run the local extension in your development store.
- Test your app in Shopify POS.
Anchor to RequirementsRequirements
- Create a development store.
- Install or migrate to Shopify CLI version 3.0 or higher.
- Scaffold an app.
- Embed your app in Shopify POS.
Anchor to Step 1: Generate a POS UI extensionStep 1: Generate a POS UI extension
-
Navigate to your app directory.
-
Ensure Shopify CLI is using the most up to date versions.
-
Generate your POS UI extension template.
-
Select
POS UI
under the Point-of-Sale menu. -
Give your extension a working name.
-
Select the programming language that you want to work in.
Anchor to Generate a POS UI extensionGenerate a POS UI extension
Anchor to Step 2: Run the local extension in your development storeStep 2: Run the local extension in your development store
After you create your extension, you can start a local development server so that you can run your extension in your development store.
When you start the server, Shopify CLI uses Cloudflare to create a secure tunnel. Cloudflare gives your app extension a unique URL.
-
Install your project's dependencies using the command from your package manager of choice.
-
Start your local server for your extension in the app directory.
-
Follow the prompts to associate your extension with your app and development store. Your development server should now be running.

To learn more about the processes that execute when you run dev
, refer to the list of Shopify CLI commands.
Anchor to Install dependencies and start a local development serverInstall dependencies and start a local development server
Anchor to yarnyarn
Anchor to Step 3: Install your app and preview your extensionStep 3: Install your app and preview your extension
You can install your app and preview your extension in Shopify POS from the developer console.
-
With your server running, press
p
to open the developer console. -
To preview your extension, select the View mobile button. This generates a deep link or QR code.
-
Using a mobile device with the Shopify POS app installed, scan the QR code. This opens Shopify POS on your device and installs the extension in preview mode. If your extension's URL changes, you will need to re-add the smart grid extension tile.
Tip
If you're using Android and your extension isn't loading, then refer to the troubleshooting guide.

Anchor to Step 4: Leverage developer tools to troubleshoot and refineStep 4: Leverage developer tools to troubleshoot and refine
The POS Dev Console provides quick access to extension management during your development process.
To access the POS Dev Console, tap the app icon in the global navigation on the left on tablet experiences, and via the More menu on mobile experiences.
After installing your extension, you may use the console to:
- Check for and identify errors which will appear next to your extension's name
- Toggle App persistence to keep your extension active between POS restarts
- Preview extension targets without needing to tap through to target locations and
- Remove dev extensions to uninstall all dev extensions

Anchor to Optional ESLint configurationOptional ESLint configuration
If your app is using ESLint, update your configuration to include the new global `shopify` object.
Anchor to UpdatingUpdating
You can refer to the developer changelog to see if you are using the latest one.
Merchants can manage their POS UI extensions across locations from the POS channel. You can direct merchants to this capability in your merchant facing communication: https://admin.shopify.com/store/{shop}/apps/point-of-sale-channel/settings/pos-ui-extensions
Anchor to Next stepsNext steps
- Follow along with an example discount extension.
- Explore the full reference of Shopify retail APIs and components that you can use for your POS UI extension.
- Learn how to deploy and release an app extension.