Shopify Dev Dashboard
The website where your apps, versions and test stores live. What each section does, how it relates to the code on your laptop, and which things can only be done here.
What it is
Your code lives on your computer and your server. But Shopify also needs its own record of your app — its name, its permissions, its URLs, who may install it. That record lives in the Dev Dashboard.
The dashboard is the middle piece. Without a record there, a store cannot install anything.
Almost everything can be driven from the CLI instead, and usually should be. But some things — creating the app, choosing distribution, viewing logs — only happen here.
Even after your organization moves to the Dev Dashboard, your App Store listing and its pricing plans stay in the Partner Dashboard. App configuration, monitoring and logs move; the listing does not.
If you are hunting for pricing settings in the Dev Dashboard, that is why they are not there. See Note 16.
This used to be the Partner Dashboard. The Dev Dashboard is its newer replacement, focused on app development. Depending on your account you may still see the older interface, or links that say "Partner Dashboard" — the concepts below apply to both, even if a menu sits somewhere slightly different.
Organizations and people
Everything hangs off an organization — your company's container for apps, stores and team members. You may belong to more than one.
shopify organization list # which ones can I see?
Access is controlled by roles, so a new team member sees only what they should:
| Role | Can do |
|---|---|
| Organization administrator | Everything, including billing and managing people. |
| App developer | Build and manage apps; create and manage dev stores. No production store data, no financials, no user management. |
| Store administrator | Manage the organization's stores. |
| Collaborator access | Log into merchant stores you have been granted access to. |
App developer is the role you want for someone joining to write code. It gives them the dashboard and dev stores without exposing real merchant data or finances.
Apps
Under Apps you will find every app your organization owns. Each has its own client ID and its own settings — which is why a dev app and a production app are two separate entries.
Two ways to create one
| Way | Good for |
|---|---|
Shopify CLI — shopify app init, or shopify app config link for an existing project | Any app you are writing code for. Configuration lives in your TOML, in version control. |
| Dev Dashboard — Apps → Create app → Start from Dev Dashboard | Quick integrations with no repo: a script that needs API access, connecting an existing system. |
If you are building the kind of app this series describes — and especially if it may go to the App Store — create it with the CLI. Your settings then live in a file you can review and roll back, instead of only in a web form.
Inside an app
- Home — the overview, with the Distribution card and an Install app button for putting it on one of your own stores.
- Versions — every released snapshot of the app's settings.
- Distribution — public or custom (Note 13).
- Monitoring / logs — webhook and function deliveries, useful when something is not arriving.
Versions
A version is a snapshot of your app's configuration — URLs, scopes, webhook topics, extensions. It is not your code.
Running shopify app deploy creates a new version and releases it. You can also create one by hand in the dashboard: set the app URL, pick a webhooks API version, choose scopes, then Release.
A freshly created app with no released version cannot be installed anywhere. If an install link does nothing, check that a version exists and is released.
Because versions are kept, you can roll back a bad settings change:
shopify app versions list
shopify app release --version=<previous>
Release a version with extra permissions and the stores that already have your app installed do not get them silently. Each merchant must approve the new scopes in their admin.
So a feature needing a new scope is not live the moment you deploy — it is live when the merchant clicks approve. Plan for that gap, and do not schedule it for a Friday.
Stores
Three different kinds, and picking the wrong one causes real problems.
| Dev store | Client transfer store | Collaboration | |
|---|---|---|---|
| Who owns it | You | You, then the merchant | The merchant |
| For | Building and testing | Building a store to hand over | Working on a live store |
| Real transactions | No | No | Yes |
| Transferable | No | Yes | Already theirs |
Dev stores are where you will spend your time: free, disposable, no real money, and you can install unreleased apps on them.
# create one from the terminal
shopify store create dev --name "My test shop" --demo-data
# with a specific plan and country
shopify store create dev --name "Plus testing" --plan plus --country CA --demo-data
shopify store list # what do I have?
shopify store info
shopify store open
--demo-data
An empty store hides bugs. Real-looking products, variants and orders surface pagination problems and edge cases immediately — exactly the kind of thing that otherwise only appears on a merchant's store.
Dev stores cannot take real payments, and some features behave differently or are limited. Passing every test on a dev store is necessary, not sufficient — plan a careful first install on a real store too.
How the dashboard and the CLI stay in sync
This is the part that confuses people: the same settings exist in two places.
And in reverse: config pull brings dashboard changes back into your file.
shopify app config link # connect this folder to a dashboard app
shopify app config pull # dashboard → your TOML
shopify app deploy # your TOML → dashboard
shopify app info # which app am I linked to?
Change a scope in the dashboard, then deploy from your laptop, and your TOML overwrites the dashboard edit. It looks like your change "disappeared".
Pick one source of truth. For an app with a repo, that is the TOML — make every change there and deploy. If someone does edit in the dashboard, run shopify app config pull before your next deploy.
Dev previews
When you run shopify app dev, your local app is previewed on a dev store without creating a released version. That is how you test freely without touching what merchants see.
Stopping shopify app dev does not remove the preview from the store — your local configuration stays active there until it is cleaned or the app is uninstalled.
shopify app dev clean
Cleaning restores the released version. Note that anything which existed only in the preview is removed along with its data — so if you configured something during a preview and want to keep it, put it in a real version first.
Inside a dev store's admin there is also a Dev Console showing active previews, who created them, and buttons to clean up, uninstall, or open the app in the Dev Dashboard.
Setting up from scratch
- Create or join an organization.
- Get the App developer role (or higher).
- Create a dev store:
shopify store create dev --name "..." --demo-data - Create the app:
shopify app init, orshopify app config linkfor an existing repo. - Run
shopify app devand install it on your dev store when prompted. - Build. Deploy settings with
shopify app deploywhen the TOML changes. - When it is ready for real merchants, choose a distribution method (Note 13).
Common questions
Do I need a Partner account to build apps?
You need access to an organization with app development permissions. That is usually a partner organization, but a merchant organization can also grant someone the App developer role — useful when a shop builds its own tooling.
Why do I have several apps for one product?
Because development and production should not share settings, URLs or secrets. Separate apps mean testing can never affect a live merchant. Keep one TOML per app and switch with shopify app config use.
My install link does nothing
Usually there is no released version yet, or the distribution method has not been chosen. Check the app's Home and Versions.
Where do I see whether webhooks are arriving?
Monitoring and logs in the Dev Dashboard, or shopify app logs in the terminal. Between them you can tell "Shopify never sent it" from "my handler failed".
Can I delete a dev store?
Yes — in the dashboard or with shopify store delete. They are disposable by design; when one gets messy, make a fresh one.
Cheat sheet
# orientation
shopify organization list which orgs can I see
shopify app info which app is this folder linked to
shopify store list my stores
# stores
shopify store create dev --name "X" --demo-data --plan plus
shopify store open · store info · store delete
# app ↔ dashboard
shopify app config link connect folder to an app
shopify app config pull dashboard → TOML
shopify app deploy TOML → dashboard (new version)
shopify app versions list
shopify app release --version= roll back settings
# previews
shopify app dev preview without releasing
shopify app dev clean remove the preview
# remember
a version = settings snapshot, NOT your code
no released version → cannot be installed
new scopes → each merchant must approve
edit settings in ONE place (the TOML)