Skip to content

kitty @ scroll-window syntax change? #10253

Description

@chapmanjacobd

Describe the bug

I use this in my fish config:

if test -z "$SSH_TTY"; and test -z "$TMUX"
    bind pageup "kitty @ scroll-window 1p-"
    bind pagedown "kitty @ scroll-window 1p"
end

This has been working fine in 0.43.1 until I updated to 0.47.1. Now I get this error:

Traceback (most recent call last):
  File "/usr/bin/../lib64/kitty/kitty/boss.py", line 835, in _execute_remote_command
    response = handle_cmd(self, window, pcmd, peer_id, self_window)
  File "/usr/bin/../lib64/kitty/kitty/remote_control.py", line 245, in handle_cmd
    ans = c.response_from_kitty(boss, self_window or window, PayloadGetter(c, payload))
  File "/usr/bin/../lib64/kitty/kitty/rc/scroll_window.py", line 81, in response_from_kitty
    func = getattr(window, f'scroll_{unit}_{direction}')
AttributeError: 'Window' object has no attribute 'scroll_p_down'. Did you mean: 'scroll_page_down'?

Error: 'Window' object has no attribute 'scroll_p_down'

To Reproduce
Steps to reproduce the behavior:

  1. Enable Kitty remote control
  2. kitty @ scroll-window 1p
  3. See error

Environment details

kitty 0.47.1 created by Kovid Goyal
Linux pakon 7.0.12-201.fc44.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jun 11 01:30:16 UTC 2026 x86_64
Kernel 7.0.12-201.fc44.x86_64 on x86_64 (/dev/tty)
Running under: X11
OpenGL: '4.6 (Core Profile) Mesa 26.1.4' Detected version: 4.6
Frozen: False
Fonts:
  medium: BitstreamVeraSansMono-Roman: /usr/share/fonts/bitstream-vera-sans-mono-fonts/VeraMono.ttf:0
          Features: ()
    bold: BitstreamVeraSansMono-Bold: /usr/share/fonts/bitstream-vera-sans-mono-fonts/VeraMoBd.ttf:0
          Features: ()
  italic: BitstreamVeraSansMono-Oblique: /usr/share/fonts/bitstream-vera-sans-mono-fonts/VeraMoIt.ttf:0
          Features: ()
      bi: BitstreamVeraSansMono-BoldOb: /usr/share/fonts/bitstream-vera-sans-mono-fonts/VeraMoBI.ttf:0
          Features: ()
Paths:
  kitty: /usr/bin/kitty
  base dir: /usr/lib64/kitty
  extensions dir: /usr/lib64/kitty/kitty
  system shell: /bin/fish
System color scheme: dark. Applied color theme type: none
Loaded config files:
  /home/xk/.config/kitty/kitty.conf

Config options different from defaults:
allow_remote_control               yes
copy_on_select                     clipboard
cursor_beam_thickness              1.0
cursor_stop_blinking_after         0
enable_audio_bell                  False
enabled_layouts                    ['vertical', 'grid', 'tall']
focus_follows_mouse                yes
macos_option_as_alt                3
macos_quit_when_last_window_closed True
mouse_hide_wait                    MouseHideWait(hide_wait=2.5, show_wait=0.0, show_threshold=40, scroll_show=True)
notify_on_cmd_finish               NotifyOnCmdFinish(when='invisible', duration=60.0, action='notify', cmdline=(), clear_on=('focus', 'next'))
paste_actions                      frozenset({'replace-dangerous-control-codes'})
scrollback_lines                   99999
select_by_word_characters          :@-./_~?=%+#&
strip_trailing_spaces              smart
touch_scroll_multiplier            4.0
wheel_scroll_multiplier            2.0
Changed mouse actions:
	right press ungrabbed →  paste_from_selection
