Fix Boards Manager “DEADLINE_EXCEEDED” / timeout installing the ESP32 core
The ESP32 core is a ~500 MB download and the IDE gives up on slow connections. Raise the network timeout, retry to resume, or install over a different network.
Community draft — report a mistake
What you see
Downloading packages
esp32:esp-x32@2601 ...
esp32:esp-x32@2601 Downloaded 112.4 MiB / 304.6 MiB
Failed to install platform: 'esp32:esp32:3.3.12'.
Error: 4 DEADLINE_EXCEEDED: net/http: request canceled (Client.Timeout or context cancellation while reading body)Downloading packages esp32:esp-x32@2601 ... esp32:esp-x32@2601 Downloaded 112.4 MiB / 304.6 MiB Failed to install platform: 'esp32:esp32:3.3.12'. Error: 4 DEADLINE_EXCEEDED: net/http: request canceled (Client.Timeout or context cancellation while reading body)
Arduino IDE 2 downloads board packages through arduino-cli, which has a time limit for each download. The ESP32 core pulls several hundred megabytes of compilers from GitHub. On a slow or unstable connection a single file can take longer than the limit, and the install stops with DEADLINE_EXCEEDED.
Retrying resumes from the next file. Raising the timeout in arduino-cli.yaml stops it happening at all.
Quick fix — try in order
- 1
Click Install again
Completed tool archives are kept in the staging folder, so each retry continues with the next file instead of starting over.
- 2
Raise the network timeout
Close the IDE and edit arduino-cli.yaml (Windows: C:\Users\<you>\.arduinoIDE\arduino-cli.yaml; Linux/macOS: ~/.arduinoIDE/arduino-cli.yaml). Add
network:withconnection_timeout: 1200sunder it, save, reopen the IDE and install. - 3
Delete a corrupt partial download
If it fails on the same file every time, delete that file from the staging/packages folder inside Arduino15 and retry.
- 4
Try another network
Some office, college and ISP networks throttle or block GitHub downloads, where the toolchains live. A mobile hotspot for this one install often works.
- 5
Install only what you need
Older core versions (2.0.x) are smaller. For a classic ESP32 project, an older version is fine if bandwidth is tight — but sketches on FlashReady are tested on the version shown on each page.
Why it happens
Why is the ESP32 core so big?
Core 3.x ships compilers and pre-built libraries for every ESP32 variant (ESP32, S2, S3, C3, C6, H2, P4), each several hundred MB unpacked.
DEADLINE_EXCEEDED means?
The IDE's download didn't finish within the allowed time. The network didn't fail completely; it was too slow or stalled.
Board-specific notes
Raspberry Pi Pico (Arduino-Pico): The rp2040 core also downloads large toolchains from GitHub; the same timeout setting helps.
Did this fix it?
Thanks — that helps us keep this page right.