SpyBara
Go Premium

terminal-config.md 2026-03-17 21:10 UTC to 2026-03-18 18:16 UTC

5 added, 1 removed.

2026
Tue 31 21:09 Mon 30 21:13 Sat 28 18:04 Fri 27 21:09 Thu 26 21:07 Wed 25 21:08 Tue 24 18:15 Mon 23 21:08 Sun 22 18:04 Sat 21 18:03 Fri 20 21:05 Thu 19 06:17 Wed 18 18:16 Tue 17 21:10 Mon 16 21:10 Sat 14 03:44 Fri 13 21:07 Thu 12 21:07 Wed 11 03:43 Tue 10 03:43 Mon 9 21:06 Sat 7 03:37 Fri 6 06:10 Thu 5 06:12 Wed 4 21:06 Sun 1 06:10

Optimize your terminal setup

Claude Code works best when your terminal is properly configured. Follow these guidelines to optimize your experience.

Themes and appearance

Claude cannot control the theme of your terminal. That's handled by your terminal application. You can match Claude Code's theme to your terminal any time via the /config command.

For additional customization of the Claude Code interface itself, you can configure a custom status line to display contextual information like the current model, working directory, or git branch at the bottom of your terminal.

Line breaks

You have several options for entering line breaks into Claude Code:

  • Quick escape: Type \ followed by Enter to create a newline
  • Shift+Enter: Works out of the box in iTerm2, WezTerm, Ghostty, and Kitty
  • Keyboard shortcut: Set up a keybinding to insert a newline in other terminals

Set up Shift+Enter for other terminals

Run /terminal-setup within Claude Code to automatically configure Shift+Enter for VS Code, Alacritty, Zed, and Warp.

Set up Option+Enter (VS Code, iTerm2 or macOS Terminal.app)

For Mac Terminal.app:

  1. Open Settings → Profiles → Keyboard
  2. Check "Use Option as Meta Key"

For iTerm2:

  1. Open Settings → Profiles → Keys
  2. Under General, set Left/Right Option key to "Esc+"

For VS Code terminal:

Set "terminal.integrated.macOptionIsMeta": true in VS Code settings.

Notification setup

When Claude finishes working and is waiting for your input, it fires a notification event. You can surface this event as a desktop notification through your terminal or run custom logic with notification hooks.

Terminal notifications

Kitty and Ghostty support desktop notifications without additional configuration. iTerm 2 requires setup:

  1. Open iTerm 2 Settings → Profiles → Terminal
  2. Enable "Notification Center Alerts"
  3. Click "Filter Alerts" and check "Send escape sequence-generated alerts"

If notifications aren't appearing, verify that your terminal app has notification permissions in your OS settings.

Other terminals, including the default macOS Terminal, do not support native notifications. Use notification hooks instead.

Notification hooks

To add custom behavior when notifications fire, such as playing a sound or sending a message, configure a notification hook. Hooks run alongside terminal notifications, not as a replacement.

Handling large inputs

When working with extensive code or long instructions:

  • Avoid direct pasting: Claude Code may struggle with very long pasted content
  • Use file-based workflows: Write content to a file and ask Claude to read it
  • Be aware of VS Code limitations: The VS Code terminal is particularly prone to truncating long pastes

Vim Mode

Claude Code supports a subset of Vim keybindings that can be enabled with /vim or configured via /config.

The supported subset includes:

  • Mode switching: Esc (to NORMAL), i/I, a/A, o/O (to INSERT)
  • Navigation: h/j/k/l, w/e/b, 0/$/^, gg/G, f/F/t/T with ;/, repeat
  • Editing: x, dw/de/db/dd/D, cw/ce/cb/cc/C, . (repeat)
  • Yank/paste: yy/Y, yw/ye/yb, p/P
  • Text objects: iw/aw, iW/aW, i"/a", i'/a', i(/a(, i[/a[, i{/a{
  • Indentation: >>/<<
  • Line operations: J (join lines)

See Interactive mode for the complete reference.