openFile: nested write + BufWriteCmd handler can overwrite Claude's file during the acwrite step (known gap)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 12/100
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Lua
- Estrellas
- 3.1k
- Forks
- 223
- Merge medio
- 6 h 47 min
- PR fusionados (30 d)
- 93
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de coder/claudecode.nvim
-
[BUG] ClaudeCodeAdd fails on paths with spacesPosiblemente ocupada @7A1T la tomó hace 80 días. Abiertobug needs-triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
coder/claudecode.nvim#314 ·
Los mantenedores suelen responder en 1 día
-
bug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
coder/claudecode.nvim#313 ·
Los mantenedores suelen responder en 1 día
-
needs-triage
Dificultad 3/5 1-2 días Aptitud para principiantes 30/100
coder/claudecode.nvim#434 ·
Los mantenedores suelen responder en 1 día
-
[BUG] ClaudeCodeSend leaves source buffer in insert mode (snacks provider, focus_after_send off)Abiertoneeds-triage
Dificultad 3/5 1-2 días Aptitud para principiantes 50/100
coder/claudecode.nvim#423 ·
Los mantenedores suelen responder en 1 día
-
needs-triage
Dificultad 3/5 1-2 días Aptitud para principiantes 62/100
coder/claudecode.nvim#309 ·
Los mantenedores suelen responder en 1 día
Todos los issues de coder/claudecode.nvim
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
rohit746/pdf-view.nvim#107 ·
Los mantenedores suelen responder en 1 día
-
bug guide
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
enhancement forever
Dificultad 2/5 1-3 horas Aptitud para principiantes 61/100
openmap-world/openmap#78 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
AndyHazz/bookends.koplugin#130 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
carlos-algms/agentic.nvim#336 ·