Skip to content

Terminal: Kitty Graphics Protocol --noMove (C=1) does not preserve cursor position #297557

@Yoyokrazy

Description

@Yoyokrazy

Testing #297073

Bug

When displaying an image with the Kitty Graphics Protocol using the C=1 (do not move cursor) flag, the cursor is not preserved at its original position. Instead, it moves to the bottom-right corner of the image.

Repro

  1. Enable terminal.integrated.enableImages and terminal.integrated.gpuAcceleration: "auto"
  2. Clone https://github.com/xtermjs/vtc and bun install
  3. Run:
bun run src/index.ts image-kitty <any-image.png> --noMove && echo "cursor position check"

Expected

The echo text should appear at the original cursor position (before the image), overlapping the top-left of the image — per the KGP spec, C=1 means "do not move the cursor when this image is placed."

Actual

The echo text appears at the bottom-right corner of the image, indicating the cursor was partially moved to the end of the image's last row.

Environment

  • macOS
  • VS Code Insiders (latest as of 2026-02-24)
  • terminal.integrated.enableImages: true
  • terminal.integrated.gpuAcceleration: "auto"

Metadata

Metadata

Assignees

Labels

*as-designedDescribed behavior is as designedbugIssue identified by VS Code Team member as probable bugterminal-imagesIssues related to images in the terminal

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions