If you're hitting the "Cannot communicate with scanner" error with your CanoScan LiDE 400 on macOS Tahoe, here's what's actually going on and a free workaround that doesn't need Canon's software at all.
Why it happens: Canon's IJ Scan Utility Lite is missing a required macOS security entitlement (com.apple.security.automation.apple-events) in its current build. macOS Tahoe enforces this strictly, so the app's internal helper process gets silently blocked by the system — no permission prompt, nothing you can fix in Settings. This is a bug in Canon's app, not your Mac. Canon's own support page doesn't even list Tahoe as a supported OS yet for this model, so a real fix may take a while.
The workaround: Your scanner's USB hardware is fine — the open-source SANE project has supported LiDE 400 since 2019 (genesys backend), completely independent of Canon's broken software. Here's how to get scanning again, with a simple one-click app at the end (no watermarks, no trial limits):
1. Install Homebrew (skip if you already have it — check with brew --version in Terminal):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2. Install SANE:
brew install sane-backends
3. Confirm it sees your scanner:
scanimage -L
You should see something like device 'genesys:libusb:...' is a Canon LiDE 400 flatbed scanner.
4. Find the exact path to scanimage (you'll need this for step 6):
which scanimage
(usually /opt/homebrew/bin/scanimage on Apple Silicon, /usr/local/bin/scanimage on Intel)
5. Important — quit any Canon scanner processes first, since they can lock the USB device even in the background:
killall CIJSULAgent
killall "Canon IJ Scan Utility Lite"
Also go to System Settings > General > Login Items & Extensions and turn OFF anything Canon-related, so it doesn't relaunch and block the scanner again.
6. (Optional but nice) Make a simple one-click scanner app:
- Open Script Editor (Spotlight search)
- Paste this in, replacing the scanBin path with what you found in step 4:
applescript
set scanBin to "/opt/homebrew/bin/scanimage"
set desktopFolder to POSIX path of (path to desktop folder)
set timestamp to do shell script "date +%Y%m%d-%H%M%S"
set choices to {"PNG — Small (150 dpi, fast)", "PNG — Medium (300 dpi)", "PNG — Large (600 dpi, best quality)", "PDF — Small (150 dpi, fast)", "PDF — Medium (300 dpi)", "PDF — Large (600 dpi, best quality)"}
set userChoice to choose from list choices with title "Scanner" with prompt "Choose format and quality:" default items {"PNG — Small (150 dpi, fast)"} OK button name "Scan" cancel button name "Cancel"
if userChoice is false then
return
end if
set selectedText to item 1 of userChoice
if selectedText starts with "PDF" then
set fileFormat to "pdf"
else
set fileFormat to "png"
end if
if selectedText contains "150" then
set dpi to "150"
else if selectedText contains "300" then
set dpi to "300"
else
set dpi to "600"
end if
set pngPath to desktopFolder & "scan-" & timestamp & ".png"
display notification "Scanning at " & dpi & " dpi..." with title "Scanner"
try
do shell script scanBin & " --format=png --resolution " & dpi & " > " & quoted form of pngPath
if fileFormat is "pdf" then
set finalPath to desktopFolder & "scan-" & timestamp & ".pdf"
do shell script "sips -s format pdf " & quoted form of pngPath & " --out " & quoted form of finalPath
do shell script "rm " & quoted form of pngPath
else
set finalPath to pngPath
end if
set answer to display dialog "Done: " & (do shell script "basename " & quoted form of finalPath) buttons {"OK", "Open file"} default button "Open file"
if button returned of answer is "Open file" then
do shell script "open " & quoted form of finalPath
end if
on error errMsg
display dialog "Error: " & errMsg buttons {"OK"}
end try
- File > Export, set File Format to Application, save it wherever you like (drag it to your Dock for one-click access)
- Double-click, pick your format/quality, hit Scan — done. Files land on your Desktop as scan-<timestamp>.png or .pdf, never overwriting old ones.
Hope this saves someone the hours it took me to track down. Happy to answer questions if you get stuck on any step. still waiting for a official driver , but until that is done this can help you do you basic work !