The Deska blog

iTerm2 to Ghostty: Config Translation

A technical guide for developers on iTerm2 to Ghostty config translation, covering key mappings, performance, and modern terminal alternatives like Deska.

· 10 min read

Moving your workflow from a mature tool like iTerm2 to a modern, GPU accelerated terminal requires a precise iTerm2 to Ghostty config translation. While iTerm2 has been the gold standard for macOS developers for over a decade, Ghostty offers a significant performance boost by leveraging the Zig programming language and hardware acceleration. Transitioning involves moving away from a GUI based settings menu toward a text based configuration file. This guide covers the essential mappings, rendering differences, and how to integrate these high performance shells into a broader developer workspace.

Understanding the Architectural Shift

The most immediate difference between these two tools is how they handle configuration. iTerm2 stores its settings in a property list file, usually managed through a comprehensive preferences window. Ghostty follows the modern trend of using a plain text file located at ~/.config/ghostty/config.

Performance is the primary driver for this migration. iTerm2 is feature rich but can experience latency when handling massive amounts of text output or complex TUI applications. Ghostty focuses on being fast and lean. It uses the GPU to render text, which reduces CPU load and input lag. This makes it particularly effective for developers who spend their entire day inside Neovim or multiplexers like tmux.

Translating Key Bindings and Shortcuts

One of the most complex parts of the iTerm2 to Ghostty config translation is remapping your muscle memory. iTerm2 handles "Option as Meta" through a dropdown menu. In Ghostty, you must define these behaviors explicitly in your config file.

  • For the Option key to act as Esc+ in Ghostty, use macos-option-as-alt = true.
  • Custom keybindings use the keybind keyword followed by the trigger and action.

For example, if you are used to splitting panes with Command+D in iTerm2, you will find that Ghostty supports native splits but requires specific configuration if you want to mirror your old habits. Ghostty uses a format like keybind = cmd+d=new_split:right.

Visual Configuration and Themes

iTerm2 has a massive ecosystem of .itermcolors files. Ghostty includes many popular themes built in. You can list them by running ghostty +list-themes. To apply one, add theme = name to your config.

If you have a custom color palette in iTerm2, you will need to manually map the hex codes. Ghostty uses a standard 16 color palette definition:

  • palette = 0=#282c34
  • palette = 1=#e06c75

Font handling also differs. iTerm2 allows for separate "Non-ASCII" fonts for icons and symbols. Ghostty prefers a single font with ligatures or a properly patched Nerd Font. You define this with font-family = "Your Font Name".

Comparing iTerm2 and Ghostty Features

FeatureiTerm2Ghostty
Config StyleGUI / PlistText file (Zig-based)
RenderingCPU / GPU (Metal)GPU (Hardware accelerated)
PlatformmacOS onlymacOS and Linux
CustomizationExtreme via GUIHigh via config file
ToolingBuilt-in triggersFast startup and low latency

While both tools are excellent, they serve different philosophies. iTerm2 is a Swiss Army knife. Ghostty is a precision instrument.

Integrating Terminals into an Infinite Canvas

For many developers, the terminal is just one part of a larger puzzle. While shifting between iTerm2 and Ghostty improves the shell experience, you might still feel constrained by window management. This is where Deska provides a different perspective.

Deska is a free desktop app for Mac, Windows, and Linux that provides an infinite canvas workspace. Instead of switching between windows, you can place multiple panels side by side. You can run your preferred shell, whether it is Zsh or Fish, directly inside Deska. This allows you to see your code editor and your terminal sessions simultaneously without overlapping windows.

Because Deska is local-first, your sessions and files stay on your machine. You get the speed of a local terminal with the spatial organization of a visual workspace.

Advanced Ghostty Configuration Tips

Once the basic iTerm2 to Ghostty config translation is complete, you can leverage Ghostty-specific features that iTerm2 does not handle in the same way.

  1. Window Blurring: Ghostty supports native transparency and blur with macos-window-background-blur = true.
  2. Cursor Styling: You can change the cursor shape and blinking behavior via cursor-style = block or cursor-style = bar.
  3. Shell Integration: Ghostty automatically handles shell integration for most modern shells, providing features like current directory reporting without manual script installation.

Using AI Agents with your Terminal

Modern development often involves running AI tools alongside your shell. In iTerm2, you might run a CLI agent in a tab. In Ghostty, you might do the same in a split. In Deska, you can run coding agents like Claude Code or Codex CLI as dedicated panels right next to your terminal output.

Using Ask Deska, you can even use voice or chat to drive your workspace. You can ask it to open new terminal panels or check on long running sessions. This creates a hybrid environment where the high performance rendering of a tool like Ghostty meets the intelligence of modern AI threads.

FAQ: iTerm2 to Ghostty Migration

How do I import iTerm2 colors to Ghostty?

There is no direct importer for .itermcolors files. You must find the equivalent theme in the Ghostty built-in list using ghostty +list-themes or manually copy the hex codes into the palette settings in your config file.

Does Ghostty support mouse reporting like iTerm2?

Yes, Ghostty supports mouse reporting by default. This allows you to use the mouse in programs like htop or to click and scroll within Neovim. You can toggle specific mouse behaviors in the configuration if they conflict with your shell.

Can I run Ghostty on Windows?

Currently, Ghostty is focused on macOS and Linux. If you need a consistent, high performance terminal experience across Mac, Linux, and Windows, you should consider using the terminals provided within Deska, which work identically on all three platforms.

Improve Your Workflow with Deska

Migrating your terminal configuration is a great step toward a faster environment. If you want to take your productivity further, try organizing your terminals, editors, and AI agents on a single infinite canvas. Deska is free to use and respects your privacy by keeping everything local.

Download Deska at /download and start building your custom workspace today.

💡 Ideas+🐛 BugsSuggest a feature or report a bug