Skip to content
Bart Reardon edited this page Jul 30, 2026 · 13 revisions

Network Wait and Timeout

Waiting for the network is disabled by default. When the wait_for_network preference key is present, Outset will wait for network connectivity during --boot runs before processing boot-once and boot-every items, checking once per second and timing out after network_timeout seconds (default 180 — three minutes). If no connection is detected before the timeout, the boot items are skipped.

"Network connectivity" in this context is a minimum-requirement check: Outset uses the macOS SystemConfiguration reachability API to test whether the default route is reachable without requiring a connection to first be established. It does not confirm that a particular host, VLAN, or DHCP-assigned address is available, so take that into account if your scripts depend on specific network conditions.

While waiting for the network, Outset also disables the loginwindow process and re-enables it once boot processing completes. This is to discourage users from logging in and potentially interrupting any boot jobs that are designated to be processed.

Enabling Wait for Network

To make Outset wait for the network during boot runs, set the wait_for_network key in /Library/Preferences/io.macadmins.Outset.plist (or deliver it in a managed configuration profile):

sudo /usr/bin/defaults write io.macadmins.Outset wait_for_network -bool true

Note: During --boot runs (root context) Outset treats the presence of the wait_for_network key as enabling the wait — even if the value is false. To disable waiting for the network, delete the key entirely (see below).

Changing the Network Timeout

You can change the length of the timeout (the default is 180 seconds, checked once per second) by either delivering a managed config profile with the applicable preference key, or write the key with defaults locally. The value written is in seconds.

Example:

sudo /usr/bin/defaults write io.macadmins.Outset network_timeout 240

For example, if you want to increase this value to five minutes, use:

sudo /usr/bin/defaults write io.macadmins.Outset network_timeout 300

If you want to decrease this value to 20 seconds, use:

sudo /usr/bin/defaults write io.macadmins.Outset network_timeout 20

This will result in a preference file that will look similar to this:

<?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>ignored_users</key>
    <array/>
    <key>network_timeout</key>
    <integer>20</integer>
    <key>wait_for_network</key>
    <true/>
  </dict>
</plist>

Removing the Network Wait Requirement

Waiting for the network is disabled by default, so no action is needed on a fresh installation. If wait_for_network has previously been set, delete the key to disable the wait:

sudo /usr/bin/defaults delete io.macadmins.Outset wait_for_network

Writing wait_for_network -bool false is not sufficient in the root (boot) context — the presence of the key is treated as enabling the wait regardless of its value. The key must be absent for the wait to be disabled.

Known issue (Outset 4.3.0 and earlier): every --boot run writes its preferences back to /Library/Preferences/io.macadmins.Outset.plist, re-creating the wait_for_network key — so deleting it only lasts until the next boot. In practice this means the network wait (including the temporary loginwindow unload, which cancels macOS automatic login) is active on every boot after Outset is installed. Macs relying on auto-login are affected until this is fixed.

Clone this wiki locally