diff --git a/src/plugins/advanced_settings/public/management_app/advanced_settings.test.tsx b/src/plugins/advanced_settings/public/management_app/advanced_settings.test.tsx
index 7b294c609f31e..5ee1bbf49f56c 100644
--- a/src/plugins/advanced_settings/public/management_app/advanced_settings.test.tsx
+++ b/src/plugins/advanced_settings/public/management_app/advanced_settings.test.tsx
@@ -268,6 +268,35 @@ describe('AdvancedSettings', () => {
).toHaveLength(1);
});
+ it('should should not render a custom setting', async () => {
+ // The manual mock for the uiSettings client returns false for isConfig, override that
+ const uiSettings = mockConfig().core.uiSettings;
+ uiSettings.isCustom = (key) => true;
+
+ const customSettingQuery = 'test:customstring:setting';
+ mockQuery(customSettingQuery);
+ const component = mountWithI18nProvider(
+
+ );
+
+ expect(
+ component
+ .find('Field')
+ .filterWhere(
+ (n: ReactWrapper) =>
+ (n.prop('setting') as Record).name === customSettingQuery
+ )
+ ).toEqual({});
+ });
+
it('should render read-only when saving is disabled', async () => {
mockQuery();
const component = mountWithI18nProvider(
diff --git a/src/plugins/advanced_settings/public/management_app/advanced_settings.tsx b/src/plugins/advanced_settings/public/management_app/advanced_settings.tsx
index ba3bb49790627..e46dfdf50956b 100644
--- a/src/plugins/advanced_settings/public/management_app/advanced_settings.tsx
+++ b/src/plugins/advanced_settings/public/management_app/advanced_settings.tsx
@@ -198,6 +198,7 @@ export class AdvancedSettings extends Component !c.readOnly)
+ .filter((c) => !c.isCustom) // hide any settings that aren't explicitly registered by enabled plugins.
.sort(fieldSorter);
}