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
cd plugin
nvim claudecode.lua
- Run
ClaudeCodeOpen
- 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
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
Using this repository
cd pluginnvim claudecode.luaClaudeCodeOpenClaudeCodeAdd %or make a visual selection and runClaudeCodeSendNote that the path sent is
claudecode.luabut since Claude Code is running from the git root, it should beplugin/claudecode.luafor 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_providerinstead of relative to Neovim's CWD.Environment