Power Platform CLI’s Deprecated: What Every Dataverse Developer Must Do Now + Video

Listen to this Post

Featured Image

Introduction:

The Power Platform CLI has long been the backbone of Dataverse pro-code development, with the `pac modelbuilder` command serving as the go-to tool for generating early-bound C classes. As of May 5, 2026, Microsoft has officially marked this command group as deprecated. For plugin developers, CI/CD pipelines, and local dev workflows that rely on strongly-typed classes for Dataverse tables and APIs, this change signals a critical inflection point—one that demands immediate migration planning. This article breaks down what’s changing, why it matters, and exactly how to secure your development pipeline.

Learning Objectives:

  • Understand the implications of `pac modelbuilder` deprecation and its impact on Dataverse development workflows
  • Master alternative early-bound generation approaches including CrmSvcUtil, XrmToolBox, and custom Roslyn-based generators
  • Implement secure, cross-platform Power Platform CLI workflows with proper authentication and environment management

You Should Know:

1. The Deprecation Announcement: What’s Actually Changing

The `pac modelbuilder` command group—the tool that generated strongly-typed C classes for Dataverse tables and APIs—has been officially deprecated in the Power Platform CLI documentation. This tool was a staple for plugin developers who preferred early-bound over late-bound approaches, providing compile-time type safety and IntelliSense support. As of now, no official replacement has been announced in the documentation.

The immediate impact is clear: if your CI/CD pipelines or local development workflows rely on pac modelbuilder generate, you need to start planning your migration path now. While the command still functions today, deprecation means it will eventually be removed, and relying on it puts your development pipeline at risk.

Step-by-Step Guide: Assessing Your Current Usage

  1. Audit your codebase: Search your solution files for any references to `pac modelbuilder` or related scripts.
  2. Review CI/CD pipelines: Check YAML, PowerShell, or bash scripts that invoke the command.
  3. Document dependencies: Identify all projects and plugins that depend on generated early-bound classes.
  4. Test alternative tools in a development environment before committing to a migration path.

2. Migration Options: Your Path Forward

Microsoft has not yet announced an official replacement, but several viable alternatives exist:

Option A: CrmSvcUtil (Classic, Still Works)

The classic tool that predates `pac modelbuilder` remains functional. It’s a .NET Framework tool that generates early-bound classes from a Dataverse organization service.

Option B: Early Bound Generator (XrmToolBox)

A popular community tool within XrmToolBox that provides a graphical interface for generating early-bound classes with extensive customization options.

Option C: Custom Roslyn-Based Generators

For teams with advanced requirements, building a custom source generator using Roslyn offers maximum flexibility and integration with modern .NET projects.

Step-by-Step Guide: Implementing CrmSvcUtil as a Temporary Replacement

  1. Locate CrmSvcUtil: Typically found at `C:\Program Files\Microsoft Dynamics 365 Developer Tools\Bin\CrmSvcUtil.exe` (Windows) or download via NuGet.

2. Generate classes:

CrmSvcUtil.exe /url:https://yourorg.crm.dynamics.com/XRMServices/2011/Organization.svc /out:GeneratedClasses.cs /username:[email protected] /password:yourpassword

3. Integrate into build process: Add the generation step to your pre-build events or CI/CD pipelines.
4. Note: CrmSvcUtil requires .NET Framework and does not run natively on Linux or macOS, unlike the cross-platform `pac` CLI.

  1. Power Platform CLI Without Installation: The `dnx` Approach

For CI/CD scenarios, installing the Power Platform CLI globally isn’t always ideal. Microsoft now supports executing PAC CLI commands without installation using the `dnx` command with .NET 10 or higher.

Step-by-Step Guide: Running PAC CLI in CI/CD Without Installation

  1. Ensure .NET 10 or higher is installed on your build agent.

2. Execute commands using `dotnet tool exec`:

dotnet tool exec pac -- --version

Or using the `dnx` command:

dnx pac --version

3. Authenticate to your environment:

dotnet tool exec pac -- auth create --kind Dataverse --url https://yourorg.crm.dynamics.com

4. List available environments:

dotnet tool exec pac -- env list

5. Select the target environment:

dotnet tool exec pac -- env select --environment your-environment-id

This approach is especially valuable for Continuous Integration and Continuous Delivery (CI/CD) pipelines where global installation may not be feasible or secure.

  1. Connecting Dataverse and SharePoint: The Modern Code App Workflow

The Power Platform CLI enables seamless integration between Dataverse and SharePoint, allowing developers to build modern, enterprise-ready web apps. Using the `pac code add-data-source` command, you can add SharePoint lists as data sources to your code apps.

Step-by-Step Guide: Adding SharePoint as a Data Source

  1. Prepare your SharePoint list: Ensure you have a SharePoint Online list with appropriate permissions.

2. Initialize your code app project:

pac code init --path ./MyCodeApp

3. Add Dataverse as a data source (if not already added):

pac code add-data-source --data-source Dataverse --environment your-environment-id

4. Add SharePoint as a data source:

pac code add-data-source --data-source SharePoint --site-url https://yourtenant.sharepoint.com/sites/yoursite --list-1ame "Your List Name"

5. Build and deploy:

pac code build
pac code deploy --environment your-environment-id

This workflow leverages React, Vite, and TypeScript, with apps deployed via the Power Platform.

5. Dataverse Security Hardening: CLI Best Practices

Security is paramount when working with Dataverse via CLI. The security model is rooted in Azure Active Directory, with every Dataverse instance authenticating callers through a single tenant.

