## Describe the bug The "**Select Board**" dialog of the Arduino IDE lists boards from two sources: - Installed boards platforms (same as **Tools > Board** menu) - Boards from platforms which are not installed, but available for installation via [the primary package index](https://downloads.arduino.cc/packages/package_index.json) and any other [package indexes](https://arduino.github.io/arduino-cli/latest/package_index_json-specification/) the user has configured via the "**Additional Boards Manager URLs**" preference. When a board from the latter source is selected, Arduino IDE offers to install the board's platform. 🐛 The installation offer is not made if a port has not been selected by the user. Not all boards use a port, either because they are a pure HID device (e.g., [Digispark](https://github.com/digistump/DigistumpArduino)), or because they are programmed via an ISP programmer. The user may also wish simply to compile for a board. In this use case there is no need to have the hardware attached to the computer. For these reasons, it is not appropriate to impose an arbitrary requirement that a port be selected. The port selection is not in any way necessary for the IDE to identify the necessary platform. ## To Reproduce 1. Select **File > Quit** (or **Arduino > Quit Arduino** for macOS users) from the Arduino IDE menus if it is running. 1. Replace the bundled Arduino CLI binary from the Arduino IDE installation: ```text resources/app/node_modules/arduino-ide-extension/build/ ``` with the version that has the new fuzzy search system (e404a3ba1012c39b8ef18de0e658f1cb3917fea9 or later): https://github.com/arduino/arduino-cli/actions/runs/3143931031 1. Rename or delete the following folder to trigger the first run installations: (**ⓘ** this is done as a reliable way to achieve the state of having no port selected) - Windows: ```text C:\Users\<username>\AppData\Roaming\arduino-ide\ ``` (where `<username>` is your Windows username) ❗ If looking for it with your file manager or command line, note that the `AppData` folder is hidden by default. On [Windows "**File Explorer**"](https://support.microsoft.com/windows/find-and-open-file-explorer-ef370130-1cca-9dc5-e0df-2f7416fe1cb1), you can make it visible by opening the "**View**" menu, then checking the box next to "**☐ Hidden items**". - Linux: ```text /home/<username>/.config/arduino-ide/ ``` (where `<username>` is your Linux username) ❗ The `.config` folder may be hidden by default in your file manager and terminal. - macOS: ```text /Users/<username>/Library/Application Support/arduino-ide/ ``` (where `<username>` is your macOS username) ❗ The `Library` folder is hidden by default. You can make it visible by pressing the <kbd>**Command**</kbd>+<kbd>**Shift**</kbd>+<kbd>**.**</kbd> keyboard shortcut. ⚠ Please be very careful when deleting things from your computer. When in doubt, back up! 1. Start Arduino IDE. 1. Open the "**Board Selector**". 1. Click on "**Select other board and port...**". 1. From the "**BOARDS**" menu, select any board name that has a gray color (the color indicates the platform is not installed. ❗ Do not select a port from the "**PORTS**" menu. 1. Click the <kbd>OK</kbd> button. 🐛 The IDE does not offer to install the missing platform. 1. Open the "**Board Selector**". 1. Click on "**Select other board and port...**". 1. Select any port from the "**PORTS**" menu. 🛈 It doesn't matter what is producing the port. There is no need to have the actual board connected to your computer. 1. Click the <kbd>OK</kbd> button. 🙂 The IDE offers to install the missing platform:  ## Expected behavior Offer to install the platform whenever a board of a platform that is not currently installed is selected via the "**Select Board**" dialog. ## Desktop - OS: Windows 10 - Version: 2.0.0-rc4-snapshot-2bfc434 Date: 2022-02-22T10:25:20.375Z CLI Version: 0.21.0 [10107d24]