jules_list_tasks
View and filter Google Jules AI coding tasks by status to monitor development progress and manage workflow automation.
Instructions
List all Jules tasks with their status
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of tasks to return (default 10) | |
| status | No | Filter tasks by status |
Implementation Reference
- src/index.ts:1494-1521 (handler)The core handler function for the 'jules_list_tasks' tool. Loads tasks from local JSON persistence, filters by optional status parameter, limits results, formats a human-readable summary, and returns it as tool content.private async listTasks(args: any) { const { status = 'all', limit = 10 } = args; const data = await this.loadTaskData(); let filteredTasks = data.tasks; if (status !== 'all') { filteredTasks = data.tasks.filter(task => task.status === status); } const tasks = filteredTasks.slice(0, limit); const taskList = tasks.map(task => `${task.id} - ${task.title}\n` + ` Repository: ${task.repository}\n` + ` Status: ${task.status}\n` + ` Created: ${new Date(task.createdAt).toLocaleDateString()}\n` + ` URL: ${task.url}\n` ).join('\n'); return { content: [ { type: 'text', text: `Jules Tasks (${tasks.length} of ${filteredTasks.length} total):\n\n${taskList || 'No tasks found.'}` } ] }; }
- src/index.ts:161-174 (schema)Input schema for the jules_list_tasks tool, defining optional 'status' filter (enum) and 'limit' parameter.inputSchema: { type: 'object', properties: { status: { type: 'string', enum: ['all', 'active', 'pending', 'completed', 'paused'], description: 'Filter tasks by status', }, limit: { type: 'number', description: 'Maximum number of tasks to return (default 10)', }, }, },
- src/index.ts:375-376 (registration)Registration of the jules_list_tasks handler in the CallToolRequestSchema switch statement.case 'jules_list_tasks': return await this.listTasks(args);
- src/index.ts:159-175 (registration)Tool descriptor registration in the ListToolsRequestSchema response, including name, description, and schema.name: 'jules_list_tasks', description: 'List all Jules tasks with their status', inputSchema: { type: 'object', properties: { status: { type: 'string', enum: ['all', 'active', 'pending', 'completed', 'paused'], description: 'Filter tasks by status', }, limit: { type: 'number', description: 'Maximum number of tasks to return (default 10)', }, }, }, },
- src/index.ts:1218-1227 (helper)Helper method to load persistent task data from JSON file, used by listTasks and other task operations.private async loadTaskData(): Promise<{ tasks: JulesTask[] }> { try { const data = await fs.readFile(this.dataPath, 'utf-8'); return JSON.parse(data); } catch (error) { if ((error as any).code === 'ENOENT') { return { tasks: [] }; } throw error; }