Added shortcuts:
	ctrl+alt+left →  detach_window tab-left
	ctrl+alt+right →  detach_window new-tab
	ctrl+c →  copy_and_clear_or_interrupt
	ctrl+down →  scroll_to_prompt 1
	ctrl+shift+a →  launch --stdin-source=@last_cmd_output cb
	ctrl+shift+alt+1 →  paste_from_buffer a
	ctrl+shift+alt+2 →  paste_from_buffer b
	ctrl+shift+alt+3 →  paste_from_buffer c
	ctrl+shift+alt+a →  launch --stdin-source=@screen_scrollback --stdin-add-formatting --type=overlay cb
	ctrl+shift+alt+left →  move_tab_backward
	ctrl+shift+alt+right →  move_tab_forward
	ctrl+shift+d →  debug_config
	ctrl+up →  scroll_to_prompt -1
	ctrl+v →  paste_from_clipboard
	shift+page_down →  scroll_page_down
	shift+page_up →  scroll_page_up
	shift+super+c →  kitten hints --type path --program @
	shift+super+i →  kitten hints --multiple --type line --program -
	shift+super+p →  kitten hints --multiple --type path --program -
	shift+super+y →  kitten hints --multiple --type line --program @
	super+c →  launch --cwd=current zed .
	super+i →  kitten hints --type line --program -
	super+p →  kitten hints --type path --program -
	super+y →  kitten hints --type line --program @
Changed shortcuts:
	ctrl+tab →  goto_tab -1
	kitty_mod+1 →  copy_to_buffer a
	kitty_mod+2 →  copy_to_buffer b
	kitty_mod+3 →  copy_to_buffer c
	kitty_mod+alt+t →  detach_window new-tab
	kitty_mod+b →  swap_with_window
	kitty_mod+c →  no-op
	kitty_mod+down →  neighboring_window down
	kitty_mod+enter →  new_window_with_cwd
	kitty_mod+f →  combine : move_window_forward : previous_window
	kitty_mod+q →  detach_tab
	kitty_mod+r →  load_config_file
	kitty_mod+t →  new_tab_with_cwd !neighbor
	kitty_mod+up →  neighboring_window up
	kitty_mod+w →  close_tab
	kitty_mod+z →  no-op
Colors:
	background                         #d1bca7   
	color1                             #8c0000   
	color10                            #00c300   
	color11                            #ffff00   
	color12                            #0000ff   
	color13                            #ff00ff   
	color14                            #00cdcd   
	color2                             #007d00   
	color3                             #8c7000   
	color4                             #003cb4   
	color5                             #820082   
	color6                             #008b8b   
	color7                             #888888   
	color8                             #545454   
	color9                             #ff0000   
	cursor                             #73635a   
	foreground                         #000000   
	macos_titlebar_color               background
	selection_background               #223322   
	selection_foreground               #dfdbc3   

Important environment variables seen by the kitty process:
	PATH                                /home/xk/.android/Sdk/cmdline-tools/latest/bin:/home/xk/.local/share/deno/bin:/usr/local/go/bin:/home/xk/.local/share/go/bin:/usr/share/bpftrace/tools:/bin/:/home/xk/.local/bin/:/home/xk/bin/:/usr/local/bin/:/usr/bin/:/home/xk/.local/share/cargo/bin/:/home/xk/phone/.shortcuts/tasks/:/home/xk/.local/share/cargo/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
	LANG                                C.UTF-8
	EDITOR                              nano
	SHELL                               /bin/fish
	DISPLAY                             :0
	USER                                xk
	XDG_DATA_DIRS                       /home/xk/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
	XDG_RUNTIME_DIR                     /run/user/1000
	LC_NUMERIC                          en_US.UTF-8
	LC_TIME                             C
	XDG_CACHE_HOME                      /home/xk/.cache
	XDG_CONFIG_DIRS                     /home/xk/.config/kdedefaults:/etc/xdg:/usr/share/kde-settings/kde-profile/default/xdg
	XDG_CONFIG_HOME                     /home/xk/.config
	XDG_CURRENT_DESKTOP                 KDE
	XDG_DATA_HOME                       /home/xk/.local/share
	XDG_MENU_PREFIX                     plasma-
	XDG_SEAT                            seat0
	XDG_SEAT_PATH                       /org/freedesktop/DisplayManager/Seat0
	XDG_SESSION_CLASS                   user
	XDG_SESSION_DESKTOP                 KDE
	XDG_SESSION_ID                      2
	XDG_SESSION_PATH                    /org/freedesktop/DisplayManager/Session0
	XDG_SESSION_TYPE                    x11
	XDG_STATE_HOME                      /home/xk/.local/state
	XDG_VTNR                            2

Additional context

I get the same error with

env HOME=$(mktemp -d) kitty --config NONE -o allow_remote_control=yes

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions