---
api_name: shopify-cli
source_url:
html: https://shopify.dev/docs/api/shopify-cli/app?itcat=partner_blog&itterm=whats_new_jan_2023
md: https://shopify.dev/docs/api/shopify-cli/app.md?itcat=partner_blog&itterm=whats_new_jan_2023
---
# Shopify CLI App commands
[app build](https://shopify.dev/docs/api/shopify-cli/app/app-build)
[This command executes the build script specified in the element's TOML file. You can specify a custom script in the file. To learn about configuration files in Shopify apps, refer to App configuration. If you're building a theme app extension, then running the `build` command runs Theme Check against your extension to ensure that it's valid.](https://shopify.dev/docs/api/shopify-cli/app/app-build)
[app config link](https://shopify.dev/docs/api/shopify-cli/app/app-config-link)
[Pulls app configuration from the Partner Dashboard and creates or overwrites a configuration file. You can create a new app with this command to start with a default configuration file. For more information on the format of the created TOML configuration file, refer to the App configuration page.](https://shopify.dev/docs/api/shopify-cli/app/app-config-link)
[app config use](https://shopify.dev/docs/api/shopify-cli/app/app-config-use)
[Sets default configuration when you run app-related CLI commands. If you omit the `config-name` parameter, then you'll be prompted to choose from the configuration files in your project.](https://shopify.dev/docs/api/shopify-cli/app/app-config-use)
[app deploy](https://shopify.dev/docs/api/shopify-cli/app/app-deploy)
[Builds the app, then deploys your app configuration and extensions. This command creates an app version, which is a snapshot of your app configuration and all extensions, including the app extensions that you manage in the Partner Dashboard. This version is then released to users. This command doesn't deploy your web app. You need to deploy your web app to your own hosting solution.](https://shopify.dev/docs/api/shopify-cli/app/app-deploy)
[app dev](https://shopify.dev/docs/api/shopify-cli/app/app-dev)
[Builds and previews your app on a development store, and watches for changes. Read more about testing apps locally.](https://shopify.dev/docs/api/shopify-cli/app/app-dev)
[app dev clean](https://shopify.dev/docs/api/shopify-cli/app/app-dev-clean)
[Stop the app preview that was started with `shopify app dev`. It restores the app's active version to the selected development store.](https://shopify.dev/docs/api/shopify-cli/app/app-dev-clean)
[app env pull](https://shopify.dev/docs/api/shopify-cli/app/app-env-pull)
[Creates or updates an `.env` files that contains app and app extension environment variables. When an existing `.env` file is updated, changes to the variables are displayed in the terminal output. Existing variables and commented variables are preserved.](https://shopify.dev/docs/api/shopify-cli/app/app-env-pull)
[app env show](https://shopify.dev/docs/api/shopify-cli/app/app-env-show)
[Displays environment variables that can be used to deploy apps and app extensions.](https://shopify.dev/docs/api/shopify-cli/app/app-env-show)
[app function build](https://shopify.dev/docs/api/shopify-cli/app/app-function-build)
[Compiles the function in your current directory to WebAssembly (Wasm) for testing purposes.](https://shopify.dev/docs/api/shopify-cli/app/app-function-build)
[app function replay](https://shopify.dev/docs/api/shopify-cli/app/app-function-replay)
[Runs the function from your current directory for testing purposes. To learn how you can monitor and debug functions when errors occur, refer to Shopify Functions error handling.](https://shopify.dev/docs/api/shopify-cli/app/app-function-replay)
[app function run](https://shopify.dev/docs/api/shopify-cli/app/app-function-run)
[Runs the function from your current directory for testing purposes. To learn how you can monitor and debug functions when errors occur, refer to Shopify Functions error handling.](https://shopify.dev/docs/api/shopify-cli/app/app-function-run)
[app function schema](https://shopify.dev/docs/api/shopify-cli/app/app-function-schema)
[Generates the latest GraphQL schema for a function in your app. Run this command from the function directory. This command uses the API type and version of your function, as defined in your extension TOML file, to generate the latest GraphQL schema. The schema is written to the `schema.graphql` file.](https://shopify.dev/docs/api/shopify-cli/app/app-function-schema)
[app function typegen](https://shopify.dev/docs/api/shopify-cli/app/app-function-typegen)
[Creates GraphQL types based on your input query for a function written in JavaScript.](https://shopify.dev/docs/api/shopify-cli/app/app-function-typegen)
[app generate extension](https://shopify.dev/docs/api/shopify-cli/app/app-generate-extension)
[Generates a new app extension. For a list of app extensions that you can generate using this command, refer to Supported extensions. Each new app extension is created in a folder under `extensions/`. To learn more about the extensions file structure, refer to App structure and the documentation for your extension.](https://shopify.dev/docs/api/shopify-cli/app/app-generate-extension)
[app import-extensions](https://shopify.dev/docs/api/shopify-cli/app/app-import-extensions)
[Import dashboard-managed extensions into your app.](https://shopify.dev/docs/api/shopify-cli/app/app-import-extensions)
[app info](https://shopify.dev/docs/api/shopify-cli/app/app-info)
[The information returned includes the following: - The app and development store or Plus sandbox store that's used when you run the dev command. You can reset these configurations using `dev --reset`. - The structure of your app project. - The access scopes your app has requested. - System information, including the package manager and version of Shopify CLI used in the project.](https://shopify.dev/docs/api/shopify-cli/app/app-info)
[app init](https://shopify.dev/docs/api/shopify-cli/app/app-init)
[Create a new app project](https://shopify.dev/docs/api/shopify-cli/app/app-init)
[app logs](https://shopify.dev/docs/api/shopify-cli/app/app-logs)
[Opens a real-time stream of detailed app logs from the selected app and store. Use the `--source` argument to limit output to a particular log source, such as a specific Shopify Function handle. Use the `shopify app logs sources` command to view a list of sources. Use the `--status` argument to filter on status, either `success` or `failure`. `shopify app logs --status=success --source=extension.discount-function`](https://shopify.dev/docs/api/shopify-cli/app/app-logs)
[app logs sources](https://shopify.dev/docs/api/shopify-cli/app/app-logs-sources)
[The output source names can be used with the `--source` argument of `shopify app logs` to filter log output. Currently only function extensions are supported as sources.](https://shopify.dev/docs/api/shopify-cli/app/app-logs-sources)
[app release](https://shopify.dev/docs/api/shopify-cli/app/app-release)
[Releases an existing app version. Pass the name of the version that you want to release using the `--version` flag.](https://shopify.dev/docs/api/shopify-cli/app/app-release)
[app versions list](https://shopify.dev/docs/api/shopify-cli/app/app-versions-list)
[Lists the deployed app versions. An app version is a snapshot of your app extensions.](https://shopify.dev/docs/api/shopify-cli/app/app-versions-list)
[app webhook trigger](https://shopify.dev/docs/api/shopify-cli/app/app-webhook-trigger)
[Triggers the delivery of a sample Admin API event topic payload to a designated address. You should use this command to experiment with webhooks, to initially test your webhook configuration, or for unit testing. However, to test your webhook configuration from end to end, you should always trigger webhooks by performing the related action in Shopify. Because most webhook deliveries use remote endpoints, you can trigger the command from any directory where you can use Shopify CLI, and send the webhook to any of the supported endpoint types. For example, you can run the command from your app's local directory, but send the webhook to a staging environment endpoint. To learn more about using webhooks in a Shopify app, refer to Webhooks overview. ### Limitations - Webhooks triggered using this method always have the same payload, so they can't be used to test scenarios that differ based on the payload contents. - Webhooks triggered using this method aren't retried when they fail. - Trigger requests are rate-limited using the Partner API rate limit. - You can't use this method to validate your API webhook subscriptions.](https://shopify.dev/docs/api/shopify-cli/app/app-webhook-trigger)