[BUG] Issues with redraw and terminal hiding after a few interactions with Claude
- Dominant language
- Lua
- Stars
- 3.1k
- Forks
- 216
- PR merge metrics
- No merged PRs in 30d
Description
## Bug Description
I'm using claudecode.nvim with LazyVim with the following configuration:
```
local toggle_key = ""
return {
{
"coder/claudecode.nvim",
dependencies = { "folke/snacks.nvim" },
keys = {
{ toggle_key, "ClaudeCodeFocus", desc = "Claude Code", mode = { "n", "x" } },
},
opts = {
terminal = {
---@module "snacks"
---@type snacks.win.Config|{}
snacks_win_opts = {
position = "float",
width = 0.9,
height = 0.9,
border = "single",
keys = {
claude_hide = {
toggle_key,
function(self)
self:hide()
end,
mode = "t",
desc = "Hide",
},
},
},
},
},
},
}
```
I was not able to find the exactly moment in my workflow the issues happens, but they are:
1. At some point the terminal input just stops to draw and the cursor is placed in some random position in the terminal window. A few things i do try to fix it:
1. Esc+i (i noticed that it enters in normal mode sometimes) or Ctrl+l (or both)
2. ToggleFocus
3. Quit the entire session and start the terminal again
1. When Claude starts to "think" (when understanding your prompt, working through requested changes or finishing your changes to present a summary) if I use my ToggleFocus shortcut `+,` i can't bring the terminal back again. I need to press Esc twice which end up interrupting the session.
## To Reproduce
Steps to reproduce the behavior:
Install neovim, LazyVim, enable claudecode.nvim from extras and use the configuration i mentioned above.
My workflow with Claude is:
1. /model -> opus
2. /plan
3. Interact with Claude prompts or press Esc to add information.
4. Esc
5. /model -> sonnet
6. Shift+Tab to change to `accept edits on`
7. Proceed
Between the steps 1-6, try to toggle focus (always wait for Claude to pause and ask something or finish the current thinking)
During the step 7 try to ToggleFocus the window.
Again, it's a bit random the moment above issues start to happen.
## Expected Behavior
* Consistent (re)draw of window where the input field is always visible and the cursos placed in it
* Being able to ToggleFocus even during Claude thinking.
## Environment
- Neovim version: 0.12.3
- Claude Code CLI version: 2.1.198
- OS: macOS Tahoe 26.5.2
- Plugin version: 0.3.0
## Error Messages
N/A
## Additional Context
N/A
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the issue with the supplied LazyVim configuration, the floating terminal settings, and the documented Claude workflow while toggling focus during thinking. Then trace the terminal redraw and focus-handling paths; done means the input and cursor consistently redraw and ToggleFocus restores the terminal without requiring Esc or interrupting Claude.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua
- Domain
- cli, devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100