By default, Kiro uses the IDE extension marketplace at https://open-vsx.org. You can use OS-specific "policies" to configure Kiro to use a different extension registry; for example, a private registry for your organization that contains a limited set of vetted extensions.
To specify a custom extension registry for Kiro IDE on Windows devices, create a registry-based policy (.admx/.adml files) to define a new ExtensionGalleryServiceUrl Windows registry entry for Kiro IDE and set its value to your extension registry URL. For more information on Windows registry-based policies, refer to Microsoft's documentation.
Below are minimal, sample .admx and .adml files that define a new registry entry for Kiro IDE extensions. First, ensure you have administrative privileges on your test PC. Save the contents of the first XML snippet below into C:\Windows\PolicyDefinitions\Kiro.admx, and the contents of the second into C:\Windows\PolicyDefinitions\en-US\Kiro.adml.
Next, open the Local Group Policy Editor by opening the Run dialog (Windows+R), typing gpedit.msc, and hitting Enter. Go to Computer Configuration > Administrative Templates > Kiro > Extensions. Double-click on the "ExtensionGalleryServiceUrl" setting, select "Enabled", and under "Options", set the value of "ExtensionGalleryServiceUrl" to the URL of your private registry. Hit Ok to close the dialog, then close the policy editor.
Restart Kiro to confirm it is now using your private extension registry. Once verified, use an MDM solution or AD Group Policy profile to deploy it at scale across all your Windows devices.
Kiro.admx sample:
<?xml version="1.0" encoding="utf-8"?> <policyDefinitions revision="1.1" schemaVersion="1.0"> <policyNamespaces> <target prefix="Kiro" namespace="AWS.Policies.Kiro" /> </policyNamespaces> <resources minRequiredRevision="1.0" /> <supportedOn> <definitions> <definition name="Supported_0_11_133" displayName="$(string.Supported_0_11_133)" /> </definitions> </supportedOn> <categories> <category displayName="$(string.Application)" name="Application" /> <category displayName="$(string.Category_extensionsConfigurationTitle)" name="extensionsConfigurationTitle"><parentCategory ref="Application" /></category> </categories> <policies> <policy name="ExtensionGalleryServiceUrl" class="Both" displayName="$(string.ExtensionGalleryServiceUrl)" explainText="$(string.ExtensionGalleryServiceUrl_extensions_gallery_serviceUrl)" key="Software\Policies\Microsoft\Kiro" presentation="$(presentation.ExtensionGalleryServiceUrl)"> <parentCategory ref="extensionsConfigurationTitle" /> <supportedOn ref="Supported_0_11_133" /> <elements> <text id="ExtensionGalleryServiceUrl" valueName="ExtensionGalleryServiceUrl" required="true" /> </elements> </policy> </policies> </policyDefinitions>
Kiro.adml sample:
<?xml version="1.0" encoding="utf-8"?> <policyDefinitionResources revision="1.0" schemaVersion="1.0"> <displayName /> <description /> <resources> <stringTable> <string id="Application">Kiro</string> <string id="Supported_0_11_133">Kiro >= 0.11.133</string> <string id="Category_extensionsConfigurationTitle">Extensions</string> <string id="ExtensionGalleryServiceUrl">ExtensionGalleryServiceUrl</string> <string id="ExtensionGalleryServiceUrl_extensions_gallery_serviceUrl">Custom extension marketplace URL</string> </stringTable> <presentationTable> <presentation id="ExtensionGalleryServiceUrl"> <textBox refId="ExtensionGalleryServiceUrl"><label>ExtensionGalleryServiceUrl:</label></textBox> </presentation> </presentationTable> </resources> </policyDefinitionResources>
To specify a custom extension registry for Kiro IDE on macOS devices, create a configuration profile (.mobileconfig file) with the ExtensionGalleryServiceUrl property pointing to your registry URL, and then deploy this profile to all your macOS devices via an MDM solution. For more information on macOS configuration profiles, refer to Apple's documentation.
Below is a minimal, sample .mobileconfig file that configures Kiro IDE to point to a custom registry. To use this sample, create a file on disk, e.g., kiro.mobileconfig, with these contents, replacing the placeholder UUIDs in both PayloadUUID entries and the second PayloadIdentifier entry with unique UUIDs, and the placeholder URL for ExtensionGalleryServiceUrl with the URL of your private registry. Adjust any other properties as needed.
Next, open System Settings, navigate to General > Device Management, and drag-and-drop the kiro.mobileconfig file into that screen to install.
Restart Kiro to confirm it is now using your private extension registry. Once verified, use your MDM solution to deploy it at scale across all your macOS devices.
kiro.mobileconfig sample:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PayloadDisplayName</key> <string>Kiro Configuration Profile</string> <key>PayloadType</key> <string>Configuration</string> <key>PayloadVersion</key> <integer>1</integer> <key>PayloadIdentifier</key> <string>dev.kiro.desktop</string> <key>PayloadUUID</key> <string>12345678-1234-1234-1234-123456789012</string> <key>PayloadContent</key> <array> <dict> <key>PayloadDisplayName</key> <string>Kiro</string> <key>PayloadType</key> <string>dev.kiro.desktop</string> <key>PayloadVersion</key> <integer>1</integer> <key>PayloadIdentifier</key> <string>dev.kiro.desktop.12345678-1234-1234-1234-123456789012</string> <key>PayloadUUID</key> <string>12345678-1234-1234-1234-123456789012</string> <key>ExtensionGalleryServiceUrl</key> <string>https://registry.example.com/extensions</string> </dict> </array> </dict> </plist>
To specify a custom extension registry for Kiro IDE on Linux devices, create a policy (policy.json file) with the ExtensionGalleryServiceUrl property pointing to your registry URL, and then deploy this policy to all your Linux devices via an MDM solution.
Below is a minimal policy.json file that configures Kiro IDE to point to a custom registry. To use this sample, save the below contents to /etc/kiro/policy.json, replacing the placeholder URL with the URL of your private registry.
Restart Kiro to confirm it is now using your private extension registry. Once verified, use your MDM solution to deploy it at scale across all your Linux devices.
policy.json sample:
{ "ExtensionGalleryServiceUrl": "https://registry.example.com/extensions" }
Custom extension registry