diff --git a/lua/claudecode/terminal.lua b/lua/claudecode/terminal.lua index 4880388..2145c39 100644 --- a/lua/claudecode/terminal.lua +++ b/lua/claudecode/terminal.lua @@ -238,7 +238,7 @@ local function open_fallback_terminal(cmd_string, env_table, effective_term_conf managed_fallback_terminal_winid = new_winid managed_fallback_terminal_bufnr = vim.api.nvim_get_current_buf() - vim.bo[managed_fallback_terminal_bufnr].bufhidden = "wipe" -- Wipe buffer when hidden (e.g., window closed) + vim.bo[managed_fallback_terminal_bufnr].bufhidden = "hide" -- Hide buffer when hidden (e.g., window closed) -- buftype=terminal is set by termopen vim.api.nvim_set_current_win(managed_fallback_terminal_winid) @@ -516,9 +516,10 @@ function M.toggle(opts_override) local current_neovim_win_id = vim.api.nvim_get_current_win() if claude_term_neovim_win_id == current_neovim_win_id then - close_fallback_terminal() + vim.api.nvim_win_hide(claude_term_neovim_win_id) else - focus_fallback_terminal() -- This already calls startinsert + vim.api.nvim_set_current_win(claude_term_neovim_win_id) + vim.cmd("startinsert") end else -- Check if there's an existing Claude terminal we lost track of @@ -532,7 +533,7 @@ function M.toggle(opts_override) -- Check if we're currently in this terminal local current_neovim_win_id = vim.api.nvim_get_current_win() if existing_win == current_neovim_win_id then - close_fallback_terminal() + vim.api.nvim_win_hide(existing_win) else focus_fallback_terminal() end