coder / coder/claudecode.nvim

[BUG] File paths sent to Claude Code do not respect running Claude from a different CWD

オープン
#151 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Lua
スター
3.1k
フォーク
216
PR マージ指標
30日以内にマージされた PR はありません

説明

## Bug Description

When using a `cwd_provider`, buffer paths sent to Claude Code are relative to Neovim's CWD instead of the directory that Claude is running in.

## To Reproduce

Steps to reproduce the behavior:

Use a plugin configuration similar to
```
require("claudecode").setup({
terminal = {
cwd_provider = function(ctx)
-- Prefer repo root; fallback to file's directory
local cwd = require("claudecode.cwd").git_root(ctx.file_dir or ctx.cwd) or ctx.file_dir or ctx.cwd
return cwd
end,
},
})
```

Using this repository

1. `cd plugin`
2. `nvim claudecode.lua`
3. Run `ClaudeCodeOpen`
4. Run `ClaudeCodeAdd %` or make a visual selection and run `ClaudeCodeSend`

Note that the path sent is `claudecode.lua` but since Claude Code is running from the git root, it should be `plugin/claudecode.lua` for Claude to properly resolve it.

Oddly, sometimes, the first time I send the path it works properly but then after that the bug occurs. Not sure why but it might be linked to whether the path is calculated before or after Claude is finished opening?

## Expected Behavior

The buffer path sent to Claude is relative to Claude's CWD from the `cwd_provider` instead of relative to Neovim's CWD.

## Environment

- Neovim version: 0.11.4
- Claude Code CLI version: 2.0.26
- OS: MacOS 26.0
- Plugin version: latest git

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

示されている cwd_provider で問題を再現し、ClaudeCodeOpen、ClaudeCodeAdd %、ClaudeCodeSend のエントリポイントと、claudecode.cwd 周辺のパス処理を追跡します。Neovim の CWD が Claude の設定済み CWD と異なる場合に送信されるパスを、初回送信のケースも含めて比較します。バッファとビジュアル選択のパスが常に Claude の CWD を基準に解決されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
lua
領域
cli, devtools
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。