openFile: nested write + BufWriteCmd handler can overwrite Claude's file during the acwrite step (known gap)
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 12/100
Direção de pesquisa
Start with the openFile paragraph of Side Effects in lua/claudecode/tools/README.md, then read earlier threads #408, #413 and #420 for the attempts already ruled out. The hard part is design: find a way to block writes of only the one buffer during the acwrite step without affecting other writes or prompts. Done means a documented, tested approach that keeps the E676 and E142 behaviour the issue describes.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
openFile can still write the user's unsaved text over the file Claude just changed, in one narrow case. This issue tracks it, because #413 and #420 only documented it.
When it happens. All three must hold:
- openFile runs its acwrite step for the buffer: the buffer was opened before its file existed, or 'eventignore' or 'eventignorewin' ignores FileChangedShell.
- A user autocommand with
++nestedon BufEnter, BufWinEnter or BufLeave writes that buffer while openFile shows it. - A user BufWriteCmd handler that matches the file (such as
BufWriteCmd *) writes<afile>.
Without ++nested, or without a matching handler, the write fails with E676 and Claude's file stays. Before #408, Neovim stopped this write with E13.
What was tried.
- Turning the global
'write'option off during the step (#413 first version) stopped the overwrite but made a commonautocmd BufLeave * updateautosave fail openFile with E142. nowriteornofile'buftype' make 'modified' read as off, which loses unsaved text through other autocommands (#408 round 7).readonlydoes not stop:w!and prompts with 'confirm'.- A BufWriteCmd guard of openFile's own runs after the user's
BufWriteCmd *.
Where it is documented. lua/claudecode/tools/README.md, openFile paragraph of Side Effects.
A fix needs a way to block writes of this one buffer during the step without blocking or prompting other writes.
Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: high
- Linguagem predominante
- Lua
- Estrelas
- 3.1k
- Forks
- 223
- Merge médio
- 6h 47min
- PRs com merge (30d)
- 93
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de coder/claudecode.nvim
-
[BUG] ClaudeCodeAdd fails on paths with spacesTalvez já em andamento @7A1T assumiu há 81 dias. Abertabug needs-triage
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
coder/claudecode.nvim#314 ·
Mantenedores costumam responder em até 1 dia
-
bug needs-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
coder/claudecode.nvim#313 ·
Mantenedores costumam responder em até 1 dia
-
needs-triage
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 30/100
coder/claudecode.nvim#434 ·
Mantenedores costumam responder em até 1 dia
-
[BUG] ClaudeCodeSend leaves source buffer in insert mode (snacks provider, focus_after_send off)Abertaneeds-triage
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 50/100
coder/claudecode.nvim#423 ·
Mantenedores costumam responder em até 1 dia
-
needs-triage
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 62/100
coder/claudecode.nvim#309 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de coder/claudecode.nvim
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 79/100
google/executor.nvim#46 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
teradata-labs/loom#624 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia