On Arch Linux, the ‘iwctl not found’ error almost always means the iwd package is missing or disabled; install it and enable iwd to fix Wi-Fi.
Running a fresh Arch install and seeing bash: iwctl: command not found feels rough, especially when your only network option is Wi-Fi. The good news is that this message is clear once you know what sits behind the iwctl tool.
This guide walks through why arch linux iwctl not found shows up, how to bring back the command from both the live installer and an already installed system, and how to keep your wireless tools tidy so they do not fight each other in the background.
What Arch Linux Iwctl Not Found Actually Means
The iwctl command belongs to the iwd package, the iNet wireless daemon that handles Wi-Fi connections on many fresh Arch setups. When the shell reports that the command does not exist, it almost always points to one of a few simple causes.
- Iwd is not installed — On a new base install, you may have skipped
iwdin the chroot, so the binary never landed under/usr/bin/iwctl. - Iwd is installed only in the live ISO — While booted from the Arch installer image,
iwctlworks, but once you reboot into your new system the tool vanishes because that context has its own package set. - You picked a different network stack — Desktop installs often rely on NetworkManager or another tool that uses
wpa_supplicantinstead ofiwd, soiwctlis not present by default. - PATH or chroot mismatch — In a misconfigured chroot, the shell inside
arch-chroot /mntmight not see the installed binary because the filesystem or mount did not match the real root.
When you understand that this iwctl error simply means the iwd toolset is missing from the current root or not reachable, the fix turns into a short checklist: confirm your context, add the package, then make sure the daemon runs at boot.
Check Your Context Before You Fix Wi-Fi
Before installing packages or changing services, you need to know which Arch context you are in. The steps differ slightly between the live installer, an installed system, and a chroot session.
- Live installer session — You booted from the Arch ISO and have not yet installed to disk, or you came back to rescue a broken system. In this case,
iwctlusually exists already and you mostly use it to gain temporary internet access. - Freshly installed system — You rebooted into your new root on disk, logged in as root or your user, and now the command fails. This usually means you forgot to add
iwdduring installation. - Chroot from the ISO — You booted the ISO again, mounted your real system under
/mnt, and ranarch-chroot /mnt. Here you need to be sure you are inside the chroot when you install packages, or they will land only in the live context.
A quick way to check is to run cat /etc/os-release and confirm the root describes your installed Arch system, not the live ISO. Once you are sure of the context, you can fix the missing iwctl command in a targeted way without repeating the whole installation.
Install Iwd When Iwctl Is Missing
With the context clear, the next job is to place the iwd package into the correct root so that iwctl appears under /usr/bin. The approach depends on whether you have any network access right now.
Install Iwd With An Active Connection
If you still have wired networking or another working Wi-Fi setup, installation is straightforward. You stay inside the real root and pull iwd from the Arch mirrors.
- Sync the package database — Run
pacman -Syto refresh your package lists so that the next install uses current metadata. - Install iwd — Run
pacman -S iwdinside your installed Arch system or insidearch-chroot /mntwhen rescuing from the ISO. - Confirm iwctl exists — Run
command -v iwctland check that the path points to/usr/bin/iwctl.
This route works well when your machine still has an ethernet port or a secondary network manager that can bring up Wi-Fi long enough to fetch packages.
On headless boxes or simple desktops, it also helps to add iwd to your install notes or setup script. That way each new Arch install gets Wi-Fi tools along with the base system, instead of waiting until you notice the missing command again.
Install Iwd Without Internet
In some installs, the iwctl not found message appears on a laptop that has no wired interface and no other networking tools. In that case, you need to rely on the Arch ISO or another system to provide the package files.
- Boot the Arch ISO again — Start from the installer image, get online there with
iwctlor a cable, and mount your target root under/mnt. - Enter the chroot — Run
arch-chroot /mntso that any package you install ends up in the real system, not just the live context. - Install iwd in the chroot — Use
pacman -S iwdor install from a local package cache if you copied the.pkg.tar.zstfile across. - Leave the chroot and reboot — Exit the chroot, unmount cleanly, and reboot into your installed Arch system to test
iwctl.
Once the package is in place and the system boots from disk again, the missing command error should disappear and you can move on to starting the daemon.
If you have another Linux box at home, you can also download the iwd package there, copy it over with a USB stick, and install it locally with pacman -U. This extra path is handy in spots with flaky Wi-Fi, because you only depend on the mirrors once while you prepare your rescue media.
Enable Iwd And Start The Service
On Arch the iwd daemon does not start automatically just because the package is present. You need to manage the systemd unit so that wireless networking comes up at boot and stays ready for iwctl sessions.
- Start iwd for the current session — Run
systemctl start iwd.serviceand then testiwctl. If the prompt appears, the daemon is running. - Enable iwd at boot — Run
systemctl enable iwd.serviceso that wireless networking starts automatically after each reboot. - Check service status — Use
systemctl status iwd.serviceto look for errors, such as missing firmware or blocked hardware switches. - Connect with iwctl — Run
iwctl, then usedevice list,station DEVICE scan,station DEVICE get-networks, andstation DEVICE connect SSIDto join your access point. - Check rfkill and drivers — Run
rfkill listto see whether Wi-Fi is blocked, and useip linkto confirm that a wireless interface such aswlan0orwlp2s0appears.
If iwctl hangs on a message such as waiting for IWD to start, double check that iwd.service actually runs and that no other Wi-Fi daemon already holds the interface.
When the daemon refuses to start, run journalctl -u iwd.service --no-pager and read the recent log lines. Messages about busy devices or other network services point to a clash with tools such as NetworkManager or wpa_supplicant, which you can fix by disabling the extras and trying again.
Fix Iwctl Not Found On Desktop Installs
Many Arch users meet the error on a graphical desktop where network applets already manage Wi-Fi. In these cases, you might not need iwctl at all, yet you can still add it safely as long as you avoid overlapping daemons.
- Check your current network manager — Run
systemctl --type=service --state=running | grep -Ei 'network|wpa|iwd'to see whether NetworkManager,iwd, orwpa_supplicantalready controls wireless. - Decide on one Wi-Fi backend — Pick either NetworkManager with
wpa_supplicant, NetworkManager withiwdas a backend, or plainiwdwithiwctl. Do not enable every option together. - Install iwd alongside NetworkManager — If you want the
iwctltool for troubleshooting, installiwdbut leave the NetworkManager service as the main controller. - Avoid double management — If you switch fully to
iwd, disable NetworkManager andwpa_supplicantso that only one stack configures the link. - Use iwd as a NetworkManager backend — If you prefer the desktop applet but want the
iwdbackend, follow the Arch wiki instructions to setiwdas the Wi-Fi backend and leave theiwdsystemd service disabled.
Desktop workflows often feel smoother when a single network manager handles connection profiles, VPNs, and captive portals. You can still keep iwctl nearby as a low level tool for rare troubleshooting sessions without turning off your main applet.
When you hit strange Wi-Fi drops on a laptop that normally connects through a tray icon, a short iwctl session can confirm whether the radio, driver, and access point all behave as expected. That separation between the graphical layer and the low level daemon makes it easier to decide whether the problem sits in your desktop, your configuration, or the network itself.
Prevent Iwctl Errors On Arch Linux Next Time
Once you have a stable connection, it makes sense to set things up so that this error does not appear again during the next kernel update or reinstall. A bit of planning around packages, services, and install notes saves a lot of setup time later.
| Situation | Symptom | Quick Fix |
|---|---|---|
| Fresh install from ISO | iwctl works only on the installer |
Add iwd in the chroot before first reboot |
| Desktop with applet | Applet works, shell shows command not found | Install iwd only if you really need the CLI |
| Rescue session | No Wi-Fi inside the chroot | Boot ISO, mount root, chroot, then install iwd |
- Document your install choices — Keep a short note with the network stack you use and the packages you rely on so you can repeat the setup on the next reinstall.
- Keep a rescue USB handy — Store a current Arch ISO on a USB stick so you can boot back in, chroot, and fix networking if arch linux iwctl not found appears again after a major change.
- Update regularly — Run
pacman -Syuon a steady schedule so that firmware, kernel, and wireless tools stay in sync. - Test Wi-Fi after big changes — After kernel upgrades or driver changes, run
iwctland confirm that you can still scan and connect before you leave home or rely on the laptop for work.
When you treat your wireless tools as part of the base system, arch linux iwctl not found turns from a small crisis into a reminder to keep iwd, your chosen network manager, and a rescue plan in good shape.
Once you know that iwctl fronts iwd, fixing related errors turns into a quick, repeatable routine on laptops.
