Bulk Widget Property Updates
SkillDev toolsLets your agent find widgets across many pages and change their settings in bulk.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Bulk Widget Property Updates skill
About this capability
Discover and bulk-change widget properties across many pages with SHOW WIDGETS and UPDATE WIDGETS. Use when the same widget setting has to change on many pages at once. Experimental, always DRY RUN first and back the project up.
What this skill tells your AI
The instructions your AI receives, as published by mendixlabs/mxcli in .claude/skills/mendix/bulk-widget-updates/SKILL.md and read by ahel’s review.
EXPERIMENTAL: These commands are an untested proof-of-concept. Always use
dry runfirst and backup your project before applying changes.
Use show widgets and update widgets to discover and modify widget properties across pages and snippets in bulk.
When to use which tool:
| Scope | Tool |
|---|---|
| One page, one or several related changes | alter page — see alter-page |
Many pages matched by WHERE filter (across one or more modules) | update widgets (this skill) |
alter page is the right call for targeted, page-specific edits — it can combine set/insert/drop/replace in a single block. update widgets is for cross-page patterns like "set Class on every Container in MyMod" where naming each page explicitly would be tedious or error-prone.
Prerequisites
Widget commands require a full catalog build:
refresh catalog full;
SHOW WIDGETS - Discover Widgets
Basic Usage
-- Show all widgets
show widgets;
-- Filter by module
show widgets in MyModule;
-- Filter by widget type (case-insensitive LIKE)
show widgets where widgettype like '%combobox%';
-- Filter by name
show widgets where Name = 'myGrid';
-- Combine filters
show widgets where widgettype like '%DataGrid%' and Name like '%Overview%' in MyModule;
Output Columns
| Column | Description |
|---|---|
| NAME | Widget name (may be auto-generated) |
| WIDGET TYPE | Full widget type ID (e.g., com.mendix.widget.web.combobox.Combobox) |
| CONTAINER | Page or snippet qualified name |
| MODULE | Module name |
Common Widget Type Patterns
| Pattern | Matches |
|---|---|
%combobox% | ComboBox widgets |
%datagrid% | DataGrid2 and related widgets |
%textbox% | TextBox widgets |
%dropdown% | DropDown widgets |
%gallery% | Gallery widgets |
UPDATE WIDGETS - Modify Properties
Syntax
update widgets
set 'propertyName' = value [, 'propertyName' = value ...]
where condition [and condition ...]
[in module]
[dry run];
Dry Run (Preview Changes)
Always preview changes first:
-- See what would change without modifying
update widgets
set 'showLabel' = false
where widgettype like '%combobox%'
dry run;
Output shows:
found 5 widget(s) in 3 container(s) matching the criteria
[dry run] The following changes would be made:
Would set 'showLabel' = false on combobox1 (combobox) in MyModule.OrderForm
Would set 'showLabel' = false on combobox2 (combobox) in MyModule.CustomerPage
...
[dry run] Would update 5 widget(s)
run without dry run to apply changes.
Apply Changes
Remove dry run to apply:
update widgets
set 'showLabel' = false
where widgettype like '%combobox%'
in MyModule;
Property Value Types
| Type | Examples |
|---|---|
| String | 'contains', 'above' |
| Number | 4, 100, 3.14 |
| Boolean | true, false |
| Null | null |
Examples
-- Hide labels on all comboboxes
update widgets
set 'showLabel' = false
where widgettype like '%combobox%';
-- Set multiple properties
update widgets
set 'showLabel' = false, 'labelWidth' = 4
where widgettype like '%textbox%'
in MyModule;
-- Change filter mode on DataGrid filters
update widgets
set 'filterMode' = 'contains'
where widgettype like '%DatagridTextFilter%';
Important Notes
Known Limitations (Experimental)
UPDATE WIDGETS functionality is not fully implemented.
- The DRY RUN mode shows which widgets would be matched
- Actual property updates require additional implementation work
- Use SHOW WIDGETS for discovery, then manually update properties in Studio Pro
After Making Changes
-
Refresh the catalog to see updated data:
refresh catalog full force; -
Open the project in Studio Pro to verify changes
Supported Properties
Only primitive properties (string, number, boolean) are supported:
showLabel,labelWidth,placeholderfilterMode,defaultValue- Widget-specific configuration properties
NOT supported:
- DataSource properties
- Action properties (onClick, etc.)
- Nested object properties
- Expression properties
Finding Property Names
To find the correct property names:
- Create a widget in Studio Pro
- Use
describe page Module.PageNameto see widget structure - Or check the Mendix widget documentation
Workflow Example
-- 1. Build catalog
refresh catalog full;
-- 2. Discover widgets
show widgets where widgettype like '%combobox%';
-- 3. Preview changes
update widgets set 'showLabel' = false where widgettype like '%combobox%' dry run;
-- 4. Apply changes
update widgets set 'showLabel' = false where widgettype like '%combobox%';
-- 5. Rebuild catalog
refresh catalog full force;
-- 6. Verify
show widgets where widgettype like '%combobox%';
Signals
- GitHub stars
- 122
- Forks
- 49
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
bulk-widget-updates- Source
- github.com/mendixlabs/mxcli