Loading...

How to Remove an Active Unmanaged Layer from the Ribbon in Power Apps (Dynamics 365 CRM) Using ribbondebug=true

How to Remove an Active Unmanaged Layer from the Ribbon in Power Apps (Dynamics 365 CRM) Using ribbondebug=true

Customizing the ribbon (command bar) in Dynamics 365 CRM via Power Apps can be a powerful way to tailor the user interface to your business needs.

However, during development or testing, and over time, customizations can pile up and it's common that you might have unmanaged customizations.

Therefore, if you're working in an environment with both managed and unmanaged layers, you may run into issues where an active unmanaged layer causes unexpected behavior or UI inconsistencies.

One of the most frustrating issues is when a ribbon behaves incorrectly due to an active unmanaged layer, often created outside of a solution.

Fortunately, there’s a powerful tool to inspect and resolve this: the ribbondebug=true URL parameter.

In this post, we'll walk through how to identify and remove an active unmanaged layer from the ribbon in Power Apps for a model-driven Dynamics 365 CRM app using the ribbondebug=true diagnostic tool.


🔍 What Is an Unmanaged Layer?

In the context of Power Platform, customizations are stored in layers:

  • Managed layers come from imported managed solutions.
  • Unmanaged layers are changes made directly in an environment, typically during development.

Unmanaged layers take precedence over managed ones. If an unmanaged layer exists, it will override the behavior of any managed customizations underneath it. This is especially true for ribbon (command bar) customizations.


🎯 Why Remove the Unmanaged Layer?

You might want to remove an unmanaged layer when:

  • You accidentally made changes outside your managed solution.
  • The ribbon behaves differently than expected in higher environments.
  • You want to ensure consistency across environments by eliminating ad-hoc UI changes.

🧠 What Is ribbondebug=true?

Appending &ribbondebug=true to your Dynamics 365 URL enables the Command Checker Ribbon debugger, which provides insights into:

  • Command definitions.
  • Custom actions.
  • JavaScript functions.
  • Button locations and behaviors.
  • And more importantly — unmanaged layers!

⚠️ When to Use This

Use this technique when:

  • You're unsure where a ribbon customization is coming from.
  • The Power Apps UI doesn’t show all ribbon commands.
  • You suspect an unmanaged layer is overriding managed behavior.

🛠️ Steps to Identify and Remove an Unmanaged Ribbon Layer Using ribbondebug=true

Step 1: Open Your Model-Driven App with Debug Mode Enabled

  1. Log into https://make.powerapps.com.
  2. Open your model-driven app.
  3. In the address bar, append the following to the URL:
    https://yourorg.crm.dynamics.com/main.aspx?appid=XXXXXX&ribbondebug=true
  4. Press Enter to reload the app in ribbon debug mode.

Step 2: Inspect the Ribbon

Once in debug mode, click on the ... of the ribbon and scroll down until you reach the Command Checker. You’ll see extra debug details like:

  • Button IDs.
  • Command names.
  • Enable rules and display rules.
  • Ribbon source file.



Step 3: Command Checker pane

  1. The command checker pane will open and display all the buttons available for the entity.
  2. Search for your specific ribbon button and click on it.
  3. The button properties with its command will be displayed within the command checker pane.


Step 4: Check the Unmanaged Layer

  1. In the Button or Command Properties tab, click on View button solution layers or View command solution layer link.
  2. You will have this option on all the elements that could have unmanaged layer.
  3. Once you click on the link, you will be able to see the layers of this corresponding button element.




Step 5: Remove the Unmanaged Layer

  1. In case the ribbon button property contains an unmanaged layer, it will be displayed.
  2. Click Remove active component layer link to delete the unmanaged layer.
  3. Confirm the removal to revert the ribbon to its managed version — effectively "cleaning up" customizations.






Step 6: Regenerate ribbon metadata

  1. Once the unmanaged layer is removed, it will disappear.
  2. Now, you have to click Regenerate ribbon metadata button.
  3. This action will take around 15 minutes to finish.
  4. Reload the app with and without ribbondebug=true to confirm everything behaves correctly.






💡 Best Practices

  • Always work in solutions, not directly in the default layer.
  • Keep unmanaged changes only in development environments.
  • Regularly export and back up your solutions.
  • Use source control or ALM (Application Lifecycle Management) tools when possible.

🧪 Example Use Case

Imagine you deployed a managed solution that hides a "Delete" button for a custom entity. But in your test environment, the "Delete" button still appears.
By using ribbondebug=true, you discover there's an unmanaged display rule that's overriding your managed rule. Removing the unmanaged layer resolves the issue immediately.


✅ Summary

The ribbondebug=true flag is a powerful (and underused) tool to diagnose and clean up ribbon issues in Dynamics 365 CRM. Use it to expose and identify unmanaged layers that affect the ribbon and then remove them.
Removing an active unmanaged layer from the ribbon in Power Apps is an important step for maintaining clean and predictable UI customizations across environments.

Published on:

Learn more
Dynamics 365 Education and Knowledge
Dynamics 365 Education and Knowledge

Share post:

Related posts

Power Platform Fundamentals #4: Understanding Power Fx in Power Apps: Core Functions, Formula Patterns, and Real-Time Business Scenarios: Quick Read Series

1. Business Scenario In modern enterprise applications, business logic is deeply embedded across user interfaces and data processes. This incl...

4 days ago

Decode & Fix : Shared App host initialization has timed out in Microsoft Power Apps

 Issue :While working with apps in the Microsoft Power Platform, we encountered a critical issue where the application failed to load pro...

4 days ago

How to patch images from Power Apps to Dataverse

Patching images is a very common use case for Power Apps. Learn how to patch images from an app to Dataverse! The post How to patch images fro...

5 days ago

How to patch images from Power Apps to D365 F&SCM

Patching images is a very common use case for Power Apps. Learn how to patch images from an app to D365 Finance & Supply Chain Management...

5 days ago

Power Apps Code App | Connecting to a Copilot Studio Agent

In this article, let’s explore how to use a Power Apps Code App to connect and chat with a Microsoft Copilot Studio agent — directly fro...

6 days ago

Power Apps Code App | Querying data Across Environments

In this article, let’s explore how to use a Power Apps Code App to fetch Dataverse data from a different Power Platform environment. Thi...

7 days ago

Power Apps Code App | Images blocked by Content Security Policy (CSP)

Recently I was working on a Power Apps Code App and rendering images using <img> tags with external URLs inside a grid. But the images...

10 days ago

Power Apps – Use Microsoft 365 Copilot in model-driven apps

We are announcing the ability to use Microsoft 365 Copilot in model-driven apps in Power Apps. This feature will reach general availability on...

11 days ago
Stay up to date with latest Microsoft Dynamics 365 and Power Platform news!
* Yes, I agree to the privacy policy