kovidgoyal/kitty · info
%s %s %u %s
Error message
%s %s %u %s
What it means
The application set an unknown or unimplemented ANSI/DEC screen mode; kitty logs the mode number and whether it was private ('?'-prefixed) and ignores the command.
Source
Thrown at kitty/screen.c:2049
break;
case 7727 << 5: log_error("Application escape mode is not supported, the extended keyboard protocol should be used instead"); break;
case PENDING_MODE << 5:
if (!screen_pause_rendering(self, val, 0)) {
log_error("Pending mode change to already current mode (%d) requested. Either pending mode expired or there is an application bug.", val);
}
break;
case INBAND_RESIZE_NOTIFICATION:
self->modes.mINBAND_RESIZE_NOTIFICATION = val;
if (val) CALLBACK("notify_child_of_resize", NULL);
break;
case VISIBILITY_REPORTS:
self->modes.mVISIBILITY_REPORTS = val;
if (val) send_visibility_report(self);
break;
default:
private = mode >= 1 << 5;
if (private) mode >>= 5;
log_error("%s %s %u %s", ERROR_PREFIX, "Unsupported screen mode: ", mode, private ? "(private)" : "");
}
#undef SIMPLE_MODE
#undef MOUSE_MODE
}
void
screen_set_mode(Screen *self, unsigned int mode) {
set_mode_from_const(self, mode, true);
}
void
screen_decsace(Screen *self, unsigned int val) {
self->modes.mDECSACE = val == 2 ? true : false;
}
void
screen_reset_mode(Screen *self, unsigned int mode) {
set_mode_from_const(self, mode, false);View on GitHub (pinned to 6d5d0c4406)
Solutions
- No action required - the mode is ignored
- Look up the mode number in xterm docs to identify what the app wanted
- Request support upstream or map the app to an alternative kitty supports
Defensive patterns
Strategy: validation
Validate before calling
# probe mode support with DECRQM (CSI ? N $ p) and only set modes the terminal reports as supported
Prevention
- Check mode support with DECRQM before setting uncommon modes
When it happens
Trigger: Program emits CSI ? N h or CSI N h for a mode kitty does not implement (xterm-specific or vendor-private modes).
Common situations: Running niche or older TUI apps probing less common terminal modes; harmless.
Related errors
- Application escape mode is not supported, the extended keybo
- Pending mode change to already current mode (%d) requested.
- This must be run as kitten ask
- This should be run as kitten broadcast
- This must be run as kitten choose-files
AI-assisted analysis of kovidgoyal/kitty@6d5d0c4406 (2026-08-27).
Data as JSON: /api/errors/640cc509e7e8dd45.
Report an issue: GitHub.