bug: research command saveTo parameter fails silently #380

Open
opened 2025-10-14 15:51:22 -06:00 by navan · 0 comments
Owner

Originally created by @nicolabiagioni on 7/3/2025

Bug Report: research command saveTo parameter fails silently

Repository: https://github.com/eyaltoledano/claude-task-master/
Issue Type: Bug Report
Priority: Medium

🐛 Bug Description

The research MCP tool accepts the saveTo parameter but fails to automatically save research results to the specified task or subtask ID. The operation completes successfully but the save action fails silently, requiring manual intervention using update_subtask or update_task.

🔧 Environment

  • Task Master Version: 0.18.0
  • Editor: Cursor
  • OS: macOS (darwin 23.6.0)
  • Node.js Version: 22.10.0
  • Package Manager: pnpm
  • Installation Method: MCP Server via npx
  • Model Used: claude-sonnet-4-20250514 (Anthropic)
  • Research Model: claude-sonnet-4-20250514 (Anthropic)

📋 Steps to Reproduce

  1. Initialize a Task Master project with tasks containing subtasks
  2. Execute research command with saveTo parameter targeting a subtask:
    mcp_task -
      master -
      ai_research({
        query: 'Environment variables security best practices Next.js 2025',
        projectRoot: '/path/to/project',
        taskIds: '1.7',
        saveTo: '1.7', // ← This parameter should save results automatically
        detailLevel: 'high',
      });
    
  3. Verify the research completes successfully
  4. Check the target subtask details using get_task

Expected Behavior

The research results should be automatically appended to the specified task/subtask's details field with a timestamp, as described in the tool documentation:

saveTo: "Automatically save research results to specified task/subtask ID (e.g., "15" or "15.2")"

Actual Behavior

  • Research command executes successfully
  • saveTo parameter is accepted without errors
  • Research results are generated and returned
  • No automatic save occurs - target task/subtask remains unchanged
  • Silent failure - no error message or indication of save failure

🔍 Evidence

Tool Response Includes saveTo Parameter:

{
  "saveTo": "1.7",
  "tagInfo": {
    "currentTag": "master",
    "availableTags": ["master"]
  }
}

Research Call Telemetry Shows Success:

{
  "modelUsed": "claude-sonnet-4-20250514",
  "providerName": "anthropic",
  "inputTokens": 6908,
  "outputTokens": 4228,
  "totalTokens": 11136,
  "totalCost": 0.084144,
  "currency": "USD"
}

But Target Subtask Remains Unchanged:

{
  "details": "Set up .env.local, .env.example files, create env validation schema with zod, configure environment variables for development and production in Vercel"
}

🛠️ Workaround

Manual save using update_subtask works correctly:

mcp_task -
  master -
  ai_update_subtask({
    id: '1.7',
    prompt: 'RESEARCH FINDINGS: [content]',
  });

💡 Potential Root Causes

  1. Implementation Gap: Feature documented but not implemented
  2. Silent Error Handling: Save operation failing without error reporting
  3. File Permissions: Insufficient permissions to modify tasks.json
  4. Parameter Format: Possible mismatch in expected parameter format
  5. Concurrency Issues: Race condition with task file access

📁 Additional Context

  • This affects the research workflow efficiency significantly
  • The feature is clearly documented in the MCP tool interface
  • Manual saving works perfectly, indicating file access is not the issue
  • No error logs or warnings are generated during the failed save
  • Tested on a Next.js project
