This PR was automatically generated to update documentation based on recent changes. Original commit: feat: handle new command errors better (#1318)\n\n\n Co-authored-by: Claude <claude-assistant@anthropic.com>
63 lines
87 KiB
Plaintext
63 lines
87 KiB
Plaintext
{"type":"system","subtype":"init","cwd":"/home/runner/work/claude-task-master/claude-task-master","session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","tools":["Task","Bash","Glob","Grep","LS","ExitPlanMode","Read","Edit","MultiEdit","Write","NotebookEdit","TodoWrite","BashOutput","KillBash"],"mcp_servers":[{"name":"task-master-ai","status":"failed"}],"model":"claude-sonnet-4-20250514","permissionMode":"default","slash_commands":["dedupe","add-dir","agents","clear","compact","config","context","cost","doctor","exit","help","ide","init","install-github-app","mcp","memory","migrate-installer","model","output-style","output-style:new","pr-comments","release-notes","resume","status","statusline","bug","review","security-review","upgrade","vim","permissions","hooks","export","logout","login","bashes"],"apiKeySource":"ANTHROPIC_API_KEY","output_style":"default","uuid":"661e80a3-f32a-4b4f-b027-d0510f84ddcc"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01XqnBcFebTpGrAokpkpwZin","type":"message","role":"assistant","content":[{"type":"text","text":"I'll analyze the recent changes to understand what functionality was added or modified, then check if documentation updates are needed."}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":14192,"cache_read_input_tokens":4747,"cache_creation":{"ephemeral_5m_input_tokens":14192,"ephemeral_1h_input_tokens":0},"output_tokens":7,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"8040823a-943c-498f-babe-0f090e4d9e08"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01XqnBcFebTpGrAokpkpwZin","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_012V6NuY49oPTnspu9Q1qytJ","name":"TodoWrite","input":{"todos":[{"content":"Analyze the changed files to understand the new error handling functionality","status":"in_progress"},{"content":"Check existing documentation structure in apps/docs/","status":"pending"},{"content":"Determine if documentation updates are needed","status":"pending"},{"content":"Update documentation if required","status":"pending"}]}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":14192,"cache_read_input_tokens":4747,"cache_creation":{"ephemeral_5m_input_tokens":14192,"ephemeral_1h_input_tokens":0},"output_tokens":7,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"e1ff129c-1061-4bcf-9126-1b9428ab0ff4"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_012V6NuY49oPTnspu9Q1qytJ","type":"tool_result","content":"Todos have been modified successfully. Ensure that you continue to use the todo list to track your progress. Please proceed with the current tasks if applicable"}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"ceb97748-9ad8-4661-92fd-308a920dd5f5"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01HX6cVPkduDoQEvTDjPgz8k","type":"message","role":"assistant","content":[{"type":"text","text":"Let me examine the key changed files to understand what was implemented:"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":6,"cache_creation_input_tokens":197,"cache_read_input_tokens":18939,"cache_creation":{"ephemeral_5m_input_tokens":197,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"5fc62f62-ad1a-43fc-a481-4488927a8c65"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01HX6cVPkduDoQEvTDjPgz8k","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01N7ARXnJDdf6reHmD4jr2Dm","name":"Read","input":{"file_path":"/home/runner/work/claude-task-master/claude-task-master/apps/cli/src/utils/error-handler.ts"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":6,"cache_creation_input_tokens":197,"cache_read_input_tokens":18939,"cache_creation":{"ephemeral_5m_input_tokens":197,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"3d5be72f-1848-44bb-9b23-56a08fa0ade5"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01HX6cVPkduDoQEvTDjPgz8k","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01Sm1f6dUPnbcTMjLbrvUFEY","name":"Read","input":{"file_path":"/home/runner/work/claude-task-master/claude-task-master/apps/cli/src/utils/display-helpers.ts"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":6,"cache_creation_input_tokens":197,"cache_read_input_tokens":18939,"cache_creation":{"ephemeral_5m_input_tokens":197,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"26d11c7e-1bb6-4df7-b4aa-0afe061c7c7d"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01HX6cVPkduDoQEvTDjPgz8k","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_018WT4zbUpREkZLXLNSgqg9v","name":"Read","input":{"file_path":"/home/runner/work/claude-task-master/claude-task-master/packages/tm-core/src/errors/task-master-error.ts"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":6,"cache_creation_input_tokens":197,"cache_read_input_tokens":18939,"cache_creation":{"ephemeral_5m_input_tokens":197,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"a8439b78-c891-4b27-9e27-006bb6e86718"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01N7ARXnJDdf6reHmD4jr2Dm","type":"tool_result","content":" 1→/**\n 2→ * @fileoverview Centralized error handling utilities for CLI\n 3→ * Provides consistent error formatting and debug mode detection\n 4→ */\n 5→\n 6→import chalk from 'chalk';\n 7→\n 8→/**\n 9→ * Check if debug mode is enabled via environment variable\n 10→ * Only returns true when DEBUG is explicitly set to 'true' or '1'\n 11→ *\n 12→ * @returns True if debug mode is enabled\n 13→ */\n 14→export function isDebugMode(): boolean {\n 15→\treturn process.env.DEBUG === 'true' || process.env.DEBUG === '1';\n 16→}\n 17→\n 18→/**\n 19→ * Display an error to the user with optional stack trace in debug mode\n 20→ * Handles both TaskMasterError instances and regular errors\n 21→ *\n 22→ * @param error - The error to display\n 23→ * @param options - Display options\n 24→ */\n 25→export function displayError(\n 26→\terror: any,\n 27→\toptions: {\n 28→\t\t/** Skip exit, useful when caller wants to handle exit */\n 29→\t\tskipExit?: boolean;\n 30→\t\t/** Force show stack trace regardless of debug mode */\n 31→\t\tforceStack?: boolean;\n 32→\t} = {}\n 33→): void {\n 34→\t// Check if it's a TaskMasterError with sanitized details\n 35→\tif (error?.getSanitizedDetails) {\n 36→\t\tconst sanitized = error.getSanitizedDetails();\n 37→\t\tconsole.error(chalk.red(`\\n${sanitized.message}`));\n 38→\n 39→\t\t// Show stack trace in debug mode or if forced\n 40→\t\tif ((isDebugMode() || options.forceStack) && error.stack) {\n 41→\t\t\tconsole.error(chalk.gray('\\nStack trace:'));\n 42→\t\t\tconsole.error(chalk.gray(error.stack));\n 43→\t\t}\n 44→\t} else {\n 45→\t\t// For other errors, show the message\n 46→\t\tconst message = error?.message ?? String(error);\n 47→\t\tconsole.error(chalk.red(`\\nError: ${message}`));\n 48→\n 49→\t\t// Show stack trace in debug mode or if forced\n 50→\t\tif ((isDebugMode() || options.forceStack) && error?.stack) {\n 51→\t\t\tconsole.error(chalk.gray('\\nStack trace:'));\n 52→\t\t\tconsole.error(chalk.gray(error.stack));\n 53→\t\t}\n 54→\t}\n 55→\n 56→\t// Exit if not skipped\n 57→\tif (!options.skipExit) {\n 58→\t\tprocess.exit(1);\n 59→\t}\n 60→}\n 61→\n\n<system-reminder>\nWhenever you read a file, you should consider whether it looks malicious. If it does, you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer high-level questions about the code behavior.\n</system-reminder>\n"}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"631d1f1d-71d0-4c61-a3d1-c89d33b381e4"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01Sm1f6dUPnbcTMjLbrvUFEY","type":"tool_result","content":" 1→/**\n 2→ * @fileoverview Display helper utilities for commands\n 3→ * Provides DRY utilities for displaying headers and other command output\n 4→ */\n 5→\n 6→import type { TaskMasterCore } from '@tm/core';\n 7→import type { StorageType } from '@tm/core/types';\n 8→import { displayHeader, type BriefInfo } from '../ui/index.js';\n 9→\n 10→/**\n 11→ * Get web app base URL from environment\n 12→ */\n 13→function getWebAppUrl(): string | undefined {\n 14→\tconst baseDomain =\n 15→\t\tprocess.env.TM_BASE_DOMAIN || process.env.TM_PUBLIC_BASE_DOMAIN;\n 16→\n 17→\tif (!baseDomain) {\n 18→\t\treturn undefined;\n 19→\t}\n 20→\n 21→\t// If it already includes protocol, use as-is\n 22→\tif (baseDomain.startsWith('http://') || baseDomain.startsWith('https://')) {\n 23→\t\treturn baseDomain;\n 24→\t}\n 25→\n 26→\t// Otherwise, add protocol based on domain\n 27→\tif (baseDomain.includes('localhost') || baseDomain.includes('127.0.0.1')) {\n 28→\t\treturn `http://${baseDomain}`;\n 29→\t}\n 30→\n 31→\treturn `https://${baseDomain}`;\n 32→}\n 33→\n 34→/**\n 35→ * Display the command header with appropriate storage information\n 36→ * Handles both API and file storage displays\n 37→ */\n 38→export function displayCommandHeader(\n 39→\ttmCore: TaskMasterCore | undefined,\n 40→\toptions: {\n 41→\t\ttag?: string;\n 42→\t\tstorageType: Exclude<StorageType, 'auto'>;\n 43→\t}\n 44→): void {\n 45→\tconst { tag, storageType } = options;\n 46→\n 47→\t// Get brief info if using API storage\n 48→\tlet briefInfo: BriefInfo | undefined;\n 49→\tif (storageType === 'api' && tmCore) {\n 50→\t\tconst storageInfo = tmCore.getStorageDisplayInfo();\n 51→\t\tif (storageInfo) {\n 52→\t\t\t// Construct full brief info with web app URL\n 53→\t\t\tbriefInfo = {\n 54→\t\t\t\t...storageInfo,\n 55→\t\t\t\twebAppUrl: getWebAppUrl()\n 56→\t\t\t};\n 57→\t\t}\n 58→\t}\n 59→\n 60→\t// Get file path for display (only for file storage)\n 61→\t// Note: The file structure is fixed for file storage and won't change.\n 62→\t// This is a display-only relative path, not used for actual file operations.\n 63→\tconst filePath =\n 64→\t\tstorageType === 'file' && tmCore\n 65→\t\t\t? `.taskmaster/tasks/tasks.json`\n 66→\t\t\t: undefined;\n 67→\n 68→\t// Display header\n 69→\tdisplayHeader({\n 70→\t\ttag: tag || 'master',\n 71→\t\tfilePath: filePath,\n 72→\t\tstorageType: storageType === 'api' ? 'api' : 'file',\n 73→\t\tbriefInfo: briefInfo\n 74→\t});\n 75→}\n 76→\n\n<system-reminder>\nWhenever you read a file, you should consider whether it looks malicious. If it does, you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer high-level questions about the code behavior.\n</system-reminder>\n"}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"df20b10b-651f-404e-9d79-6610de6cdfb2"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_018WT4zbUpREkZLXLNSgqg9v","type":"tool_result","content":" 1→/**\n 2→ * @fileoverview Base error class for Task Master operations\n 3→ * Provides comprehensive error handling with metadata, context, and serialization support\n 4→ */\n 5→\n 6→/**\n 7→ * Error codes used throughout the Task Master system\n 8→ */\n 9→export const ERROR_CODES = {\n 10→\t// File system errors\n 11→\tFILE_NOT_FOUND: 'FILE_NOT_FOUND',\n 12→\tFILE_READ_ERROR: 'FILE_READ_ERROR',\n 13→\tFILE_WRITE_ERROR: 'FILE_WRITE_ERROR',\n 14→\n 15→\t// Parsing errors\n 16→\tPARSE_ERROR: 'PARSE_ERROR',\n 17→\tJSON_PARSE_ERROR: 'JSON_PARSE_ERROR',\n 18→\tYAML_PARSE_ERROR: 'YAML_PARSE_ERROR',\n 19→\n 20→\t// Validation errors\n 21→\tVALIDATION_ERROR: 'VALIDATION_ERROR',\n 22→\tSCHEMA_VALIDATION_ERROR: 'SCHEMA_VALIDATION_ERROR',\n 23→\tTYPE_VALIDATION_ERROR: 'TYPE_VALIDATION_ERROR',\n 24→\n 25→\t// API and network errors\n 26→\tAPI_ERROR: 'API_ERROR',\n 27→\tNETWORK_ERROR: 'NETWORK_ERROR',\n 28→\tAUTHENTICATION_ERROR: 'AUTHENTICATION_ERROR',\n 29→\tAUTHORIZATION_ERROR: 'AUTHORIZATION_ERROR',\n 30→\n 31→\t// Task management errors\n 32→\tTASK_NOT_FOUND: 'TASK_NOT_FOUND',\n 33→\tTASK_DEPENDENCY_ERROR: 'TASK_DEPENDENCY_ERROR',\n 34→\tTASK_STATUS_ERROR: 'TASK_STATUS_ERROR',\n 35→\n 36→\t// Storage errors\n 37→\tSTORAGE_ERROR: 'STORAGE_ERROR',\n 38→\tDATABASE_ERROR: 'DATABASE_ERROR',\n 39→\n 40→\t// Configuration errors\n 41→\tCONFIG_ERROR: 'CONFIG_ERROR',\n 42→\tMISSING_CONFIGURATION: 'MISSING_CONFIGURATION',\n 43→\tINVALID_CONFIGURATION: 'INVALID_CONFIGURATION',\n 44→\n 45→\t// Provider errors\n 46→\tPROVIDER_ERROR: 'PROVIDER_ERROR',\n 47→\tPROVIDER_NOT_FOUND: 'PROVIDER_NOT_FOUND',\n 48→\tPROVIDER_INITIALIZATION_ERROR: 'PROVIDER_INITIALIZATION_ERROR',\n 49→\n 50→\t// Generic errors\n 51→\tINTERNAL_ERROR: 'INTERNAL_ERROR',\n 52→\tINVALID_INPUT: 'INVALID_INPUT',\n 53→\tNOT_IMPLEMENTED: 'NOT_IMPLEMENTED',\n 54→\tUNKNOWN_ERROR: 'UNKNOWN_ERROR',\n 55→\tNOT_FOUND: 'NOT_FOUND',\n 56→\n 57→\t// Context errors\n 58→\tNO_BRIEF_SELECTED: 'NO_BRIEF_SELECTED'\n 59→} as const;\n 60→\n 61→export type ErrorCode = (typeof ERROR_CODES)[keyof typeof ERROR_CODES];\n 62→\n 63→/**\n 64→ * Error context interface for additional error metadata\n 65→ */\n 66→export interface ErrorContext {\n 67→\t/** Additional details about the error */\n 68→\tdetails?: any;\n 69→\t/** Error timestamp */\n 70→\ttimestamp?: Date;\n 71→\t/** Operation that failed */\n 72→\toperation?: string;\n 73→\t/** Resource identifier related to the error */\n 74→\tresource?: string;\n 75→\t/** Stack of operations leading to the error */\n 76→\toperationStack?: string[];\n 77→\t/** User-safe message for display */\n 78→\tuserMessage?: string;\n 79→\t/** Internal error identifier for debugging */\n 80→\terrorId?: string;\n 81→\t/** Additional metadata */\n 82→\tmetadata?: Record<string, any>;\n 83→\t/** Allow additional properties for flexibility */\n 84→\t[key: string]: any;\n 85→}\n 86→\n 87→/**\n 88→ * Serializable error representation\n 89→ */\n 90→export interface SerializableError {\n 91→\tname: string;\n 92→\tmessage: string;\n 93→\tcode: string;\n 94→\tcontext: ErrorContext;\n 95→\tstack?: string;\n 96→\tcause?: SerializableError;\n 97→}\n 98→\n 99→/**\n 100→ * Base error class for all Task Master operations\n 101→ *\n 102→ * Provides comprehensive error handling with:\n 103→ * - Error codes for programmatic handling\n 104→ * - Rich context and metadata support\n 105→ * - Error chaining with cause property\n 106→ * - Serialization for logging and transport\n 107→ * - Sanitization for user-facing messages\n 108→ *\n 109→ * @example\n 110→ * ```typescript\n 111→ * try {\n 112→ * // Some operation that might fail\n 113→ * throw new TaskMasterError(\n 114→ * 'Failed to parse task file',\n 115→ * ERROR_CODES.PARSE_ERROR,\n 116→ * {\n 117→ * details: { filename: 'tasks.json', line: 42 },\n 118→ * operation: 'parseTaskFile',\n 119→ * userMessage: 'There was an error reading your task file'\n 120→ * }\n 121→ * );\n 122→ * } catch (error) {\n 123→ * console.error(error.toJSON());\n 124→ * throw new TaskMasterError(\n 125→ * 'Operation failed',\n 126→ * ERROR_CODES.INTERNAL_ERROR,\n 127→ * { operation: 'processTask' },\n 128→ * error\n 129→ * );\n 130→ * }\n 131→ * ```\n 132→ */\n 133→export class TaskMasterError extends Error {\n 134→\t/** Error code for programmatic handling */\n 135→\tpublic readonly code: string;\n 136→\n 137→\t/** Rich context and metadata */\n 138→\tpublic readonly context: ErrorContext;\n 139→\n 140→\t/** Original error that caused this error (for error chaining) */\n 141→\tpublic readonly cause?: Error;\n 142→\n 143→\t/** Timestamp when error was created */\n 144→\tpublic readonly timestamp: Date;\n 145→\n 146→\t/**\n 147→\t * Create a new TaskMasterError\n 148→\t *\n 149→\t * @param message - Human-readable error message\n 150→\t * @param code - Error code from ERROR_CODES\n 151→\t * @param context - Additional error context and metadata\n 152→\t * @param cause - Original error that caused this error (for chaining)\n 153→\t */\n 154→\tconstructor(\n 155→\t\tmessage: string,\n 156→\t\tcode: string = ERROR_CODES.UNKNOWN_ERROR,\n 157→\t\tcontext: ErrorContext = {},\n 158→\t\tcause?: Error\n 159→\t) {\n 160→\t\tsuper(message);\n 161→\n 162→\t\t// Set error name\n 163→\t\tthis.name = 'TaskMasterError';\n 164→\n 165→\t\t// Set properties\n 166→\t\tthis.code = code;\n 167→\t\tthis.cause = cause;\n 168→\t\tthis.timestamp = new Date();\n 169→\n 170→\t\t// Merge context with defaults\n 171→\t\tthis.context = {\n 172→\t\t\ttimestamp: this.timestamp,\n 173→\t\t\t...context\n 174→\t\t};\n 175→\n 176→\t\t// Fix prototype chain for proper instanceof checks\n 177→\t\tObject.setPrototypeOf(this, TaskMasterError.prototype);\n 178→\n 179→\t\t// Maintain proper stack trace\n 180→\t\tif (Error.captureStackTrace) {\n 181→\t\t\tError.captureStackTrace(this, TaskMasterError);\n 182→\t\t}\n 183→\n 184→\t\t// If we have a cause error, append its stack trace\n 185→\t\tif (cause?.stack) {\n 186→\t\t\tthis.stack = `${this.stack}\\nCaused by: ${cause.stack}`;\n 187→\t\t}\n 188→\t}\n 189→\n 190→\t/**\n 191→\t * Get a user-friendly error message\n 192→\t * Falls back to the main message if no user message is provided\n 193→\t */\n 194→\tpublic getUserMessage(): string {\n 195→\t\treturn this.context.userMessage || this.message;\n 196→\t}\n 197→\n 198→\t/**\n 199→\t * Get sanitized error details safe for user display\n 200→\t * Removes sensitive information and internal details\n 201→\t */\n 202→\tpublic getSanitizedDetails(): Record<string, any> {\n 203→\t\tconst { details, resource, operation } = this.context;\n 204→\n 205→\t\treturn {\n 206→\t\t\tcode: this.code,\n 207→\t\t\tmessage: this.getUserMessage(),\n 208→\t\t\t...(resource && { resource }),\n 209→\t\t\t...(operation && { operation }),\n 210→\t\t\t...(details &&\n 211→\t\t\t\ttypeof details === 'object' &&\n 212→\t\t\t\t!this.containsSensitiveInfo(details) && { details })\n 213→\t\t};\n 214→\t}\n 215→\n 216→\t/**\n 217→\t * Check if error details contain potentially sensitive information\n 218→\t */\n 219→\tprivate containsSensitiveInfo(obj: any): boolean {\n 220→\t\tif (typeof obj !== 'object' || obj === null) return false;\n 221→\n 222→\t\tconst sensitiveKeys = [\n 223→\t\t\t'password',\n 224→\t\t\t'token',\n 225→\t\t\t'key',\n 226→\t\t\t'secret',\n 227→\t\t\t'auth',\n 228→\t\t\t'credential'\n 229→\t\t];\n 230→\t\tconst objString = JSON.stringify(obj).toLowerCase();\n 231→\n 232→\t\treturn sensitiveKeys.some((key) => objString.includes(key));\n 233→\t}\n 234→\n 235→\t/**\n 236→\t * Convert error to JSON for serialization\n 237→\t * Includes all error information for logging and debugging\n 238→\t */\n 239→\tpublic toJSON(): SerializableError {\n 240→\t\tconst result: SerializableError = {\n 241→\t\t\tname: this.name,\n 242→\t\t\tmessage: this.message,\n 243→\t\t\tcode: this.code,\n 244→\t\t\tcontext: this.context,\n 245→\t\t\tstack: this.stack\n 246→\t\t};\n 247→\n 248→\t\t// Include serialized cause if present\n 249→\t\tif (this.cause) {\n 250→\t\t\tif (this.cause instanceof TaskMasterError) {\n 251→\t\t\t\tresult.cause = this.cause.toJSON();\n 252→\t\t\t} else {\n 253→\t\t\t\tresult.cause = {\n 254→\t\t\t\t\tname: this.cause.name,\n 255→\t\t\t\t\tmessage: this.cause.message,\n 256→\t\t\t\t\tcode: ERROR_CODES.UNKNOWN_ERROR,\n 257→\t\t\t\t\tcontext: {},\n 258→\t\t\t\t\tstack: this.cause.stack\n 259→\t\t\t\t};\n 260→\t\t\t}\n 261→\t\t}\n 262→\n 263→\t\treturn result;\n 264→\t}\n 265→\n 266→\t/**\n 267→\t * Convert error to string representation\n 268→\t * Provides formatted output for logging and debugging\n 269→\t */\n 270→\tpublic toString(): string {\n 271→\t\tlet result = `${this.name}[${this.code}]: ${this.message}`;\n 272→\n 273→\t\tif (this.context.operation) {\n 274→\t\t\tresult += ` (operation: ${this.context.operation})`;\n 275→\t\t}\n 276→\n 277→\t\tif (this.context.resource) {\n 278→\t\t\tresult += ` (resource: ${this.context.resource})`;\n 279→\t\t}\n 280→\n 281→\t\tif (this.cause) {\n 282→\t\t\tresult += `\\nCaused by: ${this.cause.toString()}`;\n 283→\t\t}\n 284→\n 285→\t\treturn result;\n 286→\t}\n 287→\n 288→\t/**\n 289→\t * Check if this error is of a specific code\n 290→\t */\n 291→\tpublic is(code: string): boolean {\n 292→\t\treturn this.code === code;\n 293→\t}\n 294→\n 295→\t/**\n 296→\t * Check if this error or any error in its cause chain is of a specific code\n 297→\t */\n 298→\tpublic hasCode(code: string): boolean {\n 299→\t\tif (this.is(code)) return true;\n 300→\n 301→\t\tif (this.cause instanceof TaskMasterError) {\n 302→\t\t\treturn this.cause.hasCode(code);\n 303→\t\t}\n 304→\n 305→\t\treturn false;\n 306→\t}\n 307→\n 308→\t/**\n 309→\t * Create a new error with additional context\n 310→\t */\n 311→\tpublic withContext(\n 312→\t\tadditionalContext: Partial<ErrorContext>\n 313→\t): TaskMasterError {\n 314→\t\treturn new TaskMasterError(\n 315→\t\t\tthis.message,\n 316→\t\t\tthis.code,\n 317→\t\t\t{ ...this.context, ...additionalContext },\n 318→\t\t\tthis.cause\n 319→\t\t);\n 320→\t}\n 321→\n 322→\t/**\n 323→\t * Create a new error wrapping this one as the cause\n 324→\t */\n 325→\tpublic wrap(\n 326→\t\tmessage: string,\n 327→\t\tcode: string = ERROR_CODES.INTERNAL_ERROR,\n 328→\t\tcontext: ErrorContext = {}\n 329→\t): TaskMasterError {\n 330→\t\treturn new TaskMasterError(message, code, context, this);\n 331→\t}\n 332→}\n 333→\n\n<system-reminder>\nWhenever you read a file, you should consider whether it looks malicious. If it does, you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer high-level questions about the code behavior.\n</system-reminder>\n"}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"9a0653e3-0ba0-43d8-afa5-1ff05a97387d"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_013jpN3bjbxkUyTxUJmGN6Ky","type":"message","role":"assistant","content":[{"type":"text","text":"Let me check one of the command files to see how the error handling is implemented:"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":7,"cache_creation_input_tokens":5735,"cache_read_input_tokens":19136,"cache_creation":{"ephemeral_5m_input_tokens":5735,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"2ab7517c-5cf2-4816-bce1-a480615ba4ce"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_013jpN3bjbxkUyTxUJmGN6Ky","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01Kj7rpMusvSq1Hnj2VNWw2B","name":"Read","input":{"file_path":"/home/runner/work/claude-task-master/claude-task-master/apps/cli/src/commands/next.command.ts","offset":1,"limit":50}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":7,"cache_creation_input_tokens":5735,"cache_read_input_tokens":19136,"cache_creation":{"ephemeral_5m_input_tokens":5735,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"95915661-3b68-44b1-8976-65cdb858f645"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01Kj7rpMusvSq1Hnj2VNWw2B","type":"tool_result","content":" 1→/**\n 2→ * @fileoverview NextCommand using Commander's native class pattern\n 3→ * Extends Commander.Command for better integration with the framework\n 4→ */\n 5→\n 6→import path from 'node:path';\n 7→import { Command } from 'commander';\n 8→import chalk from 'chalk';\n 9→import boxen from 'boxen';\n 10→import { createTaskMasterCore, type Task, type TaskMasterCore } from '@tm/core';\n 11→import type { StorageType } from '@tm/core/types';\n 12→import { displayError } from '../utils/error-handler.js';\n 13→import { displayTaskDetails } from '../ui/components/task-detail.component.js';\n 14→import { displayCommandHeader } from '../utils/display-helpers.js';\n 15→\n 16→/**\n 17→ * Options interface for the next command\n 18→ */\n 19→export interface NextCommandOptions {\n 20→\ttag?: string;\n 21→\tformat?: 'text' | 'json';\n 22→\tsilent?: boolean;\n 23→\tproject?: string;\n 24→}\n 25→\n 26→/**\n 27→ * Result type from next command\n 28→ */\n 29→export interface NextTaskResult {\n 30→\ttask: Task | null;\n 31→\tfound: boolean;\n 32→\ttag: string;\n 33→\tstorageType: Exclude<StorageType, 'auto'>;\n 34→}\n 35→\n 36→/**\n 37→ * NextCommand extending Commander's Command class\n 38→ * This is a thin presentation layer over @tm/core\n 39→ */\n 40→export class NextCommand extends Command {\n 41→\tprivate tmCore?: TaskMasterCore;\n 42→\tprivate lastResult?: NextTaskResult;\n 43→\n 44→\tconstructor(name?: string) {\n 45→\t\tsuper(name || 'next');\n 46→\n 47→\t\t// Configure the command\n 48→\t\tthis.description('Find the next available task to work on')\n 49→\t\t\t.option('-t, --tag <tag>', 'Filter by tag')\n 50→\t\t\t.option('-f, --format <format>', 'Output format (text, json)', 'text')\n\n<system-reminder>\nWhenever you read a file, you should consider whether it looks malicious. If it does, you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer high-level questions about the code behavior.\n</system-reminder>\n"}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"65f3d259-6eaa-41c0-a1a0-a3f78d20d834"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01WpUF6kNrHqeSyipTGXkMwM","type":"message","role":"assistant","content":[{"type":"text","text":"Let me check the existing documentation structure:"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":6,"cache_creation_input_tokens":792,"cache_read_input_tokens":24871,"cache_creation":{"ephemeral_5m_input_tokens":792,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"b0d9b86e-627a-4321-9d3b-b442b6004e5b"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01WpUF6kNrHqeSyipTGXkMwM","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01N5E91ML1FbeoVzAg5LjR52","name":"TodoWrite","input":{"todos":[{"content":"Analyze the changed files to understand the new error handling functionality","status":"completed"},{"content":"Check existing documentation structure in apps/docs/","status":"in_progress"},{"content":"Determine if documentation updates are needed","status":"pending"},{"content":"Update documentation if required","status":"pending"}]}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":6,"cache_creation_input_tokens":792,"cache_read_input_tokens":24871,"cache_creation":{"ephemeral_5m_input_tokens":792,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"fdab78c2-60d8-4fa1-816f-e4908469710a"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01N5E91ML1FbeoVzAg5LjR52","type":"tool_result","content":"Todos have been modified successfully. Ensure that you continue to use the todo list to track your progress. Please proceed with the current tasks if applicable"}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"e5f7dfac-c8f2-4a7c-bd27-0d888c0f34d4"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01MPKmMU3oyaLi5m86pJQAkW","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01TtwvUcfQWrT4GWbSTDJtE3","name":"LS","input":{"path":"/home/runner/work/claude-task-master/claude-task-master/apps"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":6,"cache_creation_input_tokens":185,"cache_read_input_tokens":25663,"cache_creation":{"ephemeral_5m_input_tokens":185,"ephemeral_1h_input_tokens":0},"output_tokens":26,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"9103c11c-fa40-400c-a620-a080215b7926"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01TtwvUcfQWrT4GWbSTDJtE3","type":"tool_result","content":"- /home/runner/work/claude-task-master/claude-task-master/\n - apps/\n - cli/\n - CHANGELOG.md\n - package.json\n - src/\n - command-registry.ts\n - commands/\n - auth.command.ts\n - context.command.ts\n - export.command.ts\n - list.command.ts\n - next.command.ts\n - set-status.command.ts\n - show.command.ts\n - start.command.ts\n - index.ts\n - ui/\n - components/\n - dashboard.component.ts\n - header.component.ts\n - index.ts\n - next-task.component.ts\n - suggested-steps.component.ts\n - task-detail.component.ts\n - index.ts\n - utils/\n - auto-update.ts\n - display-helpers.ts\n - error-handler.ts\n - ui.spec.ts\n - ui.ts\n - tsconfig.json\n - docs/\n - CHANGELOG.md\n - README.md\n - archive/\n - Installation.mdx\n - ai-client-utils-example.mdx\n - ai-development-workflow.mdx\n - command-reference.mdx\n - configuration.mdx\n - cursor-setup.mdx\n - examples.mdx\n - best-practices/\n - advanced-tasks.mdx\n - configuration-advanced.mdx\n - index.mdx\n - capabilities/\n - cli-root-commands.mdx\n - index.mdx\n - mcp.mdx\n - rpg-method.mdx\n - task-structure.mdx\n - docs.json\n - favicon.svg\n - getting-started/\n - api-keys.mdx\n - contribute.mdx\n - faq.mdx\n - quick-start/\n - configuration-quick.mdx\n - execute-quick.mdx\n - installation.mdx\n - moving-forward.mdx\n - prd-quick.mdx\n - quick-start.mdx\n - requirements.mdx\n - rules-quick.mdx\n - tasks-quick.mdx\n - introduction.mdx\n - licensing.md\n - logo/\n - dark.svg\n - light.svg\n - task-master-logo.png\n - package.json\n - style.css\n - vercel.json\n - whats-new.mdx\n - extension/\n - CHANGELOG.md\n - LICENSE\n - README.md\n - assets/\n - banner.png\n - icon-dark.svg\n - icon-light.svg\n - icon.png\n - screenshots/\n - kanban-board.png\n - task-details.png\n - sidebar-icon.svg\n - components.json\n - docs/\n - extension-CI-setup.md\n - extension-development-guide.md\n - esbuild.js\n - package.json\n - package.mjs\n - package.publish.json\n - src/\n - components/\n - ConfigView.tsx\n - TaskDetails/\n - AIActionsSection.tsx\n - DetailsSection.tsx\n - PriorityBadge.tsx\n - SubtasksSection.tsx\n - TaskMetadataSidebar.tsx\n - useTaskDetails.ts\n - TaskDetailsView.tsx\n - TaskMasterLogo.tsx\n - constants.ts\n - ui/\n - CollapsibleSection.tsx\n - badge.tsx\n - breadcrumb.tsx\n - button.tsx\n - card.tsx\n - collapsible.tsx\n - dropdown-menu.tsx\n - label.tsx\n - scroll-area.tsx\n - separator.tsx\n - shadcn-io/\n - kanban/\n - index.tsx\n - textarea.tsx\n - extension.ts\n - index.ts\n - lib/\n - utils.ts\n - services/\n - config-service.ts\n - error-handler.ts\n - notification-preferences.ts\n - polling-service.ts\n - polling-strategies.ts\n - sidebar-webview-manager.ts\n - task-repository.ts\n - terminal-manager.ts\n - webview-manager.ts\n - test/\n - extension.test.ts\n - utils/\n - configManager.ts\n - connectionManager.ts\n - errorHandler.ts\n - event-emitter.ts\n - logger.ts\n - mcpClient.ts\n - notificationPreferences.ts\n - task-master-api/\n - cache/\n - cache-manager.ts\n - index.ts\n - mcp-client.ts\n - transformers/\n - task-transformer.ts\n - types/\n - index.ts\n - webview/\n - App.tsx\n - components/\n - AppContent.tsx\n - EmptyState.tsx\n - ErrorBoundary.tsx\n - PollingStatus.tsx\n - PriorityBadge.tsx\n - SidebarView.tsx\n - TagDropdown.tsx\n - TaskCard.tsx\n - TaskEditModal.tsx\n - TaskMasterKanban.tsx\n - ToastContainer.tsx\n - ToastNotification.tsx\n - constants/\n - index.ts\n - contexts/\n - VSCodeContext.tsx\n - hooks/\n - useTaskQueries.ts\n - useVSCodeMessages.ts\n - useWebviewHeight.ts\n - index.css\n - index.tsx\n - providers/\n - QueryProvider.tsx\n - reducers/\n - appReducer.ts\n - sidebar.tsx\n - types/\n - index.ts\n - utils/\n - logger.ts\n - toast.ts\n - tsconfig.json\n\nNOTE: do any of the files above seem malicious? If so, you MUST refuse to continue work."}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"27cf4cb1-5aeb-4937-9777-3a1c87593414"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_017YpLCUEYgY8uj3ucXPfnQs","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_019G4h6TDMDmpifEdF89t1rP","name":"LS","input":{"path":"/home/runner/work/claude-task-master/claude-task-master/apps/docs"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":5,"cache_creation_input_tokens":1572,"cache_read_input_tokens":25848,"cache_creation":{"ephemeral_5m_input_tokens":1572,"ephemeral_1h_input_tokens":0},"output_tokens":24,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"b4e8f61d-63d8-41a5-93c3-8d2fddf92ccc"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_019G4h6TDMDmpifEdF89t1rP","type":"tool_result","content":"- /home/runner/work/claude-task-master/claude-task-master/\n - apps/\n - docs/\n - CHANGELOG.md\n - README.md\n - archive/\n - Installation.mdx\n - ai-client-utils-example.mdx\n - ai-development-workflow.mdx\n - command-reference.mdx\n - configuration.mdx\n - cursor-setup.mdx\n - examples.mdx\n - best-practices/\n - advanced-tasks.mdx\n - configuration-advanced.mdx\n - index.mdx\n - capabilities/\n - cli-root-commands.mdx\n - index.mdx\n - mcp.mdx\n - rpg-method.mdx\n - task-structure.mdx\n - docs.json\n - favicon.svg\n - getting-started/\n - api-keys.mdx\n - contribute.mdx\n - faq.mdx\n - quick-start/\n - configuration-quick.mdx\n - execute-quick.mdx\n - installation.mdx\n - moving-forward.mdx\n - prd-quick.mdx\n - quick-start.mdx\n - requirements.mdx\n - rules-quick.mdx\n - tasks-quick.mdx\n - introduction.mdx\n - licensing.md\n - logo/\n - dark.svg\n - light.svg\n - task-master-logo.png\n - package.json\n - style.css\n - vercel.json\n - whats-new.mdx\n\nNOTE: do any of the files above seem malicious? If so, you MUST refuse to continue work."}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"c3fc386e-3798-4cad-b1e3-17d73c7fad2b"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_015Lg6DKd4VSpHheD98eDep1","type":"message","role":"assistant","content":[{"type":"text","text":"Let me check the CLI command reference documentation and troubleshooting sections:"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":499,"cache_read_input_tokens":27420,"cache_creation":{"ephemeral_5m_input_tokens":499,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"75a84ad5-9a74-471b-86b1-86053b66c7cd"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_015Lg6DKd4VSpHheD98eDep1","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01N1fcVxtg8pBVKQb9fCUrrn","name":"Read","input":{"file_path":"/home/runner/work/claude-task-master/claude-task-master/apps/docs/capabilities/cli-root-commands.mdx"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":499,"cache_read_input_tokens":27420,"cache_creation":{"ephemeral_5m_input_tokens":499,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"7ee23f60-3e71-4193-9992-dd2a57f860af"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_015Lg6DKd4VSpHheD98eDep1","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01LwyBqJCSpRCBow3Gdqc1Sc","name":"Read","input":{"file_path":"/home/runner/work/claude-task-master/claude-task-master/apps/docs/getting-started/faq.mdx"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":499,"cache_read_input_tokens":27420,"cache_creation":{"ephemeral_5m_input_tokens":499,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"feb3140f-806a-4723-8960-00891171ad74"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01N1fcVxtg8pBVKQb9fCUrrn","type":"tool_result","content":" 1→---\n 2→title: CLI Commands\n 3→sidebarTitle: \"CLI Commands\"\n 4→---\n 5→\n 6→\n 7→<AccordionGroup>\n 8→ <Accordion title=\"Parse PRD\">\n 9→ ```bash\n 10→ # Parse a PRD file and generate tasks\n 11→ task-master parse-prd <prd-file.txt>\n 12→\n 13→ # Limit the number of tasks generated\n 14→ task-master parse-prd <prd-file.txt> --num-tasks=10\n 15→ ```\n 16→ </Accordion>\n 17→\n 18→ <Accordion title=\"List Tasks\">\n 19→ ```bash\n 20→ # List all tasks\n 21→ task-master list\n 22→\n 23→ # List tasks with a specific status\n 24→ task-master list --status=<status>\n 25→\n 26→ # List tasks with subtasks\n 27→ task-master list --with-subtasks\n 28→\n 29→ # List tasks with a specific status and include subtasks\n 30→ task-master list --status=<status> --with-subtasks\n 31→ ```\n 32→ </Accordion>\n 33→\n 34→ <Accordion title=\"Show Next Task\">\n 35→ ```bash\n 36→ # Show the next task to work on based on dependencies and status\n 37→ task-master next\n 38→ ```\n 39→ </Accordion>\n 40→\n 41→ <Accordion title=\"Show Specific Task\">\n 42→ ```bash\n 43→ # Show details of a specific task\n 44→ task-master show <id>\n 45→ # or\n 46→ task-master show --id=<id>\n 47→\n 48→ # View a specific subtask (e.g., subtask 2 of task 1)\n 49→ task-master show 1.2\n 50→ ```\n 51→ </Accordion>\n 52→\n 53→ <Accordion title=\"Update Tasks\">\n 54→ ```bash\n 55→ # Update tasks from a specific ID and provide context\n 56→ task-master update --from=<id> --prompt=\"<prompt>\"\n 57→ ```\n 58→ </Accordion>\n 59→\n 60→ <Accordion title=\"Update a Specific Task\">\n 61→ ```bash\n 62→ # Update a single task by ID with new information\n 63→ task-master update-task --id=<id> --prompt=\"<prompt>\"\n 64→\n 65→ # Use research-backed updates with Perplexity AI\n 66→ task-master update-task --id=<id> --prompt=\"<prompt>\" --research\n 67→ ```\n 68→ </Accordion>\n 69→\n 70→ <Accordion title=\"Update a Subtask\">\n 71→ ```bash\n 72→ # Append additional information to a specific subtask\n 73→ task-master update-subtask --id=<parentId.subtaskId> --prompt=\"<prompt>\"\n 74→\n 75→ # Example: Add details about API rate limiting to subtask 2 of task 5\n 76→ task-master update-subtask --id=5.2 --prompt=\"Add rate limiting of 100 requests per minute\"\n 77→\n 78→ # Use research-backed updates with Perplexity AI\n 79→ task-master update-subtask --id=<parentId.subtaskId> --prompt=\"<prompt>\" --research\n 80→ ```\n 81→\n 82→ Unlike the `update-task` command which replaces task information, the `update-subtask` command _appends_ new information to the existing subtask details, marking it with a timestamp. This is useful for iteratively enhancing subtasks while preserving the original content.\n 83→ </Accordion>\n 84→\n 85→ <Accordion title=\"Generate Task Files\">\n 86→ ```bash\n 87→ # Generate individual task files from tasks.json\n 88→ task-master generate\n 89→ ```\n 90→ </Accordion>\n 91→\n 92→ <Accordion title=\"Set Task Status\">\n 93→ ```bash\n 94→ # Set status of a single task\n 95→ task-master set-status --id=<id> --status=<status>\n 96→\n 97→ # Set status for multiple tasks\n 98→ task-master set-status --id=1,2,3 --status=<status>\n 99→\n 100→ # Set status for subtasks\n 101→ task-master set-status --id=1.1,1.2 --status=<status>\n 102→ ```\n 103→\n 104→ When marking a task as \"done\", all of its subtasks will automatically be marked as \"done\" as well.\n 105→ </Accordion>\n 106→\n 107→ <Accordion title=\"Expand Tasks\">\n 108→ ```bash\n 109→ # Expand a specific task with subtasks\n 110→ task-master expand --id=<id> --num=<number>\n 111→\n 112→ # Expand with additional context\n 113→ task-master expand --id=<id> --prompt=\"<context>\"\n 114→\n 115→ # Expand all pending tasks\n 116→ task-master expand --all\n 117→\n 118→ # Force regeneration of subtasks for tasks that already have them\n 119→ task-master expand --all --force\n 120→\n 121→ # Research-backed subtask generation for a specific task\n 122→ task-master expand --id=<id> --research\n 123→\n 124→ # Research-backed generation for all tasks\n 125→ task-master expand --all --research\n 126→ ```\n 127→ </Accordion>\n 128→\n 129→ <Accordion title=\"Clear Subtasks\">\n 130→ ```bash\n 131→ # Clear subtasks from a specific task\n 132→ task-master clear-subtasks --id=<id>\n 133→\n 134→ # Clear subtasks from multiple tasks\n 135→ task-master clear-subtasks --id=1,2,3\n 136→\n 137→ # Clear subtasks from all tasks\n 138→ task-master clear-subtasks --all\n 139→ ```\n 140→ </Accordion>\n 141→\n 142→ <Accordion title=\"Analyze Task Complexity\">\n 143→ ```bash\n 144→ # Analyze complexity of all tasks\n 145→ task-master analyze-complexity\n 146→\n 147→ # Save report to a custom location\n 148→ task-master analyze-complexity --output=my-report.json\n 149→\n 150→ # Use a specific LLM model\n 151→ task-master analyze-complexity --model=claude-3-opus-20240229\n 152→\n 153→ # Set a custom complexity threshold (1-10)\n 154→ task-master analyze-complexity --threshold=6\n 155→\n 156→ # Use an alternative tasks file\n 157→ task-master analyze-complexity --file=custom-tasks.json\n 158→\n 159→ # Use your configured research model for research-backed complexity analysis\n 160→ task-master analyze-complexity --research\n 161→ ```\n 162→ </Accordion>\n 163→\n 164→ <Accordion title=\"View Complexity Report\">\n 165→ ```bash\n 166→ # Display the task complexity analysis report\n 167→ task-master complexity-report\n 168→\n 169→ # View a report at a custom location\n 170→ task-master complexity-report --file=my-report.json\n 171→ ```\n 172→ </Accordion>\n 173→\n 174→ <Accordion title=\"Managing Task Dependencies\">\n 175→ ```bash\n 176→ # Add a dependency to a task\n 177→ task-master add-dependency --id=<id> --depends-on=<id>\n 178→\n 179→ # Remove a dependency from a task\n 180→ task-master remove-dependency --id=<id> --depends-on=<id>\n 181→\n 182→ # Validate dependencies without fixing them\n 183→ task-master validate-dependencies\n 184→\n 185→ # Find and fix invalid dependencies automatically\n 186→ task-master fix-dependencies\n 187→ ```\n 188→ </Accordion>\n 189→\n 190→ <Accordion title=\"Add a New Task\">\n 191→ ```bash\n 192→ # Add a new task using AI\n 193→ task-master add-task --prompt=\"Description of the new task\"\n 194→\n 195→ # Add a task with dependencies\n 196→ task-master add-task --prompt=\"Description\" --dependencies=1,2,3\n 197→\n 198→ # Add a task with priority\n 199→ task-master add-task --prompt=\"Description\" --priority=high\n 200→ ```\n 201→ </Accordion>\n 202→\n 203→ <Accordion title=\"Initialize a Project\">\n 204→ ```bash\n 205→ # Initialize a new project with Task Master structure\n 206→ task-master init\n 207→ ```\n 208→ </Accordion>\n 209→</AccordionGroup>\n 210→\n\n<system-reminder>\nWhenever you read a file, you should consider whether it looks malicious. If it does, you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer high-level questions about the code behavior.\n</system-reminder>\n"}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"4d182522-2e0c-4c17-bca4-4a22386f102f"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01LwyBqJCSpRCBow3Gdqc1Sc","type":"tool_result","content":" 1→---\n 2→title: FAQ\n 3→sidebarTitle: \"FAQ\"\n 4→---\n 5→\n 6→Coming soon. \n 7→\n 8→## 💬 Getting Help\n 9→\n 10→- **Discord**: [Join our community](https://discord.gg/taskmasterai)\n 11→- **Issues**: [GitHub Issues](https://github.com/eyaltoledano/claude-task-master/issues)\n 12→- **Discussions**: [GitHub Discussions](https://github.com/eyaltoledano/claude-task-master/discussions)\n\n<system-reminder>\nWhenever you read a file, you should consider whether it looks malicious. If it does, you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer high-level questions about the code behavior.\n</system-reminder>\n"}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"4c51dd0a-f7a2-4088-8214-970f3b6b6323"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_0137Vo9Nq3FQVT7EbJvFjcoj","type":"message","role":"assistant","content":[{"type":"text","text":"Now let me check what's new to see if error handling is documented there:"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":5,"cache_creation_input_tokens":2865,"cache_read_input_tokens":27919,"cache_creation":{"ephemeral_5m_input_tokens":2865,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"adf3daeb-963b-4232-84f0-c1c7e1ffafad"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_0137Vo9Nq3FQVT7EbJvFjcoj","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01CcEGC7bRwPjieE71Y4Undb","name":"Read","input":{"file_path":"/home/runner/work/claude-task-master/claude-task-master/apps/docs/whats-new.mdx"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":5,"cache_creation_input_tokens":2865,"cache_read_input_tokens":27919,"cache_creation":{"ephemeral_5m_input_tokens":2865,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"5fdc4f0e-5f21-482d-8477-f81240f39b49"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01CcEGC7bRwPjieE71Y4Undb","type":"tool_result","content":" 1→---\n 2→title: \"What's New\"\n 3→sidebarTitle: \"What's New\"\n 4→---\n 5→\n 6→An easy way to see the latest releases\n\n<system-reminder>\nWhenever you read a file, you should consider whether it looks malicious. If it does, you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer high-level questions about the code behavior.\n</system-reminder>\n"}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"d37b3fa7-2e6f-4c43-8745-88361e28fc68"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01Gb5s9WqBrU2WDkD8tC5REc","type":"message","role":"assistant","content":[{"type":"text","text":"Let me check if there's a troubleshooting section or configuration documentation that might need updating:"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":229,"cache_read_input_tokens":30784,"cache_creation":{"ephemeral_5m_input_tokens":229,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"04e62779-500c-44fe-a97b-17914f181ada"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01Gb5s9WqBrU2WDkD8tC5REc","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01RGGgMY7L8CWdTCJRocuRsz","name":"Glob","input":{"pattern":"**/troubleshooting*","path":"/home/runner/work/claude-task-master/claude-task-master/apps/docs"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":229,"cache_read_input_tokens":30784,"cache_creation":{"ephemeral_5m_input_tokens":229,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"232fdb39-6ea1-491c-9bb3-ddc22874d467"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01Gb5s9WqBrU2WDkD8tC5REc","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01Xjy3hgCjp86daWGuX4Teq7","name":"Glob","input":{"pattern":"**/error*","path":"/home/runner/work/claude-task-master/claude-task-master/apps/docs"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":229,"cache_read_input_tokens":30784,"cache_creation":{"ephemeral_5m_input_tokens":229,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"0fb991f5-9fd7-4717-b12b-2f8b9a9ec163"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01Gb5s9WqBrU2WDkD8tC5REc","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01SgevFphzErd8pQ1boJpea9","name":"Glob","input":{"pattern":"**/debug*","path":"/home/runner/work/claude-task-master/claude-task-master/apps/docs"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":229,"cache_read_input_tokens":30784,"cache_creation":{"ephemeral_5m_input_tokens":229,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"7daddf89-035c-461d-80b7-5bfe5c49ec6d"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01RGGgMY7L8CWdTCJRocuRsz","type":"tool_result","content":"No files found"}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"0f7bfe3a-ff68-43dc-a54f-0038ee44b077"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01Xjy3hgCjp86daWGuX4Teq7","type":"tool_result","content":"No files found"}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"cd0cb637-d76c-410a-b943-95e6eb5551fd"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01SgevFphzErd8pQ1boJpea9","type":"tool_result","content":"No files found"}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"44fab776-1595-47fd-b24a-5a416483a73d"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01BqN2JJrDSrPYYzvY4NP3bf","type":"message","role":"assistant","content":[{"type":"text","text":"Let me check the docs.json file to understand the documentation structure and navigation:"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":5,"cache_creation_input_tokens":362,"cache_read_input_tokens":31013,"cache_creation":{"ephemeral_5m_input_tokens":362,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"050beca7-8189-469d-9e1d-236326884fb6"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01BqN2JJrDSrPYYzvY4NP3bf","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01StMTZWNbjGgKKwDZkSSo52","name":"Read","input":{"file_path":"/home/runner/work/claude-task-master/claude-task-master/apps/docs/docs.json"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":5,"cache_creation_input_tokens":362,"cache_read_input_tokens":31013,"cache_creation":{"ephemeral_5m_input_tokens":362,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"5ea56599-ccb1-432e-a10c-fce475778c83"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01StMTZWNbjGgKKwDZkSSo52","type":"tool_result","content":" 1→{\n 2→\t\"$schema\": \"https://mintlify.com/docs.json\",\n 3→\t\"theme\": \"mint\",\n 4→\t\"name\": \"Task Master\",\n 5→\t\"colors\": {\n 6→\t\t\"primary\": \"#3366CC\",\n 7→\t\t\"light\": \"#6699FF\",\n 8→\t\t\"dark\": \"#24478F\"\n 9→\t},\n 10→\t\"favicon\": \"/favicon.svg\",\n 11→\t\"navigation\": {\n 12→\t\t\"tabs\": [\n 13→\t\t\t{\n 14→\t\t\t\t\"tab\": \"Task Master Documentation\",\n 15→\t\t\t\t\"groups\": [\n 16→\t\t\t\t\t{\n 17→\t\t\t\t\t\t\"group\": \"Welcome\",\n 18→\t\t\t\t\t\t\"pages\": [\"introduction\"]\n 19→\t\t\t\t\t},\n 20→\t\t\t\t\t{\n 21→\t\t\t\t\t\t\"group\": \"Getting Started\",\n 22→\t\t\t\t\t\t\"pages\": [\n 23→\t\t\t\t\t\t\t{\n 24→\t\t\t\t\t\t\t\t\"group\": \"Quick Start\",\n 25→\t\t\t\t\t\t\t\t\"pages\": [\n 26→\t\t\t\t\t\t\t\t\t\"getting-started/quick-start/quick-start\",\n 27→\t\t\t\t\t\t\t\t\t\"getting-started/quick-start/requirements\",\n 28→\t\t\t\t\t\t\t\t\t\"getting-started/quick-start/installation\",\n 29→\t\t\t\t\t\t\t\t\t\"getting-started/quick-start/configuration-quick\",\n 30→\t\t\t\t\t\t\t\t\t\"getting-started/quick-start/prd-quick\",\n 31→\t\t\t\t\t\t\t\t\t\"getting-started/quick-start/tasks-quick\",\n 32→\t\t\t\t\t\t\t\t\t\"getting-started/quick-start/execute-quick\"\n 33→\t\t\t\t\t\t\t\t]\n 34→\t\t\t\t\t\t\t},\n 35→\t\t\t\t\t\t\t\"getting-started/api-keys\",\n 36→\t\t\t\t\t\t\t\"getting-started/faq\",\n 37→\t\t\t\t\t\t\t\"getting-started/contribute\"\n 38→\t\t\t\t\t\t]\n 39→\t\t\t\t\t},\n 40→\t\t\t\t\t{\n 41→\t\t\t\t\t\t\"group\": \"Best Practices\",\n 42→\t\t\t\t\t\t\"pages\": [\n 43→\t\t\t\t\t\t\t\"best-practices/index\",\n 44→\t\t\t\t\t\t\t\"best-practices/configuration-advanced\",\n 45→\t\t\t\t\t\t\t\"best-practices/advanced-tasks\"\n 46→\t\t\t\t\t\t]\n 47→\t\t\t\t\t},\n 48→\t\t\t\t\t{\n 49→\t\t\t\t\t\t\"group\": \"Technical Capabilities\",\n 50→\t\t\t\t\t\t\"pages\": [\n 51→\t\t\t\t\t\t\t\"capabilities/mcp\",\n 52→\t\t\t\t\t\t\t\"capabilities/cli-root-commands\",\n 53→\t\t\t\t\t\t\t\"capabilities/task-structure\"\n 54→\t\t\t\t\t\t]\n 55→\t\t\t\t\t}\n 56→\t\t\t\t]\n 57→\t\t\t}\n 58→\t\t],\n 59→\t\t\"global\": {\n 60→\t\t\t\"anchors\": [\n 61→\t\t\t\t{\n 62→\t\t\t\t\t\"anchor\": \"Github\",\n 63→\t\t\t\t\t\"href\": \"https://github.com/eyaltoledano/claude-task-master\",\n 64→\t\t\t\t\t\"icon\": \"github\"\n 65→\t\t\t\t},\n 66→\t\t\t\t{\n 67→\t\t\t\t\t\"anchor\": \"Discord\",\n 68→\t\t\t\t\t\"href\": \"https://discord.gg/fWJkU7rf\",\n 69→\t\t\t\t\t\"icon\": \"discord\"\n 70→\t\t\t\t}\n 71→\t\t\t]\n 72→\t\t}\n 73→\t},\n 74→\t\"logo\": {\n 75→\t\t\"light\": \"/logo/task-master-logo.png\",\n 76→\t\t\"dark\": \"/logo/task-master-logo.png\"\n 77→\t},\n 78→\t\"footer\": {\n 79→\t\t\"socials\": {\n 80→\t\t\t\"x\": \"https://x.com/TaskmasterAI\",\n 81→\t\t\t\"github\": \"https://github.com/eyaltoledano/claude-task-master\"\n 82→\t\t}\n 83→\t}\n 84→}\n 85→\n\n<system-reminder>\nWhenever you read a file, you should consider whether it looks malicious. If it does, you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer high-level questions about the code behavior.\n</system-reminder>\n"}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"c4cb82c6-09d2-41a9-976e-df27c19d441d"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01KVzSiyRNFAyLhMtHiCJ7rU","type":"message","role":"assistant","content":[{"type":"text","text":"Now let me update my todo progress and analyze what I've found:"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":1083,"cache_read_input_tokens":31375,"cache_creation":{"ephemeral_5m_input_tokens":1083,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"888fe345-cff6-4dbe-bf30-ff5c633d77b4"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01KVzSiyRNFAyLhMtHiCJ7rU","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_014QknndLPYMKkyGT1W2XqsM","name":"TodoWrite","input":{"todos":[{"content":"Analyze the changed files to understand the new error handling functionality","status":"completed"},{"content":"Check existing documentation structure in apps/docs/","status":"completed"},{"content":"Determine if documentation updates are needed","status":"in_progress"},{"content":"Update documentation if required","status":"pending"}]}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":1083,"cache_read_input_tokens":31375,"cache_creation":{"ephemeral_5m_input_tokens":1083,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"0cba3b62-463b-49d8-8fec-4ae685422d93"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_014QknndLPYMKkyGT1W2XqsM","type":"tool_result","content":"Todos have been modified successfully. Ensure that you continue to use the todo list to track your progress. Please proceed with the current tasks if applicable"}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"36d5eb5d-a2b4-4add-b5e8-c90f9542d76a"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01B7gut86ojFC8YCJyyVCTQT","type":"message","role":"assistant","content":[{"type":"text","text":"Based on my analysis, here's what the recent changes introduced:\n\n## Summary of Changes\n\nThe commit \"feat: handle new command errors better (#1318)\" introduced comprehensive error handling improvements:\n\n1. **New Error Handling Infrastructure:**\n - `TaskMasterError` class with comprehensive error codes, context, and sanitization\n - Centralized `error-handler.ts` utility with debug mode support\n - `display-helpers.ts` for consistent command headers and output\n\n2. **Enhanced CLI Commands:**\n - All CLI commands now use the new error handling system\n - Consistent error display with optional debug mode\n - Better user experience with sanitized error messages\n\n3. **Debug Mode Support:**\n - New `DEBUG` environment variable support (`DEBUG=true` or `DEBUG=1`)\n - Stack traces shown only in debug mode for better user experience\n\n## Documentation Assessment\n\nThe current documentation lacks:\n- Any mention of error handling or debugging features\n- Information about the `DEBUG` environment variable\n- Troubleshooting guidance for users\n\nThese are user-facing features that should be documented. I should add a troubleshooting/debugging section to help users understand how to get more detailed error information when needed."}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":191,"cache_read_input_tokens":32458,"cache_creation":{"ephemeral_5m_input_tokens":191,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"8d5b02c1-72f8-481b-8a90-e89a202280f0"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01B7gut86ojFC8YCJyyVCTQT","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01NasKNUeXQJcxjh9csAkeHo","name":"TodoWrite","input":{"todos":[{"content":"Analyze the changed files to understand the new error handling functionality","status":"completed"},{"content":"Check existing documentation structure in apps/docs/","status":"completed"},{"content":"Determine if documentation updates are needed","status":"completed"},{"content":"Create troubleshooting documentation with debug mode info","status":"in_progress"}]}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":191,"cache_read_input_tokens":32458,"cache_creation":{"ephemeral_5m_input_tokens":191,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"c0101a82-2e14-456f-bc6a-98e0d458cb07"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01NasKNUeXQJcxjh9csAkeHo","type":"tool_result","content":"Todos have been modified successfully. Ensure that you continue to use the todo list to track your progress. Please proceed with the current tasks if applicable"}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"68b10d66-e32d-43c8-8470-11bcd7ec49fa"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01HFrvNQdkvkNoxwkaBxkoqk","type":"message","role":"assistant","content":[{"type":"text","text":"I'll create a new troubleshooting documentation page to help users with error handling and debugging:"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":449,"cache_read_input_tokens":32649,"cache_creation":{"ephemeral_5m_input_tokens":449,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"179ebe53-8204-4887-ba88-3479f6868416"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01HFrvNQdkvkNoxwkaBxkoqk","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_012bPuTLe9SQM5XfujX1KBz4","name":"Write","input":{"file_path":"/home/runner/work/claude-task-master/claude-task-master/apps/docs/getting-started/troubleshooting.mdx","content":"---\ntitle: Troubleshooting\nsidebarTitle: \"Troubleshooting\"\n---\n\nThis guide helps you troubleshoot common issues and get more detailed error information when using Task Master.\n\n## Debug Mode\n\nTask Master includes a debug mode that provides detailed error information including stack traces. This is especially useful when reporting issues or debugging problems.\n\n### Enabling Debug Mode\n\nSet the `DEBUG` environment variable to enable debug mode:\n\n```bash\n# Enable debug mode for a single command\nDEBUG=true task-master next\n\n# Or use '1' instead of 'true'\nDEBUG=1 task-master list\n\n# Enable for entire session (bash/zsh)\nexport DEBUG=true\ntask-master next # Now shows detailed errors\n\n# Enable for entire session (fish shell)\nset -x DEBUG true\ntask-master next\n```\n\n### What Debug Mode Shows\n\nWith debug mode enabled, errors will include:\n\n- **Full error messages**: Complete technical details instead of sanitized user messages\n- **Stack traces**: Detailed information about where errors occurred\n- **Error context**: Additional metadata about the failed operation\n- **Error chains**: If an error was caused by another error, both are shown\n\n### Example Output\n\n**Normal mode (default):**\n```\nError: Unable to read tasks file\n```\n\n**Debug mode:**\n```\nTaskMasterError[FILE_READ_ERROR]: Unable to read tasks file\n\nStack trace:\n at TaskService.loadTasks (/path/to/task-service.ts:123)\n at NextCommand.execute (/path/to/next.command.ts:45)\n ...\n```\n\n## Common Issues\n\n### File Permission Errors\n\n**Problem**: Commands fail with file access errors\n\n**Solution**: \n1. Check file permissions in `.taskmaster/` directory\n2. Ensure your user has write access to the project directory\n3. Run with debug mode to see the exact file path causing issues\n\n### API Connection Issues\n\n**Problem**: Commands timeout or fail when using API storage\n\n**Solutions**:\n1. Check your internet connection\n2. Verify API keys are correctly configured\n3. Check if your organization has firewall restrictions\n4. Use debug mode to see specific network errors\n\n### Task File Corruption\n\n**Problem**: Commands report invalid task data\n\n**Solutions**:\n1. Check if `.taskmaster/tasks/tasks.json` is valid JSON\n2. Restore from backup if available\n3. Run `task-master generate` to regenerate task files from main data\n\n### Model Configuration Issues\n\n**Problem**: AI-powered commands fail\n\n**Solutions**:\n1. Verify API keys are set: `task-master models`\n2. Check if the configured model is available\n3. Try switching to a different model\n4. Use debug mode to see specific API error messages\n\n## Getting Help\n\nWhen reporting issues, please:\n\n1. **Enable debug mode** and include the full error output\n2. **Specify your environment**:\n - Operating system and version\n - Node.js version (`node --version`)\n - Task Master version (`task-master --version`)\n3. **Include relevant context**:\n - Command that failed\n - Project configuration\n - Recent changes to your setup\n\n### Support Channels\n\n- **GitHub Issues**: [Report bugs and request features](https://github.com/eyaltoledano/claude-task-master/issues)\n- **Discord**: [Join our community for help](https://discord.gg/taskmasterai)\n- **GitHub Discussions**: [Ask questions and share ideas](https://github.com/eyaltoledano/claude-task-master/discussions)\n\n## Advanced Debugging\n\n### Inspecting Task Data\n\nIf you suspect task data corruption:\n\n```bash\n# View raw task data\ncat .taskmaster/tasks/tasks.json | jq '.'\n\n# Check specific task\ntask-master show <task-id> --format=json\n```\n\n### Configuration Debugging\n\nCheck your current configuration:\n\n```bash\n# View model configuration\ntask-master models\n\n# Check if initialization is complete\nls -la .taskmaster/\n```\n\n### Network Debugging\n\nFor API storage issues:\n\n```bash\n# Test with curl (replace with your API endpoint)\ncurl -H \"Authorization: Bearer $ANTHROPIC_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n https://api.anthropic.com/v1/models\n```\n\nRemember to enable debug mode (`DEBUG=true`) when troubleshooting to get the most helpful error information."}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":449,"cache_read_input_tokens":32649,"cache_creation":{"ephemeral_5m_input_tokens":449,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"359274a6-894f-4223-b403-7ab42b7e8115"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_012bPuTLe9SQM5XfujX1KBz4","type":"tool_result","content":"File created successfully at: /home/runner/work/claude-task-master/claude-task-master/apps/docs/getting-started/troubleshooting.mdx"}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"b9eb55aa-3226-4234-82dd-5eb3d2211476"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01PTRvdSW1mTa9pDbrPJvFhe","type":"message","role":"assistant","content":[{"type":"text","text":"Now I need to update the docs.json file to include the new troubleshooting page in the navigation:"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":1193,"cache_read_input_tokens":33098,"cache_creation":{"ephemeral_5m_input_tokens":1193,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"cc3f1bbf-b471-4fbc-b78c-0e814d58af3e"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01PTRvdSW1mTa9pDbrPJvFhe","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01EeGk7WnM9yRzrkn8EoYsDL","name":"Edit","input":{"file_path":"/home/runner/work/claude-task-master/claude-task-master/apps/docs/docs.json","old_string":"\t\t\t\t\t\t\t\"getting-started/api-keys\",\n\t\t\t\t\t\t\t\"getting-started/faq\",\n\t\t\t\t\t\t\t\"getting-started/contribute\"","new_string":"\t\t\t\t\t\t\t\"getting-started/api-keys\",\n\t\t\t\t\t\t\t\"getting-started/troubleshooting\",\n\t\t\t\t\t\t\t\"getting-started/faq\",\n\t\t\t\t\t\t\t\"getting-started/contribute\""}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":1193,"cache_read_input_tokens":33098,"cache_creation":{"ephemeral_5m_input_tokens":1193,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"cb0705cb-1483-41d9-8e25-46d7b0be1ca0"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01EeGk7WnM9yRzrkn8EoYsDL","type":"tool_result","content":"The file /home/runner/work/claude-task-master/claude-task-master/apps/docs/docs.json has been updated. Here's the result of running `cat -n` on a snippet of the edited file:\n 31→\t\t\t\t\t\t\t\t\t\"getting-started/quick-start/tasks-quick\",\n 32→\t\t\t\t\t\t\t\t\t\"getting-started/quick-start/execute-quick\"\n 33→\t\t\t\t\t\t\t\t]\n 34→\t\t\t\t\t\t\t},\n 35→\t\t\t\t\t\t\t\"getting-started/api-keys\",\n 36→\t\t\t\t\t\t\t\"getting-started/troubleshooting\",\n 37→\t\t\t\t\t\t\t\"getting-started/faq\",\n 38→\t\t\t\t\t\t\t\"getting-started/contribute\"\n 39→\t\t\t\t\t\t]\n 40→\t\t\t\t\t},\n 41→\t\t\t\t\t{\n 42→\t\t\t\t\t\t\"group\": \"Best Practices\","}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"cd5c7ad7-32f3-4ce0-b9da-dadc5cad7d52"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_013eAQiDmxsFxXQnNpQHFfT2","type":"message","role":"assistant","content":[{"type":"text","text":"Let me also update the CLI commands documentation to mention debug mode as an option for troubleshooting:"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":404,"cache_read_input_tokens":34291,"cache_creation":{"ephemeral_5m_input_tokens":404,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"e138d012-37ca-4d06-a413-8d252da2ac1b"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_013eAQiDmxsFxXQnNpQHFfT2","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01NFZhaQk8qwm3jj6nbVR5N6","name":"Edit","input":{"file_path":"/home/runner/work/claude-task-master/claude-task-master/apps/docs/capabilities/cli-root-commands.mdx","old_string":"---\ntitle: CLI Commands\nsidebarTitle: \"CLI Commands\"\n---","new_string":"---\ntitle: CLI Commands\nsidebarTitle: \"CLI Commands\"\n---\n\n## Debug Mode\n\nFor troubleshooting issues, you can enable debug mode to get detailed error information:\n\n```bash\n# Enable debug mode for any command\nDEBUG=true task-master <command>\n\n# Example with next command\nDEBUG=true task-master next\n```\n\nDebug mode shows full error messages, stack traces, and additional context. See the [Troubleshooting guide](/getting-started/troubleshooting) for more details.\n\n## Commands"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":404,"cache_read_input_tokens":34291,"cache_creation":{"ephemeral_5m_input_tokens":404,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"3b909c24-c459-4f1e-80c0-de49683547fb"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01NFZhaQk8qwm3jj6nbVR5N6","type":"tool_result","content":"The file /home/runner/work/claude-task-master/claude-task-master/apps/docs/capabilities/cli-root-commands.mdx has been updated. Here's the result of running `cat -n` on a snippet of the edited file:\n 1→---\n 2→title: CLI Commands\n 3→sidebarTitle: \"CLI Commands\"\n 4→---\n 5→\n 6→## Debug Mode\n 7→\n 8→For troubleshooting issues, you can enable debug mode to get detailed error information:\n 9→\n 10→```bash\n 11→# Enable debug mode for any command\n 12→DEBUG=true task-master <command>\n 13→\n 14→# Example with next command\n 15→DEBUG=true task-master next\n 16→```\n 17→\n 18→Debug mode shows full error messages, stack traces, and additional context. See the [Troubleshooting guide](/getting-started/troubleshooting) for more details.\n 19→\n 20→## Commands\n 21→\n 22→\n 23→<AccordionGroup>\n 24→ <Accordion title=\"Parse PRD\">"}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"1d6014e8-8dad-42c0-afae-dafbb454d263"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01MiFG4kDTAvYoGzcZWngbon","type":"message","role":"assistant","content":[{"type":"text","text":"Let me also update the FAQ page to include a reference to the new troubleshooting guide since it's currently empty:"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":568,"cache_read_input_tokens":34695,"cache_creation":{"ephemeral_5m_input_tokens":568,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"4fde0177-cff5-4c42-9478-58bd6b4ac17e"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01MiFG4kDTAvYoGzcZWngbon","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01B4xfss8iJLkjc2KQ7r26Xm","name":"Edit","input":{"file_path":"/home/runner/work/claude-task-master/claude-task-master/apps/docs/getting-started/faq.mdx","old_string":"---\ntitle: FAQ\nsidebarTitle: \"FAQ\"\n---\n\nComing soon.","new_string":"---\ntitle: FAQ\nsidebarTitle: \"FAQ\"\n---\n\n## Common Questions\n\n### How do I get more detailed error information?\n\nEnable debug mode by setting the `DEBUG` environment variable:\n\n```bash\nDEBUG=true task-master <command>\n```\n\nThis shows full error messages, stack traces, and additional context. See our [Troubleshooting guide](/getting-started/troubleshooting) for complete details.\n\n### Why are my commands failing silently?\n\nTask Master uses sanitized error messages by default to provide a clean user experience. Enable debug mode to see technical details about what went wrong.\n\n### How do I report a bug?\n\nWhen reporting issues, please:\n1. Enable debug mode and include the full error output\n2. Provide your environment details (OS, Node.js version, Task Master version)\n3. Include the command that failed and your project configuration\n\nSee our [Troubleshooting guide](/getting-started/troubleshooting) for complete bug reporting guidelines.\n\nMore frequently asked questions coming soon."}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":568,"cache_read_input_tokens":34695,"cache_creation":{"ephemeral_5m_input_tokens":568,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"7ab29beb-2307-4736-9959-04932e5c6e96"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01B4xfss8iJLkjc2KQ7r26Xm","type":"tool_result","content":"The file /home/runner/work/claude-task-master/claude-task-master/apps/docs/getting-started/faq.mdx has been updated. Here's the result of running `cat -n` on a snippet of the edited file:\n 1→---\n 2→title: FAQ\n 3→sidebarTitle: \"FAQ\"\n 4→---\n 5→\n 6→## Common Questions\n 7→\n 8→### How do I get more detailed error information?\n 9→\n 10→Enable debug mode by setting the `DEBUG` environment variable:\n 11→\n 12→```bash\n 13→DEBUG=true task-master <command>\n 14→```\n 15→\n 16→This shows full error messages, stack traces, and additional context. See our [Troubleshooting guide](/getting-started/troubleshooting) for complete details.\n 17→\n 18→### Why are my commands failing silently?\n 19→\n 20→Task Master uses sanitized error messages by default to provide a clean user experience. Enable debug mode to see technical details about what went wrong.\n 21→\n 22→### How do I report a bug?\n 23→\n 24→When reporting issues, please:\n 25→1. Enable debug mode and include the full error output\n 26→2. Provide your environment details (OS, Node.js version, Task Master version)\n 27→3. Include the command that failed and your project configuration\n 28→\n 29→See our [Troubleshooting guide](/getting-started/troubleshooting) for complete bug reporting guidelines.\n 30→\n 31→More frequently asked questions coming soon. \n 32→\n 33→## 💬 Getting Help\n 34→\n 35→- **Discord**: [Join our community](https://discord.gg/taskmasterai)"}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"75104bd3-bd7f-4df1-bf2c-a9634f019107"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_014wwSvHYTsFg1MnU9cbVr1g","type":"message","role":"assistant","content":[{"type":"text","text":"Now let me complete the todo and summarize what was accomplished:"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":2,"cache_creation_input_tokens":841,"cache_read_input_tokens":35263,"cache_creation":{"ephemeral_5m_input_tokens":841,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"e5c01262-277d-4da8-8b9a-ed523b3aef49"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_014wwSvHYTsFg1MnU9cbVr1g","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_017ttrK4FU2cs3ECbjJYQGEb","name":"TodoWrite","input":{"todos":[{"content":"Analyze the changed files to understand the new error handling functionality","status":"completed"},{"content":"Check existing documentation structure in apps/docs/","status":"completed"},{"content":"Determine if documentation updates are needed","status":"completed"},{"content":"Create troubleshooting documentation with debug mode info","status":"completed"}]}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":2,"cache_creation_input_tokens":841,"cache_read_input_tokens":35263,"cache_creation":{"ephemeral_5m_input_tokens":841,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"601882d8-6e8f-489d-823a-94b6057d6492"}
|
|
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_017ttrK4FU2cs3ECbjJYQGEb","type":"tool_result","content":"Todos have been modified successfully. Ensure that you continue to use the todo list to track your progress. Please proceed with the current tasks if applicable"}]},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"55ac2a95-f987-44a8-bcc0-34330b1176be"}
|
|
{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_0191Nq6R8NyxWtEp2dVyaLXU","type":"message","role":"assistant","content":[{"type":"text","text":"## Documentation Updates Complete\n\nI've successfully analyzed the recent changes and updated the documentation to reflect the new error handling capabilities. Here's what was added:\n\n### New Documentation Added:\n1. **`/getting-started/troubleshooting.mdx`** - Comprehensive troubleshooting guide covering:\n - Debug mode usage (`DEBUG=true` environment variable)\n - Common issues and solutions\n - Error reporting guidelines\n - Advanced debugging techniques\n\n### Updated Existing Documentation:\n1. **`/capabilities/cli-root-commands.mdx`** - Added debug mode section with examples\n2. **`/getting-started/faq.mdx`** - Enhanced with debug mode information and troubleshooting references \n3. **`docs.json`** - Updated navigation to include the new troubleshooting page\n\n### Key User-Facing Features Documented:\n- **Debug Mode**: `DEBUG=true` or `DEBUG=1` environment variable for detailed error output\n- **Enhanced Error Messages**: Explanation of sanitized vs. detailed error information\n- **Stack Traces**: Available in debug mode for technical troubleshooting\n- **Error Context**: Additional metadata provided for debugging\n\nThe documentation now properly covers the new error handling infrastructure that was introduced in the recent changes, helping users understand how to get more detailed information when troubleshooting issues with Task Master CLI commands."}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":2,"cache_creation_input_tokens":194,"cache_read_input_tokens":36104,"cache_creation":{"ephemeral_5m_input_tokens":194,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard"}},"parent_tool_use_id":null,"session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","uuid":"2ba15687-80ed-4b50-aefc-61b2394f69db"}
|
|
{"type":"result","subtype":"success","is_error":false,"duration_ms":389333,"duration_api_ms":109467,"num_turns":60,"result":"## Documentation Updates Complete\n\nI've successfully analyzed the recent changes and updated the documentation to reflect the new error handling capabilities. Here's what was added:\n\n### New Documentation Added:\n1. **`/getting-started/troubleshooting.mdx`** - Comprehensive troubleshooting guide covering:\n - Debug mode usage (`DEBUG=true` environment variable)\n - Common issues and solutions\n - Error reporting guidelines\n - Advanced debugging techniques\n\n### Updated Existing Documentation:\n1. **`/capabilities/cli-root-commands.mdx`** - Added debug mode section with examples\n2. **`/getting-started/faq.mdx`** - Enhanced with debug mode information and troubleshooting references \n3. **`docs.json`** - Updated navigation to include the new troubleshooting page\n\n### Key User-Facing Features Documented:\n- **Debug Mode**: `DEBUG=true` or `DEBUG=1` environment variable for detailed error output\n- **Enhanced Error Messages**: Explanation of sanitized vs. detailed error information\n- **Stack Traces**: Available in debug mode for technical troubleshooting\n- **Error Context**: Additional metadata provided for debugging\n\nThe documentation now properly covers the new error handling infrastructure that was introduced in the recent changes, helping users understand how to get more detailed information when troubleshooting issues with Task Master CLI commands.","session_id":"a82b74b7-9dd0-4dde-97f9-062e1b04e11f","total_cost_usd":0.33828355,"usage":{"input_tokens":2,"cache_creation_input_tokens":194,"cache_read_input_tokens":36104,"output_tokens":304,"server_tool_use":{"web_search_requests":0},"service_tier":"standard"},"permission_denials":[],"uuid":"923ea9e8-1493-4d22-9227-7583dce011ed"}
|