Ledger Live iPhone Not Detecting Nano X: Why the Pairing Breaks and How to Restore It
Here is a standalone HTML article about fixing the Ledger Live iPhone Nano X detection issue, with a research notice, structured sections, and a comparison table. It covers Bluetooth pairing, permissions, cable diagnostics, and verification steps for troubleshooting.
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Ledger Live iPhone Not Detecting Nano X Fix: Bluetooth Pairing, Permissions, and Cable Diagnostics",
"description": "Ledger Live iPhone Not Detecting Nano X Fix traces the four things that must line up for a wireless handshake: a granted radio permission, one valid saved credential, a charged signer, and a data-capable cable for tests. Clearing the stale entry and pairing again resolves most cases, while a wired repetition isolates the rest."
}
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How do you confirm a pairing failure lies in the cable rather than the radio?",
"step": [
{
"@type": "HowToStep",
"text": "Remove every saved Bluetooth entry for the signer from the mobile system settings."
},
{
"@type": "HowToStep",
"text": "Re-pair the accessory through the vendor's application and watch whether its name appears."
},
{
"@type": "HowToStep",
"text": "Confirm the radio and local network permissions for the companion in system settings."
},
{
"@type": "HowToStep",
"text": "Connect the signer to a computer with a USB-C cable rated for data and repeat the same operation."
},
{
"@type": "HowToStep",
"text": "Compare the companion version and signer firmware with the release documentation published on the official support pages."
}
]
}
Ledger Live iPhone Not Detecting Nano X Fix starts with deleting the stored Bluetooth entry on the handset and pairing again from a clean state, since a stale bond key is the most frequent cause of a handshake that stalls on a spinner. The companion application asks the mobile operating system for a nearby accessory, and that request fails silently when the radio permission was refused or when two saved records point at one signer. A USB-C cable rated for data then shows whether the fault sits in the radio path or in the physical link.
How the companion application and the handheld signer complete a Bluetooth handshake
The handshake runs in two stages. The mobile operating system stores a bond key for the accessory, and the companion opens an encrypted channel over that bond to read the signer’s public key and derived addresses. Private keys stay inside the device’s secure element, which returns a signature only after you approve the request on its screen.
Where the bond key is stored and what invalidates it
The bond key is held by the mobile operating system rather than by the companion, so deleting and reinstalling the application leaves that credential untouched and can leave a second entry for the same accessory. Two records pointing at one signer produce a spinner that never resolves, because the operating system routes each connection attempt to a record the hardware no longer answers. Removing every saved entry in system settings, then pairing again through the application, rebuilds one valid credential.
What the secure element does while a request is open
The secure element generates and holds private keys in hardware, signs payloads after on-screen approval, and exposes only public data and signatures. The companion passes an unsigned transaction and receives a signature back, holding no access to the seed. A broken link therefore costs convenience rather than custody: the unsigned request sits in the queue while the signer output stays untouched.
Radio scheduling and interference on a busy handset
The connection uses Bluetooth Low Energy, which the mobile operating system schedules per application and shares with headphones, watches, and car systems. A second wallet application in the foreground can hold the radio, and a body or a metal surface between the two units drops packets that the link layer would otherwise retry. Keeping both units within a metre and closing other wallet applications removes interference that mimics a firmware fault.
Who depends on the wireless link, and when a cable serves better
Everyday transfers from a handset depend on it: checking balances, sending funds, approving staking operations, and confirming addresses during a swap. It fits routine use where the signer sits charged and close by. A cable suits first-time setup, firmware updates, large batches, and any diagnosis, because the physical path removes radio discovery from the equation.
Routine transfers away from a desk
People who manage positions from a handset while travelling rely on radio pairing for balance checks, approvals, and address confirmation. The signer screen remains the source of truth for the destination address, while the companion supplies the fee and amount fields. This arrangement works while the accessory is charged and within range; a hotel desk with a laptop leaves custody unchanged regardless of which link carries the request.
Setup, updates, and batch operations
First-time initialization, firmware updates, and long approval queues go faster over a cable, since the operating system handles one physical device instead of scanning a radio band. Desktop companion builds carry the same account model, so addresses and balances match what the handset shows. The cable route also removes the possibility that a refused radio permission sits behind the symptom.
Recovery and restore work without either link
Restoring access from a recovery phrase happens entirely on the signer through its own screens and buttons, and the companion plays no part in that path. Applications rebuild an account list by reading public keys, and that read requires a live link. Understanding the split matters, because a stalled pairing blocks reading addresses while leaving seed recovery untouched.
Wireless, wired, and on-device routes side by side
The vendor’s own application over radio serves routine transfers; a USB-C connection suits updates and diagnosis; a third-party interface adds tooling and an extra trust surface; and the signer screen alone verifies what a request holds. Fit depends on whether you need speed, a controlled check, or extra tooling.
The four routes below carry the same signing requests, so they are compared on the link they use, the limitation that decides whether they work at all, and how a user can verify that what the host displays matches what the signer approves.
| Route | Link type | Main limitation | How to verify |
|---|---|---|---|
| Vendor companion over radio | Bluetooth Low Energy | Needs an active radio permission and one valid saved entry | Pair again and watch the accessory name appear |
| Vendor companion over cable | USB-C data cable | Needs a data-capable cable plus a desktop machine | Repeat the same operation over the wire |
| Third-party interface over cable | USB-C data cable | Extra software reads addresses and holds the session | Compare host addresses against the signer screen |
| Signer screen alone | No link | Confirms only what arrives; builds no request | Read address and amount before approving |
The radio route fits routine approvals and quick balance checks; it falls short during firmware work, on handsets where the radio permission was reset, and where several saved entries exist. The cable route fits setup, updates, and diagnosis, though it needs a data-capable cable and a computer. Third-party interfaces fit advanced workflows and cost an extra trust surface, so addresses belong next to the signer screen. The screen-only route fits verification of an address or fee, since it builds no request at all.
Why radio pairing deteriorates after a system update
Major handset system releases rebuild the Bluetooth permission model and can drop stored credentials for accessories that were paired under an older build. The application then scans a band where the operating system refuses to list the accessory, and the interface shows a waiting state instead of a permission prompt. Pairing again after the update restores a credential the new permission model accepts.
Data-capable cables versus charge-only cables
A charge-only cable carries power over two conductors and omits the data pair, so a computer sees no accessory and the companion starts no session. A cable rated for data transfer negotiates a USB connection and appears in system device lists. Swapping to a known data cable is the cheapest test, since it separates a conductor fault from a radio fault in one step.
Limits, risks, and mistakes that keep a signer invisible
The most frequent obstacles are a saved entry the operating system refuses to refresh, a radio permission refused once and never re-granted, a signer that slept mid-request, and a cable that carries power only. Each produces a similar waiting screen, so testing them in order saves time.
A saved entry outlives the application that created it
Removing the companion and installing it again leaves the operating system’s stored credential in place, so users repeat the same failing step and conclude the accessory is broken. The visible symptom is a scanning screen that ends in a timeout, or an accessory name greyed out in system settings. Deleting the saved entry and pairing from a clean state is the first thing to test, before any firmware work.
A refused permission stays refused
An access prompt answered with a refusal during onboarding remains recorded in system settings, and later scans return empty lists with no error shown. This looks identical to a dead radio or a flat battery. Checking the permission list for the companion and enabling the radio toggle is a two-tap action that rules the cause out.
Sleep timers, low charge, and lock screens
The signer dims its screen and stops advertising after a short idle window, and a very low battery shortens that window further. An approval request that arrives while the screen is locked sits unread, and the host reports a dropped link. Waking the accessory with a button press and keeping it charged removes a class of failures that look like software faults.
How do you confirm a pairing failure lies in the cable rather than the radio?
Run the same operation twice, once over radio and once over a USB-C data cable, and compare the outcomes. Have ready the companion installed on both a handset and a computer, a data-capable cable, a charged signer, and access to system Bluetooth settings so permissions and saved entries can be inspected.
Step 1: Clear saved wireless entries
Remove every saved Bluetooth entry for the signer from the mobile system settings. A leftover credential routes each new attempt to a record the accessory no longer answers, which shows up as a spinner rather than a connection.
Step 2: Pair again through the vendor’s application
Re-pair the accessory through the vendor’s application and watch whether its name appears. Pairing again writes a single fresh credential and shows whether radio discovery works at all, since a name that appears means the radio path responds.
Step 3: Re-grant the radio permissions
Confirm the radio and local network permissions for the companion in system settings. A refusal recorded during onboarding returns empty scan results with no prompt, so this check separates a permission wall from a hardware fault.
Step 4: Repeat the operation over a data cable
Connect the signer to a computer with a USB-C cable rated for data and repeat the same operation. Success over the wire while radio attempts stall narrows the fault to the radio path, whereas a second failure points at the accessory, the cable, or the host software.
Step 5: Compare versions against published documentation
Compare the companion version and signer firmware with the release documentation published on the official support pages. Pairing regressions track specific builds, so the published documentation states whether a newer version alters how the accessory is discovered.
Which changes across application and firmware releases break a working connection?
Two classes of change produce it: handset system updates that rebuild the radio permission model and discard stored credentials, and application or firmware builds that alter how the accessory is discovered. Neither class is visible inside the interface, so the version numbers on both sides remain the only reliable clue.
Version numbers decide, documentation explains
Each companion build ships documentation listing changed behavior, and firmware releases carry their own changelogs; both are published on the manufacturer’s support site. Reading them before a reinstall saves a wasted cycle, since a correction listed for a later build means the remedy is an update rather than a repair. Where the documentation describes the handshake, treat the pairing steps as version-dependent.
Handset system updates reset radio state
Operating system updates rebuild permission grants and can drop accessory credentials, which is why a device that paired yesterday scans empty today. The remedy is procedural: clear saved entries, grant the radio permission again, and pair once more. Behavior across system releases varies, and current guidance sits on the vendor’s support pages.
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Ledger Live iPhone Not Detecting Nano X Fix: Bluetooth and Permission Checks That Restore Pairing",
"description": "Ledger Live iPhone Not Detecting Nano X Fix begins at two permission gates: the handset's per-app Bluetooth grant and the roster the companion app stores. Clear both, drop stale bonds, and the signer reappears during a scan."
}
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How Do You Verify Bluetooth and App Permissions Before Pairing?",
"step": [
{
"@type": "HowToStep",
"text": "Open the handset's settings, enter the Bluetooth pane, and confirm the radio is switched on."
},
{
"@type": "HowToStep",
"text": "Locate the companion app in the system privacy list and set its Bluetooth entry to allowed."
},
{
"@type": "HowToStep",
"text": "Remove every obsolete signer entry kept inside the application before starting another scan."
},
{
"@type": "HowToStep",
"text": "Unlock the signer with its PIN and keep both devices within a metre of each other."
},
{
"@type": "HowToStep",
"text": "Run the add-a-device flow a single time, confirm the signer appears, then sign one short test message."
}
]
}
Ledger Live iPhone Not Detecting Nano X Fix starts at the permission layer, where two independent grants decide whether the hardware signer ever appears in a scan. The checks below cover the operating system’s per-app Bluetooth record, the roster stored inside the companion application, and the pairing slots that abandoned attempts leave behind.
Check iPhone Bluetooth and Ledger Live Permissions for Nano X Detection
Two separate permission layers decide whether the signer appears in a scan: the operating system’s Bluetooth grant for the companion app, and the app’s own state for adding a device. Withdraw either one and discovery halts quietly – the signer stays powered and advertising while the scan list stays empty.
Where the System Keeps the Bluetooth Grant
Apple handsets store the Bluetooth grant per application inside the privacy section of system settings, a record separate from the global radio toggle in Control Center. Flipping the radio off there suspends scanning without touching the per-app entry, and flipping it back restores the earlier answer. If the application carries no entry at all in that list, treat the grant as revoked and trigger it again by starting a scan from inside the app.
What the Companion App Stores on Its Own
Past the system grant, the application keeps a roster of recognised signers, each with a connection record written during the first successful handshake. Erasing an entry there destroys the token the software reuses on later launches, while the system-level grant survives untouched. That split explains a familiar pattern: an application that finds the signer right after installation, then loses it once the roster is cleared or the app data is reset.
Stale Bonds and Occupied Pairing Slots
Every abandoned attempt can leave a half-finished bond behind, and a hardware signer accepts a bounded number of bonded hosts, with the current ceiling published on the vendor’s support pages. Several orphaned records crowd that budget, so a fresh handshake gets rejected while the visible symptom stays an empty scan. Clearing the roster inside the app, restarting the signer, and pairing once – rather than five times in a row – frees those slots.
Who Depends on the Wireless Route and When It Applies
People who sign away from a desk depend on the wireless route: the signer talks to the companion app over Bluetooth Low Energy, a short-range radio link, so no cable joins the two. The route applies to handset setups; a cabled link to the desktop application stays the fallback whenever wireless is unavailable.
Desk-Free Signing Sessions
Anyone approving transfers from a phone, a café table, or a client’s office leans on the radio link because it removes the cable and the computer from the loop. The trade-off is that every session passes through the handset’s permission gate, so one denied toggle blocks all signing at once. Desktop-only users rarely meet this failure, since a cable carries power and data without asking the system for a radio grant.
Cases Where a Cabled Link Serves Better
Firmware updates, bulk account restores, and recovery-phrase verification run through the desktop application with a cable attached, because the mobile route offers no equivalent path for those operations. Keeping a cable handy also gives a second, independent way to prove the signer itself works when a wireless attempt produces nothing. If the cabled connection succeeds while the radio route fails, the fault sits in the handset or the application, not in the hardware.
First Setup Compared With Re-Pairing After a Reset
A brand-new signer arrives without stored bonds, so the first scan is the one that writes the record both sides keep. Re-pairing after a device reset or an app reinstall means writing that record again while an older copy may still sit in the roster, which is why clearing stored entries first avoids a rejected handshake. Treat initial setup and later reconnection as two different states rather than one repeated action.
Wireless Pairing Against Wired and Browser Routes
Wireless pairing through the mobile app suits desk-free signing; a cable to the desktop application suits firmware work and bulk account handling; a browser session suits quick checks from a computer. Each route hands the operating system a different level of access to the signer, which decides what can break and how to prove it.
The table weighs four routes against identical criteria – what each one needs before it starts, the ceiling each hits, and the fastest way to confirm the signer answers at all. Rows are compared on those three points alone, so two routes sitting side by side can be judged on the same terms.
| Route | Prerequisite | Ceiling it hits | Quick confirmation |
|---|---|---|---|
| Wireless pairing in the mobile companion app | System radio on, per-app Bluetooth grant allowed, signer unlocked | Background limits can park the radio mid-session | Signer appears in the app’s device roster |
| Cabled link to the desktop application | Compatible cable or adapter, current desktop build | Tethers the signer to one computer | Desktop application lists the signer after insertion |
| Wireless pairing on an Android handset | Bluetooth grant, plus the location toggle on older releases | Handset-specific pairing quirks vary by hardware generation | Scan inside the companion app surfaces the signer |
| Browser session using WebHID or WebUSB | Chromium-based desktop browser and a cable | Mobile browsers expose no equivalent interface | Browser prompt lists the attached signer |
Pick the mobile route when the signer travels with the phone and the session can stay in the foreground; pick the cable when firmware, recovery, or account restores sit on the schedule; pick a desktop browser when a one-off check is enough and no account data needs to persist. The mobile route is the wrong choice for anything that must survive a locked screen or a long idle stretch, and the browser route is unavailable on the handset entirely.
Why the Mobile Route Lives or Dies by the Permission Grant
The wireless path is the only one where the operating system sits between the signer and the software, so a withdrawn grant cannot be worked around from inside the application. Nothing in the app’s own settings can restore a record the system has revoked; the toggle has to be flipped again in the system pane. That makes the mobile route fast to restore but easy to break, and it explains why reinstalling the software often clears the symptom for a while.
What the Cabled Route Proves That the Radio Route Cannot
A cable carries both data and power, so a successful cabled session rules out a flat battery, a dead radio module, and a firmware branch that refuses handshakes. Support desks lean on that test because it isolates the fault to one side of the link in a single step. Screen-lock state, background throttling, and slot budgets stop mattering once the cable is in.
Why Does the Link Drop After a Successful First Pairing?
Three causes cover most dropouts: power management that parks the radio once the app moves to the background, duplicate records left behind by earlier attempts, and version gaps between the application and the signer’s firmware. All three produce one symptom – a device that paired yesterday and stays invisible today.
Background Scanning and Battery Rules
Mobile systems throttle background radio use to protect battery life, so a scan started while the software sits in the background can return an empty result even with every permission granted. Bringing the application to the foreground, keeping the signer awake, and scanning again separates a throttling artefact from a genuine permission problem. A session that survives with the screen on and dies with it off points at power management rather than at the grant.
Duplicate Records From Repeated Attempts
Each failed pairing can add a partial entry on either side, and five retries in a row leave five fragments competing for the same slot. The signer then declines a new handshake because it believes a host is already bonded, while the software shows nothing recognised. Remove stored entries in the application, power the signer down and up, and attempt one pairing instead of a burst.
Version Gaps Between Application and Firmware
The companion software expects a firmware branch it can talk to, and a signer left on an older release can fail at the handshake stage without showing any message on the handset. Compare the version on the signer’s own screen against the release notes, and update through the desktop application with a cable when the two disagree. Version support windows are published on the official source and shift with each release.
How Do You Verify Bluetooth and App Permissions Before Pairing?
Work through five checks in order: the handset’s radio state, the companion app’s privacy grant, the roster the application stores, the signer’s locked state, and one clean scan. Have the signer charged, unlocked with its PIN, and within arm’s reach before starting.
Step 1: Confirm the radio is switched on
Open the handset’s settings, enter the Bluetooth pane, and confirm the radio is switched on. A radio parked in airplane mode suspends every scan the application runs, which looks identical to a withheld grant from inside the app.
Step 2: Check the application’s privacy entry
Locate the companion app in the system privacy list and set its Bluetooth entry to allowed. That record is the only place a refusal is stored, and once denied the software receives empty scan results without surfacing any error.
Step 3: Clear stored device records
Remove every obsolete signer entry kept inside the application before starting another scan. Leftover records hold pairing slots open, so the signer may decline a fresh handshake while the app still reports nothing recognised.
Step 4: Unlock the signer and close the distance
Unlock the signer with its PIN and keep both devices within a metre of each other. A locked signer stops accepting new connections, and distance or a wall weakens the signal the scan depends on.
Step 5: Scan once and test a signature
Run the add-a-device flow a single time, confirm the signer appears, then sign one short test message. Visibility proves the grant and the bond work; a completed signature proves the session survives past the handshake.
What Shifts Between System Releases and What Stays Uncertain
Permission labels move between system builds – Bluetooth controls have migrated across privacy panes and per-app screens – while the rule underneath stays fixed: each application holds its own grant. Anything version-bound, from supported handset models to firmware requirements, is published on the official source rather than settled in a guide.
Labels That Migrate Between Settings Panes
Wording for the same control has shifted across builds: a toggle labelled for Bluetooth may sit under a privacy heading in one release and inside the application’s own settings page in another. Searching the settings app for the software’s name finds the entry faster than following a remembered path. When a walkthrough names a menu the handset lacks, that menu was renamed rather than removed.
Model and Build Differences That Alter Behaviour
Two handsets on the same system release can behave differently, because hardware generations and regional builds alter how aggressively background radio use gets throttled. An ageing battery pushes the same throttle harder, so an older device may park scanning sooner than a newer one. Note the model and the system version before reporting a failure, since support replies depend on both.
Support Documentation That Moves Without a Changelog
Vendor help pages get edited as builds ship, and a page that matched last quarter’s menus can already describe a different path this quarter. Treat anything about supported models, firmware branches, or pairing ceilings as current only on the day it was read, and re-check the vendor’s official support pages instead of a cached copy or a forum screenshot. Where two sources disagree, the vendor’s page reflects the build that shipped.
Q&A:
Why does my iPhone not detect my Nano X in Ledger Live?
Check that Bluetooth is on for the iPhone and for the Nano X. Open iOS Settings > Bluetooth and make sure it is enabled. Then open iOS Settings > Ledger Live and confirm Bluetooth access is allowed. Enter your PIN on the Nano X and leave it on the dashboard. In Ledger Live, open My Ledger or the device connection screen and let it scan. Keep the Nano X close to the iPhone. Close other apps that may hold a Bluetooth connection, such as another wallet app or a computer session. If the Nano X was paired with another phone or laptop, disconnect it there. Then toggle Bluetooth off and on, restart the iPhone, and restart the Nano X. Try pairing again from Ledger Live. Do not pair from the iPhone Bluetooth menu first; start the pairing inside Ledger Live.
I paired my Nano X before, but now Ledger Live cannot find it. What should I try next?
Go to iPhone Settings > Bluetooth. If you see your Nano X listed there, tap the i icon and choose Forget This Device. This removes an old Bluetooth link that can block a new Ledger Live pairing. In Ledger Live, remove the device from your device list, then add it again. Make sure the Nano X is open with your PIN and Bluetooth is enabled on the device. Turn Bluetooth off and on in iPhone Settings. Restart both the iPhone and the Nano X. Keep only one Ledger Live app open. If you use a computer with Ledger Live, quit it or turn off its Bluetooth. After those steps, open Ledger Live, select Nano X, and approve the pairing code on the Nano X.
Could a recent iOS or Ledger Live update cause this detection problem?
It can. iOS updates sometimes reset app permissions, so check Settings > Ledger Live and allow Bluetooth again. Update Ledger Live from the App Store. If you use an older app build, it may not match the Nano X firmware. Check the Nano X firmware in Ledger Live. If the mobile app cannot complete the firmware update, connect the Nano X to a computer with a USB cable and use Ledger Live desktop. After any firmware or app update, remove the old pairing from iOS Bluetooth settings, remove the device in Ledger Live, and pair again. Restart the iPhone after the update. If the problem began right after an iOS beta, wait for a stable release or test with another iPhone.
My Nano X says Bluetooth is off or it never appears in the scan. How do I make it discoverable?
Enter your PIN on the Nano X. Use the buttons to open Settings. Find Bluetooth and set it to On. If the battery is very low, charge the Nano X for at least 20 minutes; a weak battery can stop the Bluetooth radio from working. Then open Ledger Live on the iPhone, tap My Ledger, and choose Nano X. The app should show a pairing prompt. If no prompt appears, toggle iPhone Bluetooth, restart the Nano X, and try again. Also check that the Nano X is not connected to another phone or computer. Bluetooth on Nano X supports one active connection at a time. If another device is connected, disconnect it first.
Is it safe to delete Ledger Live or reset my Nano X to fix this?
Deleting Ledger Live from the iPhone is safe for your crypto. The app is only a window to your accounts; your private keys stay on the Nano X. Reinstalling the app will clear its local settings and pairings, so you will need to add the Nano X again and allow Bluetooth. Do not reset the Nano X unless you have your recovery phrase written down and stored offline. A reset wipes the device, and the only way to restore access is the recovery phrase. If you reset without the phrase, your funds are lost. If you decide to reset, restore the Nano X with the phrase, set a new PIN, enable Bluetooth, then pair it in Ledger Live. Never type your recovery phrase into any app, website, or chat. If basic steps do not work, ask Ledger support for help.
My iPhone won’t detect my Ledger Nano X in Ledger Live. The device is charged and past the PIN screen, but the app keeps saying no device found. What should I check?
First, confirm that you are trying to connect over Bluetooth, not a cable. Ledger Live on iPhone uses Bluetooth for Nano X; a Lightning cable usually cannot carry that connection. On the Nano X, open Settings > Bluetooth and make sure it is set to On. Then open iPhone Settings > Bluetooth and see if Ledger Nano X appears. If it is already listed but fails, tap the info icon and choose Forget This Device. Also check iPhone Settings > Ledger Live and allow Bluetooth permission. Close other apps that may hold a Bluetooth link, such as another wallet or a previous Ledger Live session. Toggle iPhone Bluetooth off for ten seconds, turn it back on, then open Ledger Live and try pairing again. Keep the Nano X near the iPhone and avoid pairing it with a computer or another phone at the same time. If Ledger Live still shows no device, restart both the iPhone and the Nano X. Enter your PIN on the Nano X, open Ledger Live, go to My Ledger, and tap Connect. When the pairing code appears, compare it on both screens and approve it. A low battery can also stop the Bluetooth radio from working; charge the Nano X for at least 30 minutes. If none of this helps, test the Nano X with another iPhone or with Ledger Live on a computer. If it works there, the issue is likely the iPhone’s Bluetooth cache or app permission. If it fails everywhere, the Nano X Bluetooth hardware or firmware may need attention, so contact Ledger support with your order details and the exact error message.