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
| 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; }