Ghostty supports dropping images into Claude Code
I dropped the following image into claude:
❯ [Image #1] what is this image?
⎿ [Image #1]
● This is a screenshot from FlightGear, the open-source flight simulator. Specifically:
- Aircraft: A Lockheed P-38 Lightning — the WWII twin-boom, twin-engine fighter (visible in the title bar: "Lockheed P38"). You
can see the iconic central nacelle with the pilot, flanked by the two engine booms.
- Location: Flying through (or under) the Golden Gate Bridge in San Francisco — recognizable suspension towers and cabling,
with the Marin Headlands to the left.
- UI clues: The top menu bar (File, View, Location, Autopilot, Environment, Equipment, AI, Multiplayer, Debug, Help) is the
standard FlightGear menu. The "Multiplayer Chat" panel in the lower right and the "Pilots: 0" counter indicate you're in (or
set up for) a multiplayer session.
Classic FlightGear stunt — buzzing the Golden Gate is something of a community tradition.
(This image is left over from when my son used to use this computer to play Flightgear)
Dropping images into the terminal still does not seem to work in Alacritty for me.
Doing a little research:
Dropping images into Claude Code works in Ghostty and not in Alacritty because Ghostty implements the “modern terminal” image and drag‑and‑drop plumbing that Claude Code expects, while Alacritty intentionally does not support any terminal graphics/image protocols.
What Claude Code expects
Claude Code’s image support relies on terminal features beyond plain text:
- Image/graphics escape sequences or terminal‑specific protocols (e.g., iTerm2/Kitty‑style inline images).
- Proper handling of drag‑and‑drop or clipboard payloads so that dropped images are forwarded to the running TUI instead of being ignored.
Terminals that implement these capabilities can hand the raw image data (or a path/temporary file) to Claude Code, which then uploads it to the model.
What Ghostty provides
Ghostty is designed as a “feature‑rich” modern terminal and includes terminal graphics support (bitmap/inline images) and OS‑integrated behaviors.
Because Ghostty understands these image/graphics escape sequences and has codepaths for handling richer clipboard/drag‑and‑drop data, it can route a dropped image into the running TUI session so Claude Code receives it.
There have been open issues specifically about Ghostty and Claude Code image drag‑and‑drop, which confirms that Ghostty is at least trying to participate in this workflow rather than ignoring it.
What Alacritty does not do
Alacritty’s philosophy is to be a fast, GPU‑accelerated text terminal and avoid non‑standard features like inline images or advanced graphics protocols.
Comparison matrices explicitly list “Image / Terminal Graphics Protocol Support: No” for Alacritty and “Yes” for Ghostty, which means Alacritty neither implements Kitty/iTerm2‑style image protocols nor the associated drag‑and‑drop plumbing that Claude Code relies on.
So when you drop an image into the Alacritty window, there is no code to translate that into data on stdin/pty for the child process; the drop may be ignored or treated as a simple URI/text, which Claude Code doesn’t interpret as an image upload.
Net effect
- In Ghostty, image drop → terminal recognizes rich drag‑and‑drop/image data → forwards to Claude Code via supported graphics/protocol path → Claude Code uploads/uses the image.
- In Alacritty, image drop → terminal only knows about plain text, no image protocol → nothing useful reaches Claude Code → upload appears “broken.”