claude-code - 💡(How to fix) Fix [BUG/FEATURE] PreToolUse hook resolving path

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…

Error Message

Error Messages/Logs

Code Example



---

{
  "tool_input": { "file_path": "/home/claude/projects/p1/src/file.ts" }
}

---

{
  "tool_input": {  "file_path": "/home/claude/projects/p1/src/file.ts"},
  "tool_response": { "file": { "filePath": "./p1-child-dir/../src/file.ts" }
}
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

The PreToolUse file_path tool input data is being resolved/normalised to an absolute path, making it impossible to get the original path information that was passed to the tool call. This wasn't the case in earlier versions of Claude Code.

What Should Happen?

In PreToolUse the actual tool input should be passed as the file_path value or at the very least add a property that preserves it.

Error Messages/Logs

Steps to Reproduce

Read("./p1-child-dir/../src/file.ts")

PreToolUse receives:

{
  "tool_input": { "file_path": "/home/claude/projects/p1/src/file.ts" }
}

❌ original path is GONE

PostToolUse receives:

{
  "tool_input": {  "file_path": "/home/claude/projects/p1/src/file.ts"},
  "tool_response": { "file": { "filePath": "./p1-child-dir/../src/file.ts" }
}

✅ original path is PRESERVED

Claude Model

Sonnet (default)

Is this a regression?

Yes, this worked in a previous version

Last Working Version

No response

Claude Code Version

2.1.143

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

Other

Additional Information

No response

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