The OBD app that I use, AndrOBD, has three different options to retrieve OBD fault codes:

  • OBD fault codes
  • OBD fault codes (pending)
  • OBD fault codes (permanent)

The third option, as I understand it, queries for new codes permanently, where the other two retrieve the list of codes once.

OBD fault codes seems to retrieve codes only if the “check engine” light is on. OBD fault codes (pending) has retrieved codes even without the CEL on, and these were codes that have also sporadically triggered the CEL.

So what is the difference between these? Do error conditions need to cross a certain threshold to go from pending to regular?

1 Answer 1


My understanding of pending codes are; the error was corrected and may require up to three separate driving cycles to ensure the error doesn't return to remove it from pending status or a battery disconnect or reader reset was performed which erases all learned data to force a completely new emissions self test as if the vehicle left the assembly line. This means several parameters are pending and learned from startup, driving, to engine shutdown. In any reset, the entire emissions self tests are performed at startup and while driving. All OBD II emissions tests are performed at every startup and while driving. Parameters learned and compared to programmed emissions data then stored in live memory until battery power or manual reset erases stored data. Not advised before state emissions inspection as inspectors see the same lack of data and know a reset was performed and will not issue an inspection sticker until emissions self tests pass, taking up to 50 miles of driving in local and highway conditions.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .