start_task
Begin working on a task by automatically claiming it and starting an active timer to track progress.
Instructions
Start working on a task (auto-claims and sets active timer)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Task ID or UUID | |
| agent_id | Yes | Globally unique agent identifier (e.g. "claude-opus-<uuid>"). Each agent instance MUST use a distinct ID to prevent collisions between parallel agents. |
Implementation Reference
- src/taskwarrior.ts:156-163 (handler)The handler function that executes the 'start' command for a task.
export async function startTask(id: string, agentId: string): Promise<void> { const uuid = await ensureClaim(id, agentId); try { await runCommand('task', [uuid, 'start']); } catch (err) { throw new Error(`Failed to start task ${id}: ${(err as Error).message}`); } } - src/index.ts:207-216 (registration)The MCP tool registration for 'start_task'.
server.tool( 'start_task', 'Start working on a task (auto-claims and sets active timer)', { id: idParam, agent_id: agentIdParam }, async ({ id, agent_id }) => { try { await startTask(id, agent_id); return { content: [{ type: 'text', text: `Task ${id} started.` }] }; } catch (err) { return { content: [{ type: 'text', text: (err as Error).message }], isError: true };