Step-by-Step Guide: Securing Your CLI Workflows

  1. Never hardcode credentials in source code or scripts.
  2. Use Azure Key Vault or environment variables for storing secrets.

3. Implement Azure Identity credentials for token-based authentication.

  1. Use `pac auth create` with interactive or device code flow instead of storing passwords:
    pac auth create --kind Dataverse --url https://yourorg.crm.dynamics.com
    

This initiates a browser-based authentication flow.

  1. For service principals (CI/CD), use client secret or certificate-based authentication:
    pac auth create --kind Dataverse --url https://yourorg.crm.dynamics.com --applicationId your-app-id --clientSecret your-secret --tenant your-tenant-id
    
  2. Restrict guest access to Dataverse environments unless explicitly required.
  3. Audit permissions regularly using PowerShell and SQL queries to uncover hidden access.

6. Data Import and Management: CLI vs. Dataflows

The Power Platform CLI provides robust data import capabilities, particularly useful for pipeline-integrated loads. The `pac data import` command is scriptable and ideal for CI/CD integration, while dataflows are better suited for recurring sync from files, SQL, SharePoint, or API sources.

Step-by-Step Guide: Using `pac data import` for Automated Data Loading

  1. Prepare your data source: Export data to CSV or Excel format.
  2. Create a data map (if needed) using the Configuration Migration Tool.

3. Execute the import:

pac data import --path ./data.csv --map ./map.xml --environment your-environment-id

4. For SharePoint file sources, create a dataflow with the SharePoint file as the source.

5. Monitor import status:

pac data import --status --import-id your-import-id

7. Cross-Platform Development: Windows, Linux, and macOS

The Power Platform CLI is a cross-platform tool that can be installed on Windows, macOS, and Linux devices. However, some commands only work on Windows because they rely on tools that haven’t been ported cross-platform.

Step-by-Step Guide: Setting Up PAC CLI on Linux

1. Install .NET SDK:

sudo apt-get update && sudo apt-get install -y dotnet-sdk-8.0

2. Install PAC CLI as a .NET tool:

dotnet tool install --global Microsoft.PowerPlatform.CLI

3. Verify installation:

pac --version

You should see the version number on the second line.
4. For Windows-specific commands, use a Windows build agent or WSL2 with Windows compatibility.

What Undercode Say:

  • Key Takeaway 1: The deprecation of `pac modelbuilder` is a wake-up call for Dataverse developers to audit their toolchains and plan migration paths immediately. Waiting until the command is fully removed will create unnecessary technical debt and pipeline disruption.
  • Key Takeaway 2: While no official replacement has been announced, the community and ecosystem offer viable alternatives—CrmSvcUtil, XrmToolBox’s Early Bound Generator, and custom Roslyn-based generators. Each has trade-offs in terms of cross-platform support, customization, and integration complexity.

Analysis (10 lines):

The deprecation of `pac modelbuilder` reflects Microsoft’s broader shift toward modernizing the Power Platform developer experience. By retiring legacy tooling without an immediate replacement, Microsoft is signaling that developers should expect a new, more integrated solution—potentially leveraging Roslyn source generators or AI-assisted code generation. The lack of an official replacement creates a temporary gap that community tools will fill, but it also presents an opportunity for organizations to build custom solutions tailored to their specific needs. The move also reinforces the importance of cross-platform compatibility, as evidenced by the `dnx` execution model. For CI/CD pipelines, the ability to run PAC CLI without installation is a game-changer for security and maintainability. Meanwhile, the integration of SharePoint as a data source highlights Microsoft’s vision of a unified low-code/pro-code ecosystem. Security remains a critical concern, with Azure AD authentication and secret management being non-1egotiable best practices. Organizations that proactively migrate away from deprecated commands will avoid pipeline failures and maintain development velocity. Those who delay risk being caught off guard when the command is finally removed.

Prediction:

  • +1 The deprecation will accelerate the development of a modern, Roslyn-based early-bound generator from Microsoft, offering better performance and integration with .NET 8+.
  • -1 Organizations with legacy CI/CD pipelines that heavily rely on `pac modelbuilder` will face significant migration costs and potential downtime if they delay planning.
  • +1 The cross-platform capabilities of the Power Platform CLI (including `dnx` execution) will become the standard for enterprise DevOps, reducing infrastructure complexity.
  • +1 The integration of SharePoint and Dataverse via CLI will drive increased adoption of code-first approaches to Power Platform development, blurring the lines between low-code and pro-code.
  • -1 Without an official replacement, fragmentation may occur as teams adopt different community tools, leading to inconsistent code generation standards across projects.
  • +1 Security enhancements around Azure AD authentication and secret management will mature, making CLI-based Dataverse development more enterprise-ready.
  • -1 The Windows-only limitation of some CLI commands may hinder fully cross-platform CI/CD strategies, forcing teams to maintain mixed build environments.
  • +1 The deprecation will spur innovation in the open-source community, with new generators and tooling emerging to fill the gap before Microsoft’s official solution arrives.

▶️ Related Video (82% Match):

🎯Let’s Practice For Free:

🎓 Live Courses & Certifications:

Join Undercode Academy for Verified Certifications

🚀 Request a Custom Project:

Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[email protected]
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands

IT/Security Reporter URL:

Reported By: Allandecastro Powerplatform – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass ✅

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow UndercodeTesting & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin | 🦋BlueSky