← Back to daily report

terminal-config.md

Changed on 2026-01-07 20:19:24 EST

+14 lines added
-5 lines removed
Visual Diff
# 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](/en/statusline) 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¶
* **
Keyboard shortcut**: Set up a keybinding to insert a newline¶

#### Set up Shift+Enter (VS Code or iTerm2):¶

Run `/terminal-setup` within Claude Code to automatically configure Shift+Enter.¶

####
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.¶

<Note>¶
The `/terminal-setup` command is only visible in terminals that require manual configuration. If you're using iTerm2, WezTerm, Ghostty, or Kitty, you won't see this command because Shift+Enter already works natively.¶
</Note>¶

**
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 and VS Code terminal:**¶

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

### Notification setup¶

Never miss when Claude completes a task with proper notification configuration:¶

#### iTerm 2 system notifications¶

For iTerm 2 alerts when tasks complete:¶

1. Open iTerm 2 Preferences¶
2. Navigate to Profiles → Terminal¶
3. Enable "Silence bell" and Filter Alerts → "Send escape sequence-generated alerts"¶
4. Set your preferred notification delay¶

Note that these notifications are specific to iTerm 2 and not available in the default macOS Terminal.¶

#### Custom notification hooks¶

For advanced notification handling, you can create [notification hooks](/en/hooks#notification) to run your own logic.¶

### 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](/en/interactive-mode#vim-editor-mode) for the complete reference.¶


---¶

> To find navigation and other pages in this documentation, fetch the llms.txt file at: https://code.claude.com/docs/llms.txt

Unified Diff

--- a/terminal-config.md
+++ b/terminal-config.md
@@ -13,13 +13,18 @@
 You have several options for entering line breaks into Claude Code:
 
 * **Quick escape**: Type `\` followed by Enter to create a newline
-* **Keyboard shortcut**: Set up a keybinding to insert 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 (VS Code or iTerm2):
+**Set up Shift+Enter for other terminals**
 
-Run `/terminal-setup` within Claude Code to automatically configure Shift+Enter.
+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):
+<Note>
+  The `/terminal-setup` command is only visible in terminals that require manual configuration. If you're using iTerm2, WezTerm, Ghostty, or Kitty, you won't see this command because Shift+Enter already works natively.
+</Note>
+
+**Set up Option+Enter (VS Code, iTerm2 or macOS Terminal.app)**
 
 **For Mac Terminal.app:**
 
@@ -65,8 +70,14 @@
 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`
+* 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](/en/interactive-mode#vim-editor-mode) for the complete reference.
 
 
 ---