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

  1. No action required - the mode is ignored
  2. Look up the mode number in xterm docs to identify what the app wanted
  3. 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

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


AI-assisted analysis of kovidgoyal/kitty@6d5d0c4406 (2026-08-27). Data as JSON: /api/errors/640cc509e7e8dd45. Report an issue: GitHub.