From f4184a5201228d9ef80ca9cf1e2ef45e0ab4b6e9 Mon Sep 17 00:00:00 2001 From: Michael Barton Date: Mon, 20 Apr 2026 14:40:16 -0700 Subject: [PATCH 1/4] fix(ghostty): remove deprecated auto-install-terminfo field Field was removed in a recent Ghostty release and causes an 'unknown field' startup error. Made-with: Cursor --- ghostty/config | 3 --- 1 file changed, 3 deletions(-) diff --git a/ghostty/config b/ghostty/config index 867f9d1..c01a3df 100644 --- a/ghostty/config +++ b/ghostty/config @@ -5,9 +5,6 @@ shell-integration = fish theme = Catppuccin Frappe command = /opt/homebrew/bin/fish -# Auto-copy Ghostty terminfo to SSH remote hosts (prevents "unknown terminal" errors) -auto-install-terminfo = true - # Desktop notification when a long-running command finishes notify-on-command-finish = true From fcc3668069589671a12bd75c2a3d707d636ba0d7 Mon Sep 17 00:00:00 2001 From: Michael Barton Date: Mon, 20 Apr 2026 14:40:23 -0700 Subject: [PATCH 2/4] fix(ghostty): update notify-on-command-finish to valid enum value The field no longer accepts 'true'. Valid values are: never, unfocused, always. Using 'unfocused' to preserve the original intent of notifying only when the window is not in focus. Made-with: Cursor --- ghostty/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ghostty/config b/ghostty/config index c01a3df..90b95fe 100644 --- a/ghostty/config +++ b/ghostty/config @@ -6,7 +6,7 @@ theme = Catppuccin Frappe command = /opt/homebrew/bin/fish # Desktop notification when a long-running command finishes -notify-on-command-finish = true +notify-on-command-finish = unfocused # Let tmux handle all window/tab management keybind = super+t=unbind From 7027155a7998c6e7663c8df293a5245bdac123ed Mon Sep 17 00:00:00 2001 From: Michael Barton Date: Mon, 20 Apr 2026 14:44:39 -0700 Subject: [PATCH 3/4] fix(fish): suppress atuin bind -k up error on fish 4.0 fish 4.0 dropped support for terminfo key names in bind (-k up). Atuin uses this syntax and will emit a startup error on every shell invocation. Filter the offending line from atuin init output until atuin fixes it upstream. Also guard fzf_configure_bindings and bind calls with status is-interactive for correctness. Made-with: Cursor --- fish/config.fish | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/fish/config.fish b/fish/config.fish index 2851a08..f41e773 100644 --- a/fish/config.fish +++ b/fish/config.fish @@ -35,8 +35,9 @@ if command -v mise &>/dev/null end # Initialize atuin for enhanced shell history (if installed) +# Filter out `bind -k up` which is invalid in fish 4.0 (atuin upstream bug) if command -v atuin &>/dev/null - atuin init fish | source + atuin init fish | grep -v 'bind -M insert -k up' | source end # Disable fish greeting @@ -185,7 +186,9 @@ function pbcat end # Use ctrl+s to fzf search the current directory -fzf_configure_bindings --directory=\cs +if status is-interactive + fzf_configure_bindings --directory=\cs +end # Search for all files with matching name in wiki function wiki_file @@ -195,7 +198,9 @@ function wiki_file --preview-window="right:65%" \ --bind "enter:become(nvim $HOME/Dropbox/wiki/{})" end -bind \cg wiki_file +if status is-interactive + bind \cg wiki_file +end # Search for all files *containing* text function wt From 4bc5107a14577dd5a780c5c4aa08205e34930e1c Mon Sep 17 00:00:00 2001 From: Michael Barton Date: Mon, 20 Apr 2026 14:46:08 -0700 Subject: [PATCH 4/4] fix(fish): revert atuin workaround, fixed in atuin 18.15.2 The bind -k up fish 4.0 incompatibility was fixed upstream in atuinsh/atuin#2677 and shipped in 18.15.2 (2026-04-16). Upgraded via brew, workaround no longer needed. Made-with: Cursor --- fish/config.fish | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fish/config.fish b/fish/config.fish index f41e773..2ae5c7a 100644 --- a/fish/config.fish +++ b/fish/config.fish @@ -35,9 +35,8 @@ if command -v mise &>/dev/null end # Initialize atuin for enhanced shell history (if installed) -# Filter out `bind -k up` which is invalid in fish 4.0 (atuin upstream bug) if command -v atuin &>/dev/null - atuin init fish | grep -v 'bind -M insert -k up' | source + atuin init fish | source end # Disable fish greeting