Delete multiple activities on Garmin Connect Web (Dec 2025)

Looks like previous scripts posted to this forum are out of date. Had Claude AI cook up an updated script:

To Open the console > Google Chrome > Main Menu > View > Developer > JavaScript Console. Copy and paste in the following code:

// Get all activity list items (ignoring the hash suffix)
const items = document.querySelectorAll('[class*="ActivityListItem_listItem"]');

// Function to delete with delay between each
async function deleteActivities() {
for (let i = 0; i < items.length; i++) {
const deleteBtn = items[i].querySelector('[class*="ActivityListItem_buttonDelete"]');

if (deleteBtn) {
console.log(`Deleting activity ${i + 1} of ${items.length}`);
deleteBtn.click();

// Wait for confirmation modal to appear
await new Promise(resolve => setTimeout(resolve, 100));

// Find and click the danger button (Delete)
const confirmBtn = document.querySelector('[class*="Button_danger"]');

if (confirmBtn) {
confirmBtn.click();
} else {
console.log('Confirmation button not found for activity', i + 1);
}

// Wait before processing next item
await new Promise(resolve => setTimeout(resolve, 200));
}
}
console.log('Deletion process complete');
}

// Run the deletion
deleteActivities();

  • Thanks for reminding me to fix my script:  RE: Can I delete just the activities from a single Garmin device from my Garmin Connect account? 

    Had Claude AI cook up an updated script

    Idk why ppl brag about this kind of thing but you do you. "I'm not a doctor but I managed to look up your symptoms on webmd."

    You're literally bragging about being a human interface to a chatbot. At least in the classic case of reporting what you googled and/or looked up on a website, some thought may have been involved.

    "Had Claude AI cook up..."

    The way this is written, you make it sound like Claude AI works for you but from my POV it's the other way around.

    One issue with "your" script is that it only works for activities that are currently loaded/rendered on the activity list page. If someone has a lot of activities, they might need to scroll for a long time for all of them to be rendered, due to Garmin's terrible infinite scroll implementation for the activity list. (And there's no guarantee afaik that all the activities will ever be present on the page all at once anyway. For all I know, once you scroll past a certain point, activities on the other end of the list will fall off.)

    Thanks for posting the script anyway. 

  • To Open the console > Google Chrome > Main Menu > View > Developer > JavaScript Console. Copy and paste in the following code:

    You're missing some steps here:

    - before the user opens the console, they have to open connect.garmin.com, log in, and navigate to the activity list (left sidebar > Activities > All Activities). To be fair, this part could be inferred by the reader since we are talking about deleting activities. But why leave it out?

    - before the user pastes the code in, they have to type "allow pasting" (this is a one time thing)

    Also, the general way to open the console in any of the popular browsers (not just Chrome) is:

    1) CTRL-SHIFT-I (Windows)

    CMD-OPTION-I (Mac)

    2) Select the Console tab