Run the following to see where it's stuck:
sudo jamf recon --verbose
Also, is "Collect available Software Updates" enabled under Settings > Computer Management > Inventory Collection? If so, this can cause issues.
@jtrant - no settings are made in Jamf. its stuck on Gatekeeper line as shown below.

@jamf-42 went through this link already, except re-enrolling and running this command "sudo launchctl kickstart -k system/com.apple.softwareupdated" i have tried other steps. we have some EAs which are to created since the environment was setup and this issue started last month.
@jamf-42 went through this link already, except re-enrolling and running this command "sudo launchctl kickstart -k system/com.apple.softwareupdated" i have tried other steps. we have some EAs which are to created since the environment was setup and this issue started last month.
Are you collecting available software updates during inventory? If so, disable it and see if the problem resolves.
Failing that, look for the next EA that runs during a verbose recon on a successful Mac and disable that temporarily to see if it resolves the issue on the problem Mac.
Are you collecting available software updates during inventory? If so, disable it and see if the problem resolves.
Failing that, look for the next EA that runs during a verbose recon on a successful Mac and disable that temporarily to see if it resolves the issue on the problem Mac.
@jtrant These are the 2 verbose logs Left side is Problem Mac and right is successful Mac. Which EA i can disable, i dont see error while EA script is run.

Hey Siddhi,
Long shot here, but I was having a terrible time trying to find out a similar issue, but just in case this is the answer:
Check if the user assigned to the devices have multiple entries:
- Users tab (at the top near Computers and Devices)
- Search by user (we had to search first by username, then email, then first name to confirm there were still no duplicates. You can also just click 'search' with an empty search field then scroll down until you find the user
- Delete any duplicates (we saved only the user that had a machine tied to them)
After doing that, our machines started recon/policy immediately