Why my deployment pipeline override Lakehouse shortcuts?
Fabric deployment pipelines promote content across environments, but Lakehouses lack rule support—so shortcuts get overwritten. Exclude them from pipelines or automate with REST APIs (e.g., via Fabric Catalyst) to maintain environment-specific configurations.

Part of the series: Reader asks about Fabric

The question:
Sent on LinkedIn Wednesday Sept. 17
I have one query about fabric deployment pipelines and workspace let me elaborate it to you:
So, we have the three workspaces dev, int and production. In the dev workspace i have created a Lakehouse and connected dev storage account using shortcuts to that Lakehouse and when I am deploying it to the int workspace using fabric deployment pipelines UI it is overriding the shortcut which is there in the int workspace, and it is connected to int storage account (Edited)
Answer:
Thank you for your question—this is a common and important scenario when working with Microsoft Fabric deployment pipelines, particularly when managing environment-specific configurations like Lakehouse shortcuts.
To start, it’s key to understand what deployment pipelines are designed to do: they enable a structured, repeatable process for moving content through different stages of the development lifecycle—typically from Development (Dev) to Integration (Int) and onwards; the core idea is to promote validated, version-controlled content from one environment to the next, ensuring consistency and reducing manual errors.
So, when you deploy from Dev to Int, Fabric is doing exactly what it’s supposed to do: replicating the content from the source workspace (Dev) into the target workspace (Int).
This is my "replica" of your environment, a workspace connected to Git Repository with a Shortcut to an Azure Data Lake Storage

Let' see under the hood, this is the definition of the Lakehouse in code, notice how the shortcuts.metadata.json defines the shortcuts, hence, the pipeline will take dev's definition and override whatever other existing definition in integration (int)... that is not a flaw nor a bug, that what deployment pipelines are meant to do.

Solution:
Now, to preserve environment-specific differences on items like Dataflow Gen1, Sematic Models, Mirrored Databases and Notebooks we use deployment rules.
However, for Lakehouse shortcut we need something else that I wasn't aware of until just recently: variable libraries.
Ref. Fabric September 2025 Feature Summary
- Click on Create 1️⃣> Variable library 2️⃣

- Create two variables, one for the target connection and another for the target subpath 1️⃣, assigned the corresponding for development 2️⃣ and create an alternative set of values for your other stages (e.g. uat, integration, prod.) 3️⃣

- Go to your Lakehouse shortcut, and click on Manage Shortcut

- Click on Edit variables 1️⃣, and assigned the corresponding variable to Target Connection and Target Subpath

- Deploy the stages in your pipeline, this will replicate the variable library item with the default and alternative value sets
- Set the corresponding alternative value set as default per environment

And done, the effect is what we expect, variables will take effect, and the shortcut will point to the connection and path defined by the variable set corresponding to its environment! 👏
Conclusion
What you’re experiencing is the intended behavior of Fabric deployment pipelines, but using a variable library we could configure our lakehouse shortcuts per environment
Thanks again for raising this—it’s an excellent and insightful question that touches on real-world deployment challenges.