claude-code - 💡(How to fix) Fix [Bug] `update_scheduled_task` fails with path traversal error when updating prompt or description [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#56244Fetched 2026-05-06 06:33:19
View on GitHub
Comments
0
Participants
1
Timeline
6
Reactions
0
Participants
Timeline (top)
labeled ×5subscribed ×1

Error Message

[{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/chien7/.local/share/claude/versions/2.1.128 (expected in multi-process scenarios)\n at Nq6 (/$bunfs/root/src/entrypoints/cli.js:2764:2177)\n at uGH (/$bunfs/root/src/entrypoints/cli.js:2764:1257)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-05-05T08:58:10.783Z"}]

Fix Action

Fix / Workaround

Bug Description Bug: update_scheduled_task always fails when updating prompt or description Calling mcp__scheduled-tasks__update_scheduled_task with either the prompt or description field always returns: Failed to update scheduled task: Invalid file path: path traversal detected The same call succeeds when only enabled or cronExpression is changed. Even a minimal ASCII payload (e.g. prompt = "test") fails, so it's not a character/length issue — looks like the path-validation step that runs when the tool tries to rewrite SKILL.md is broken. Repro:

  1. Call mcp__scheduled-tasks__update_scheduled_task
  2. taskId = any existing task
  3. Pass prompt OR description (any value)
  4. → "path traversal detected"
  5. Pass enabled: true instead → succeeds Workaround: Use Write directly on ~/Documents/Claude/Scheduled/{taskId}/SKILL.md to bypass the tool. The frontmatter description: field is what list_scheduled_tasks reads from, so editing the file is sufficient. Impact: Users can't update a scheduled task's instructions via the tool. The schedule UI's "Save" likely hits the same code path and is also broken.

Code Example

[{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/chien7/.local/share/claude/versions/2.1.128 (expected in multi-process scenarios)\n    at Nq6 (/$bunfs/root/src/entrypoints/cli.js:2764:2177)\n    at uGH (/$bunfs/root/src/entrypoints/cli.js:2764:1257)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-05-05T08:58:10.783Z"}]
RAW_BUFFERClick to expand / collapse

Bug Description Bug: update_scheduled_task always fails when updating prompt or description Calling mcp__scheduled-tasks__update_scheduled_task with either the prompt or description field always returns: Failed to update scheduled task: Invalid file path: path traversal detected The same call succeeds when only enabled or cronExpression is changed. Even a minimal ASCII payload (e.g. prompt = "test") fails, so it's not a character/length issue — looks like the path-validation step that runs when the tool tries to rewrite SKILL.md is broken. Repro:

  1. Call mcp__scheduled-tasks__update_scheduled_task
  2. taskId = any existing task
  3. Pass prompt OR description (any value)
  4. → "path traversal detected"
  5. Pass enabled: true instead → succeeds Workaround: Use Write directly on ~/Documents/Claude/Scheduled/{taskId}/SKILL.md to bypass the tool. The frontmatter description: field is what list_scheduled_tasks reads from, so editing the file is sufficient. Impact: Users can't update a scheduled task's instructions via the tool. The schedule UI's "Save" likely hits the same code path and is also broken.

Environment Info

  • Platform: darwin
  • Terminal: ghostty
  • Version: 2.1.128
  • Feedback ID: 936fa949-32f7-41ab-a091-f4f0b2494644

Errors

[{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/chien7/.local/share/claude/versions/2.1.128 (expected in multi-process scenarios)\n    at Nq6 (/$bunfs/root/src/entrypoints/cli.js:2764:2177)\n    at uGH (/$bunfs/root/src/entrypoints/cli.js:2764:1257)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-05-05T08:58:10.783Z"}]

extent analysis

TL;DR

Update the update_scheduled_task function to properly handle file path validation when rewriting the SKILL.md file.

Guidance

  • The issue seems to be related to the path-validation step when updating the prompt or description fields, which is causing a "path traversal detected" error.
  • To verify, try updating only the enabled or cronExpression fields, which should succeed, and then try updating the prompt or description fields again to reproduce the error.
  • A potential workaround is to manually edit the SKILL.md file directly, as described in the issue, to bypass the tool's path-validation step.
  • Investigate the mcp__scheduled-tasks__update_scheduled_task function to see how it handles file path validation and rewriting of the SKILL.md file.

Example

No code snippet is provided as it is not clearly supported by the issue.

Notes

The issue seems to be specific to the darwin platform and Version: 2.1.128, so any fixes or workarounds may need to be tailored to this environment.

Recommendation

Apply workaround: Manually edit the SKILL.md file directly to bypass the tool's path-validation step, as this is a viable temporary solution until the underlying issue is fixed.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [Bug] `update_scheduled_task` fails with path traversal error when updating prompt or description [1 participants]