Skip to main content
Glama

delete_task

Permanently delete tasks in ClickUp workspaces using task ID or name with list context. This action cannot be undone.

Instructions

⚠️ PERMANENTLY DELETE a task. This action cannot be undone. Valid parameter combinations:

  1. Use taskId alone (preferred and safest)

  2. Use taskName + optional listName (use with caution)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
taskIdNoID of task to delete (preferred). Use this instead of taskName for safety.
taskNameNoName of task to delete. Use with extreme caution as names may not be unique.
listNameNoName of list containing the task. Helps ensure correct task deletion when using taskName.

Implementation Reference

  • Main handler function for 'delete_task' tool. Resolves taskId from name if provided, fetches task details, calls service deleteTask, returns JSON confirmation.
    export async function handleDeleteTask(parameters: any) { const { taskId, taskName, listName } = parameters; let targetTaskId = taskId; // If no taskId but taskName is provided, look up the task ID if (!targetTaskId && taskName) { let listId: string | undefined; // If listName is provided, find the list ID first if (listName) { const hierarchy = await workspaceService.getWorkspaceHierarchy(); const listInfo = workspaceService.findIDByNameInHierarchy(hierarchy, listName, 'list'); if (!listInfo) { throw new Error(`List "${listName}" not found`); } listId = listInfo.id; } // Now find the task const tasks = await taskService.getTasks(listId || ''); const foundTask = tasks.find(t => t.name.toLowerCase() === taskName.toLowerCase()); if (!foundTask) { throw new Error(`Task "${taskName}" not found${listName ? ` in list "${listName}"` : ""}`); } targetTaskId = foundTask.id; } if (!targetTaskId) { throw new Error("Either taskId or taskName must be provided"); } // Get task info before deleting (for the response) let taskInfo; try { taskInfo = await taskService.getTask(targetTaskId); } catch (error) { // If we can't get the task info, we'll continue with deletion anyway console.error("Error fetching task before deletion:", error); } // Delete the task await taskService.deleteTask(targetTaskId); // Format response return { content: [{ type: "text", text: JSON.stringify({ id: targetTaskId, name: taskInfo?.name || "Unknown", deleted: true, list: taskInfo?.list?.name || "Unknown", space: taskInfo?.space?.name || "Unknown" }, null, 2) }] }; }
  • Tool object definition with input schema for 'delete_task', specifying parameters taskId, taskName, listName.
    export const deleteTaskTool = { name: "delete_task", description: "\u26a0\ufe0f PERMANENTLY DELETE a task. This action cannot be undone. Valid parameter combinations:\n1. Use taskId alone (preferred and safest)\n2. Use taskName + optional listName (use with caution)", inputSchema: { type: "object", properties: { taskId: { type: "string", description: "ID of task to delete (preferred). Use this instead of taskName for safety." }, taskName: { type: "string", description: "Name of task to delete. Use with extreme caution as names may not be unique." }, listName: { type: "string", description: "Name of list containing the task. Helps ensure correct task deletion when using taskName." } } } };
  • src/server.ts:114-115 (registration)
    Server switch statement registration: routes 'delete_task' tool calls to handleDeleteTask handler.
    case "delete_task": return handleDeleteTask(params);
  • src/server.ts:77-77 (registration)
    Includes deleteTaskTool in the list of available tools returned by ListToolsRequestHandler.
    deleteTaskTool,
  • TaskService.deleteTask method: performs the actual ClickUp API DELETE request to /task/{taskId}.
    async deleteTask(taskId: string): Promise<ServiceResponse<void>> { this.logOperation('deleteTask', { taskId }); try { await this.makeRequest(async () => { await this.client.delete(`/task/${taskId}`); }); return { success: true }; } catch (error) { throw this.handleError(error, `Failed to delete task ${taskId}`); } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/windalfin/clickup-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server