*Originally created by @nicolabiagioni on 7/3/2025* # Bug Report: `research` command `saveTo` parameter fails silently **Repository:** https://github.com/eyaltoledano/claude-task-master/ **Issue Type:** Bug Report **Priority:** Medium ## 🐛 Bug Description The `research` MCP tool accepts the `saveTo` parameter but fails to automatically save research results to the specified task or subtask ID. The operation completes successfully but the save action fails silently, requiring manual intervention using `update_subtask` or `update_task`. ## 🔧 Environment - **Task Master Version:** 0.18.0 - **Editor:** Cursor - **OS:** macOS (darwin 23.6.0) - **Node.js Version:** 22.10.0 - **Package Manager:** pnpm - **Installation Method:** MCP Server via npx - **Model Used:** claude-sonnet-4-20250514 (Anthropic) - **Research Model:** claude-sonnet-4-20250514 (Anthropic) ## 📋 Steps to Reproduce 1. Initialize a Task Master project with tasks containing subtasks 2. Execute research command with `saveTo` parameter targeting a subtask: ```typescript mcp_task - master - ai_research({ query: 'Environment variables security best practices Next.js 2025', projectRoot: '/path/to/project', taskIds: '1.7', saveTo: '1.7', // ← This parameter should save results automatically detailLevel: 'high', }); ``` 3. Verify the research completes successfully 4. Check the target subtask details using `get_task` ## ✅ Expected Behavior The research results should be automatically appended to the specified task/subtask's `details` field with a timestamp, as described in the tool documentation: > `saveTo`: "Automatically save research results to specified task/subtask ID (e.g., "15" or "15.2")" ## ❌ Actual Behavior - ✅ Research command executes successfully - ✅ `saveTo` parameter is accepted without errors - ✅ Research results are generated and returned - ❌ **No automatic save occurs** - target task/subtask remains unchanged - ❌ **Silent failure** - no error message or indication of save failure ## 🔍 Evidence **Tool Response Includes saveTo Parameter:** ```json { "saveTo": "1.7", "tagInfo": { "currentTag": "master", "availableTags": ["master"] } } ``` **Research Call Telemetry Shows Success:** ```json { "modelUsed": "claude-sonnet-4-20250514", "providerName": "anthropic", "inputTokens": 6908, "outputTokens": 4228, "totalTokens": 11136, "totalCost": 0.084144, "currency": "USD" } ``` **But Target Subtask Remains Unchanged:** ```json { "details": "Set up .env.local, .env.example files, create env validation schema with zod, configure environment variables for development and production in Vercel" } ``` ## 🛠️ Workaround Manual save using `update_subtask` works correctly: ```typescript mcp_task - master - ai_update_subtask({ id: '1.7', prompt: 'RESEARCH FINDINGS: [content]', }); ``` ## 💡 Potential Root Causes 1. **Implementation Gap:** Feature documented but not implemented 2. **Silent Error Handling:** Save operation failing without error reporting 3. **File Permissions:** Insufficient permissions to modify tasks.json 4. **Parameter Format:** Possible mismatch in expected parameter format 5. **Concurrency Issues:** Race condition with task file access ## 📁 Additional Context - This affects the research workflow efficiency significantly - The feature is clearly documented in the MCP tool interface - Manual saving works perfectly, indicating file access is not the issue - No error logs or warnings are generated during the failed save - Tested on a Next.js project
Sign in to join this conversation.
No labels
area:ai-models
area:ai-models
area:ai-models
area:ai-models
area:ai-models
area:ai-models
area:ai-models
area:ai-models
area:ai-models
area:ai-models
area:ai-models
area:ai-models
area:cli
area:cli
area:cli
area:cli
area:cli
area:cli
area:cli
area:cli
area:cli
area:cli
area:cli
area:cli
area:cli
area:cli
area:installation
area:installation
area:installation
area:installation
area:installation
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:vscode-extension
area:vscode-extension
area:vscode-extension
area:vscode-extension
area:vscode-extension
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
duplicate
duplicate
duplicate
duplicate
duplicate
duplicate
duplicate
duplicate
duplicate
duplicate
duplicate
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
help wanted
help wanted
help wanted
help wanted
help wanted
high-priority
high-priority
high-priority
high-priority
high-priority
high-priority
high-priority
high-priority
high-priority
high-priority
high-priority
high-priority
high-priority
integration request
integration request
integration request
integration request
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
low-priority
low-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
provider:anthropic
provider:anthropic
provider:claude-code
provider:claude-code
provider:claude-code
provider:claude-code
provider:claude-code
provider:claude-code
provider:claude-code
provider:claude-code
provider:claude-code
provider:claude-code
provider:claude-code
provider:gemini-cli
provider:openai
provider:perplexity
question
question
question
question
question
question
question
question
question
question
question
question
question
question
refactor
refactor
wontfix
wontfix
wontfix
wontfix
wontfix
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github/claude-task-master#380
No description provided.