Skip to content

[BUG] floating window does not disappear when diff view is shown #180

@ysobolev

Description

@ysobolev

Bug Description

With terminal.snacks_win_opts.position is set to float, the floating window does not disappear when a diff view is opened. Instead, the diff view is visible and has cursor focus. Calling ClaudeCodeFocus will switch focus to the open floating window. Calling it again will make the window disappear and switch to the diff view. However, this is a very cumbersome workaround.

My config:

{
  terminal_cmd = "~/.claude/local/claude",
  diff_opts = {
    keep_terminal_focus = false,
  },
  terminal = {
    snacks_win_opts = {
      position="float",
      width=0.9,
      height=0.9,
      backdrop={
        bg="blue",
        blend=90,
      },
      keys = {
        claude_hide = {
          toggle_key,
          function(self)
            self:hide()
          end,
          mode="t",
          desc="Hide",
        }
      },
    }
  }
}

To Reproduce

Steps to reproduce the behavior:

  1. Open a file and launch Claude Code by calling ClaudeCodeFocus.
  2. Ask Claude to produce a change to the code.
  3. Observe that the diff view opens, with the cursor on it, but the floating window is still visible mostly obscuring it.

Expected Behavior

The floating window should disappear when the diff view opens.

Environment

  • Neovim version: 0.9.5 (0.9.5-6ubuntu2)
  • Claude Code CLI version: 2.1.19
  • OS: Ubuntu 24.04.3 LTS
  • Plugin version: main (93f8e48)
  • Snacks version: 2.27.0
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions