kovidgoyal/kitty · error · RemoteControlErrorWithoutTraceback
The OS Window {os_window_id} has no panel configuration
Error message
The OS Window {os_window_id} has no panel configuration What it means
Raised when --incremental panel resizing is requested but the target window has no existing layer-shell configuration. Incremental updates need a baseline panel config (from layer_shell_config_for_os_window) to modify; without one there is nothing to increment against.
Source
Thrown at kitty/rc/resize_os_window.py:134
if windows:
ac = payload_get('action')
for os_window_id in {w.os_window_id for w in windows if w}:
metrics = get_os_window_size(os_window_id)
if metrics is None:
raise RemoteControlErrorWithoutTraceback(f'The OS Window {os_window_id} does not exist')
panels = payload_get('os_panel')
is_panel = metrics['is_layer_shell']
if ac == 'os-panel':
if not is_panel:
raise RemoteControlErrorWithoutTraceback(
f'The OS Window {os_window_id} is not a panel you should not use the --action=resize option to resize it'
)
if not panels:
raise RemoteControlErrorWithoutTraceback('Must specify at least one panel setting')
if payload_get('incremental'):
existing = layer_shell_config_for_os_window(os_window_id)
if existing is None:
raise RemoteControlErrorWithoutTraceback(f'The OS Window {os_window_id} has no panel configuration')
from kittens.panel.main import incrementally_update_layer_shell_config
try:
lsc = incrementally_update_layer_shell_config(existing, panels)
except Exception as e:
raise RemoteControlErrorWithoutTraceback(str(e))
else:
from kitty.launch import layer_shell_config_from_panel_opts
try:
lsc = layer_shell_config_from_panel_opts(panels)
except Exception as e:
raise RemoteControlErrorWithoutTraceback(f'Invalid panel options specified: {e}')
if not set_layer_shell_config(os_window_id, lsc):
raise RemoteControlErrorWithoutTraceback(f'Failed to change panel configuration for OS Window {os_window_id}')
elif ac == 'toggle-visibility':
toggle_os_window_visibility(os_window_id)
elif ac == 'hide':View on GitHub (pinned to 6d5d0c4406)
Solutions
- Do a non-incremental os-panel operation first to establish a full panel configuration
- Recreate the panel via kitten @ launch --type=panel ...
- Upgrade kitty so panel creation consistently records layer-shell config
Example fix
# before kitten @ resize-os-window --action=os-panel --incremental --os-panel-size=+10 # after (seed a config first, then increment) kitten @ resize-os-window --action=os-panel --os-panel-size=40 kitten @ resize-os-window --action=os-panel --incremental --os-panel-size=+10
Defensive patterns
Strategy: validation
Validate before calling
incremental = {'size': '+10'}
existing = query_window_metrics(os_window_id) # or track configs you applied
if not existing_panel_config:
send_non_incremental_first() # seeds config
else:
send_incremental(incremental) Try / catch
try:
send_incremental_panel_resize(win)
except RCError as e:
if 'has no panel configuration' in str(e):
send_full_panel_config(win); send_incremental_panel_resize(win) Prevention
- Seed a full os-panel config right after creating a panel
- Keep a client-side record of which windows have panel configs
When it happens
Trigger: Calling resize-os-window --action=os-panel with the incremental flag on a window that is a layer-shell surface but whose stored panel configuration is missing/None.
Common situations: Panels created by an older kitty version that did not persist layer-shell config; state lost after kitty restart or config reload; targeting a layer-shell window that was not created through the panel launch path.
Related errors
- The OS Window {os_window_id} is not a panel you should not u
- Failed to change panel configuration for OS Window {os_windo
- The OS Window {os_window_id} is a desktop panel that cannot
- The OS Window {os_window_id} is a desktop panel, no actions
- The OS Window {os_window_id} is a panel and cannot be resize
AI-assisted analysis of kovidgoyal/kitty@6d5d0c4406 (2026-08-27).
Data as JSON: /api/errors/49e911b46be2d2d9.
Report an issue: GitHub.