Unofficial community reference. Not affiliated with 37signals or the Omacom Foundation. Download Omarchy only from omarchy.org.
omarchylinux.org Unofficial field manual

Printer not found on Omarchy

Your printer no longer appears by itself on Omarchy 4.0.2 and later. Add it by hand in Print Settings, or with lpadmin, and pick the right CUPS driver.

Workaround available Applies to Omarchy 4.0.2 and later Last verified 2026-09-16 on 4.0.4
Short answer

Omarchy 4.0.2 removed cups-browsed, so nothing is discovered automatically any more. Open Print Settings from the app launcher, choose Add, and wait for the scan. If the printer is still missing, add it manually as Network Printer, Internet Printing Protocol (ipp), using its IP and the queue ipp/print. Make sure cups.service is running first.

On this page
  1. The fix
  2. Verify it worked
  3. Why it happens
  4. If that did not work
  5. Related

Since Omarchy 4.0.2 your printer does not show up on its own. That is deliberate, not a bug. Automatic discovery was pulled out and the manual now tells you to add each printer yourself.

The fix

  1. Confirm the print scheduler is up. A fresh install enables it, but some machines end up with it inactive, which is what issue #9377 reports.

    systemctl status cups.service
    sudo systemctl enable --now cups.service
  2. For a USB printer, check that the kernel sees it at all before blaming CUPS.

    lsusb
    sudo lpinfo -v

    lpinfo -v lists every backend and device CUPS can reach. A USB printer shows as a usb:// line, or hp:/usb/ once hplip is installed. The sudo is not optional: since 4.0.2 the shipped /etc/cups/cups-files.conf limits SystemGroup to cups-browsed sys root, so your own user gets lpinfo: Forbidden and that is expected. Print Settings goes through polkit via cups-pk-helper instead, which is why the GUI does not need it.

  3. Open Print Settings from the app launcher with Super + Space. Choose Add and give the scan a few seconds. USB printers and most network printers turn up here.

  4. If it is still not listed, add it by address. In the Add dialog pick Network Printer, then Internet Printing Protocol (ipp), and enter the printer’s IP with a queue of ipp/print. Most printers show their IP on the front panel or on their own web page. The manual FAQ walks through the same path.

    The command line equivalent, if you prefer it:

    sudo lpadmin -p Office -E -v ipp://192.168.1.50/ipp/print -m everywhere
    sudo lpadmin -d Office

    -m everywhere is the driverless IPP Everywhere profile. lpadmin -d sets the default queue that apps reach for first.

  5. If you want to reach the printer by name instead of by IP, check that mDNS works.

    systemctl status avahi-daemon.service
    getent hosts myprinter.local
    avahi-browse -rt _ipp._tcp

    avahi-browse is in the avahi package, which Omarchy ships. If getent fails while avahi-browse finds the printer, the problem is the hosts: line in /etc/nsswitch.conf, not the printer.

  6. Pick the driver last. Anything recent should take the driverless IPP Everywhere profile. Older models need a driver for that specific printer, which usually means an extra package. For HP hardware that is hplip, which Omarchy does not ship.

Verify it worked

lpstat -t
lp -d Office /usr/share/cups/data/testprint
lpstat -o

lpstat -t should say the scheduler is running and show your queue as idle and accepting requests. lpstat -o should empty out as the job finishes. If the queue prints from lp but not from apps, skip to the GUI freeze note below, because that is a different fault.

Why it happens

Omarchy 4.0.1 and everything before it shipped cups-browsed, which watched the network and created queues for printers it found. The 4.0.2 release listed “Temporarily remove automatic printer discovery” under Deprecations, from PR #8951. Comparing the package lists in the source tree, cups-browsed and cups-pdf are present through v4.0.1 and gone from v4.0.2 onward, replaced by cups-pk-helper. The manual FAQ changed with it: 4.0.1 said a network printer is usually already discovered, and 4.0.2 onward says you add each printer yourself.

Migration 1788009111 does the removal on existing machines. It disables cups-browsed.service, deletes the queues that service generated, which are the ones with an implicitclass:// device URI, and then drops the package. Queues with jobs waiting are left for you. Queues you added yourself are not touched.

cups, cups-filters, cups-pk-helper, avahi, nss-mdns and system-config-printer are all still in the base package list on 4.0.4, and the installer enables both cups.service and avahi-daemon.service. So the plumbing is there. Only the discovery layer is missing.

Before 4.0.2 the one missing-printer complaint on record was an mDNS problem instead. Issue #256 asked for avahi as a core package, and a commenter there described .local names failing to resolve while CUPS hung trying to use them. PR #1021 closed that in September 2025 by adding mdns_minimal to the hosts: line, well before 4.x.

If that did not work

The update itself fails on this migration. If omarchy update stops with lpstat: Scheduler is not running., that is issue #9377. The migration only expects a running scheduler or the exact English string lpstat: No destinations added., so a stopped CUPS aborts it, and because the marker is written on the last line the failure repeats on every retry. A commenter’s workaround is to start cups.socket and cups.service, run the update again so the migration completes and writes its marker, then stop CUPS again. PR #9406 proposed handling the stopped scheduler, but it was closed without being merged, and the check is still unhandled in the 4.0.4 tree.

The same migration fails on a non-English system. Issue #9640 shows the string check failing under pt_BR.UTF-8 because LC_ALL=C does not override LANGUAGE for gettext, so lpstat still answers in Portuguese. The reporter notes LC_MESSAGES=C does force English. Same workaround applies: complete the removal by hand, then let the migration marker be written.

Print dialogs freeze while lp works. Issue #3790, closed in January 2026, is a mixed set of CUPS libraries rather than a missing printer. Two people confirmed that reinstalling the three packages together and restarting the scheduler fixes it:

sudo pacman -S cups cups-filters libcups --overwrite='*'
sudo systemctl restart cups

An HP inkjet fails every job with universal filter failed. Issue #11814 covers an HP Smart Tank on a driverless queue. The reporter’s verified fix installs hplip plus gutenprint, disables ipp-usb because it fights the kernel usblp driver, and rebuilds the queue against the hplip PPD and an hp:/usb/... device URI. Discussion #250 is a longer community guide for HP hardware along the same lines. This is still open, so treat it as a workaround.

Pages come out blank or full of PJL text. Issue #11186 traced that to libcupsfilters moving to 2.2.x while cups-filters stayed at 2.0.1, and the reporter fixed it by downgrading libcupsfilters alone and restarting CUPS. Open, and worth checking before you rebuild a queue that was working yesterday.

.local names break after an update. Issue #9311 and its comments describe nss-mdns ordering in /etc/nsswitch.conf being reset by updates, with mDNS answering before /etc/hosts is consulted. This is still open. If you keep local hostnames in /etc/hosts, expect to reapply your ordering after updates that touch the avahi package set.

Evidence on printers is thinner than on most Omarchy topics. The printer cluster holds six issues and seven discussions, and none of the printing issues open today has a merged fix.

Upstream threads about this error

19 issues on the Omarchy tracker match this error cluster. Newest fixes often appear as comments on the most-discussed threads.

IssueStateCommentsOpened
#1226 Walker gone after 2.0.4closed122025-08-28
#256 Add Avahi for mDNS network discovery as core package · fixed by #1021 closed12025-07-20
#3790 GUI applications freeze when attempting to print (CUPS works via command line)closed32025-12-06
#9311 The update breaks the edits in /etc/nsswitch.confopen22026-08-31
#9377 Migration 1788009111 fails when CUPS scheduler is not runningopen22026-08-31
#11186 Printing from Firefox to a local USB HP printer produces PJL garbage + blank pages after cups-browsed is removed in 4.0.3open22026-09-10
#13023 Default CUPS setup fails on network printers using universal/pdftopdf filter; resolved by IPP-Everywhere (driverless)open12026-09-23
#10319 Bar: custom command module with empty "text" renders the raw JSON — falsy fallback makes conditional widgets impossibleopen22026-09-05
#5334 MSI X370 GAMING PLUS (ALC892): 3.5 mm jack hotplug only works after PipeWire restartopen12026-04-17
#9828 Snapper rollbacks silently un-apply Omarchy migrations (surfaced as: LUKS prompt still QWERTY after e891e5c)open12026-09-02

Accepted answers upstream

Questions people ask

Why did my printer disappear after updating to 4.0.2?
The update removes cups-browsed, which was the service that created queues for discovered printers by itself. Queues it had generated are deleted by migration 1788009111 unless they have pending jobs. Printers you added by hand are left alone. Add the missing one again from Print Settings and it will stay.
Do I still need avahi?
Yes, if you want to reach a printer by its .local name or let the Add dialog find it over mDNS. avahi-daemon.service is enabled at install time, and the shipped /etc/nsswitch.conf keeps mdns_minimal in the hosts line.
Can I print to a PDF without a printer?
The manual FAQ says printing to a PDF file works with no printer configured. Note that 4.0.2 also dropped the cups-pdf package, so there is no longer a PDF queue in CUPS. Look for the Print to File or Save as PDF option inside the app's own print dialog instead.

Sources and credit

Fixes on this page were worked out by joselberg (Pinned the migration failure to lpstat reporting a stopped scheduler), rafaelclima (Showed LC_ALL=C does not force English for lpstat, which breaks the same migration on non-English locales), HIMANSHU11827 (Worked out the hplip PPD and device URI that makes an HP Smart Tank print after the driverless queue fails), docPoacher (Isolated the libcupsfilters 2.2 page-drop with a single-package downgrade test), EERomeo (Found that reinstalling cups, cups-filters and libcups together unfreezes GUI print dialogs). Text here is our own paraphrase; follow the links for the original threads.

Unofficial. Verify against the official manual for your version. Improve this page Markdown version Sources