Skip to content
Albright Labs Albright Labs

Bulk Delete Claude Chats and Projects

Joe Buonocore
Bulk Delete Claude Chats and Projects
Claude's great, but the website lacks a ton of features I'd consider "simple", like the ability to bulk delete chats and projects. I wanted to do this myself recently and found the only way was to go through the browser console. Below is the code I used to clear all chats and projects via using the browser console. If you don't know how to open the browser console, Google "how to open browser console in {X browser}" and follow those steps. Delete Chats
// === BULK DELETE CLAUDE.AI CHATS ===
// Replace ORG_ID below with your own
const orgId = "{YOUR_ORG_ID}";

async function deleteAllClaudeChats() {
  // Fetch all chats
  const resp = await fetch(`https://claude.ai/api/organizations/${orgId}/chat_conversations`, {
    credentials: 'include'
  });
  const chats = await resp.json();

  if (!Array.isArray(chats) || chats.length === 0) {
    console.warn("No chats found.");
    return;
  }

  console.log(`Found ${chats.length} conversations.`);
  const proceed = confirm(`⚠️ This will permanently delete ${chats.length} chats.\n\nDo you want to continue?`);
  if (!proceed) {
    console.log("Aborted by user.");
    return;
  }

  // Rate limit: 1 delete every 500ms to stay safe
  for (const [i, chat] of chats.entries()) {
    const res = await fetch(`https://claude.ai/api/organizations/${orgId}/chat_conversations/${chat.uuid}`, {
      method: 'DELETE',
      credentials: 'include',
      headers: { 'Content-Type': 'application/json' }
    });

    if (res.ok) {
      console.log(`✅ [${i + 1}/${chats.length}] Deleted: ${chat.name}`);
    } else {
      console.warn(`⚠️ [${i + 1}/${chats.length}] Failed: ${chat.name} (${res.status})`);
    }

    // Delay to avoid rate limits
    await new Promise(r => setTimeout(r, 500));
  }

  console.log("🎉 All deletions attempted. Refresh your page to verify.");
}

deleteAllClaudeChats();
  Delete Projects
// === BULK DELETE CLAUDE.AI PROJECTS ===
// Replace ORG_ID with your actual organization ID
const orgId = "{YOUR_ORG_ID}";

async function deleteAllClaudeProjects() {
  console.log("Fetching projects...");

  const resp = await fetch(`https://claude.ai/api/organizations/${orgId}/projects`, {
    credentials: 'include'
  });
  const projects = await resp.json();

  if (!Array.isArray(projects) || projects.length === 0) {
    console.warn("No projects found.");
    return;
  }

  console.log(`Found ${projects.length} projects:`);
  projects.forEach((p, i) => console.log(`${i + 1}. ${p.name} (${p.uuid})`));

  const proceed = confirm(`⚠️ This will permanently delete ${projects.length} projects.\n\nDo you want to continue?`);
  if (!proceed) {
    console.log("Aborted by user.");
    return;
  }

  for (const [i, project] of projects.entries()) {
    const res = await fetch(`https://claude.ai/api/organizations/${orgId}/projects/${project.uuid}`, {
      method: 'DELETE',
      credentials: 'include',
      headers: { 'Content-Type': 'application/json' }
    });

    if (res.ok) {
      console.log(`✅ [${i + 1}/${projects.length}] Deleted project: ${project.name}`);
    } else {
      console.warn(`⚠️ [${i + 1}/${projects.length}] Failed: ${project.name} (${res.status})`);
    }

    await new Promise(r => setTimeout(r, 500)); // rate-limit safety
  }

  console.log("🎉 All project deletions attempted. Refresh your Projects page to confirm.");
}

deleteAllClaudeProjects();

Albright Labs

Have something you want to build?

Tell us what you are trying to accomplish, what is in the way, and when you need it. We will take it from there.

Book a consult

A senior engineer reads it and replies within one business day.

or call +1 (610) 756-5060