Interactive mode changedinteractive-mode
Nearest release: v2.1.304, published 6 hours before upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Upstream edited this page at 20 Oct 2026 02:25 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 20 Oct 2026 18:37 UTC.
Upstream edited
Recorded here
Lines+51added
Lines−55removed
From line
4
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits71to this page, all time
### Word boundaries in editing shortcuts
The whole hunk
from line 4, old and new numbered
/
from line 4
44
55## Keyboard shortcuts
66
7<Note>
8 Keyboard shortcuts may vary by platform and terminal. In [fullscreen rendering](/docs/en/fullscreen), press `?` in the transcript viewer to see available shortcuts there.
7> [!NOTE]
8>
9> Keyboard shortcuts may vary by platform and terminal. In [fullscreen rendering](/docs/en/fullscreen), press `?` in the transcript viewer to see available shortcuts there.
10>
11> **macOS users**: Option/Alt key shortcuts (`Alt+B`, `Alt+F`, `Alt+D`, `Alt+Y`, `Alt+P`) require configuring Option as Meta in your terminal. See [Enable Option key shortcuts on macOS](/docs/en/terminal-config#enable-option-key-shortcuts-on-macos) for the setting in each terminal.
912
10 **macOS users**: Option/Alt key shortcuts (`Alt+B`, `Alt+F`, `Alt+D`, `Alt+Y`, `Alt+P`) require configuring Option as Meta in your terminal. See [Enable Option key shortcuts on macOS](/docs/en/terminal-config#enable-option-key-shortcuts-on-macos) for the setting in each terminal.
11</Note>
12
1313### General controls
1414
1515| Shortcut | Description | Context |
from line 53
5353| `Alt+D` | Delete to end of word | Deletes to the end of the current word, or to the end of the next word when the cursor is between words. Stores deleted text for pasting. Requires [Option as Meta](#keyboard-shortcuts) on macOS |
5454| `Ctrl+_` or `Ctrl+Shift+-` | Undo last input edit | Restores the previous input text and cursor position |
5555
56<h3 id="make-ctrl-w-delete-back-to-whitespace">
57 Word boundaries in editing shortcuts
58</h3>
56### Word boundaries in editing shortcuts
5957
6058The word shortcuts `Alt+B`, `Alt+F`, `Alt+D`, `Option+Delete`, and `Ctrl+Backspace` treat a word as a run of letters and digits, so punctuation such as `_`, `.`, and `/` separates words. With `src/utils/foo.ts` in the prompt, repeated presses of `Alt+B` stop at the start of `ts`, `foo`, `utils`, and `src`.
6159
from line 191
193191| `%` | Jump to the matching `()`, `[]`, or `{}` bracket, starting from the next bracket on the current line when the cursor isn't on a bracket. Requires Claude Code v2.1.301 or later |
194192| `/` | Open reverse history search, same as `Ctrl+R`. The empty search prompt shows a hint: press `Esc` then `i` then `/` to open the command menu instead |
195193
196<Note>
197 In vim NORMAL mode, if the cursor is at the beginning or end of input and can't move further, `j`/`k` and `↑`/`↓` navigate command history instead. `←` on an empty prompt opens [agent view](/docs/en/agent-view) from NORMAL mode as well as INSERT; before v2.1.219, `←` on an empty prompt did nothing in NORMAL mode.
198</Note>
194> [!NOTE]
195>
196> In vim NORMAL mode, if the cursor is at the beginning or end of input and can't move further, `j`/`k` and `↑`/`↓` navigate command history instead. `←` on an empty prompt opens [agent view](/docs/en/agent-view) from NORMAL mode as well as INSERT; before v2.1.219, `←` on an empty prompt did nothing in NORMAL mode.
199197
200198### Editing (NORMAL mode)
201199
from line 511
513511
514512Claude Code reads the [`spellcheck`](/docs/en/settings-reference#spellcheck) setting from three places, and ignores it in a project's `.claude/settings.json` and `.claude/settings.local.json`. Turn it on from whichever one you use:
515513
516<Tabs>
517 <Tab title="User settings">
518 Add `spellcheck` to `~/.claude/settings.json`. It applies in every project you open, like the rest of your [user settings](/docs/en/settings#where-settings-live):
514**User settings**
519515
520 ```json theme={null}
521 {
522 "spellcheck": { "enabled": true }
523 }
524 ```
525 </Tab>
516Add `spellcheck` to `~/.claude/settings.json`. It applies in every project you open, like the rest of your [user settings](/docs/en/settings#where-settings-live):
526517
527 <Tab title="Command line">
528 Save `spellcheck` in a JSON file, such as `spellcheck.json`:
518```json theme={null}
519{
520 "spellcheck": { "enabled": true }
521}
522```
529523
530 ```json theme={null}
531 {
532 "spellcheck": { "enabled": true }
533 }
534 ```
524**Command line**
535525
536 Then pass the file to `--settings`. It applies to that session only:
526Save `spellcheck` in a JSON file, such as `spellcheck.json`:
537527
538 ```bash theme={null}
539 claude --settings spellcheck.json
540 ```
541 </Tab>
528```json theme={null}
529{
530 "spellcheck": { "enabled": true }
531}
532```
542533
543 <Tab title="Managed settings">
544 Add `spellcheck` to one of your organization's [managed settings sources](/docs/en/permissions#managed-settings). It applies to every user who receives those settings, and they can't turn it off:
534Then pass the file to `--settings`. It applies to that session only:
545535
546 ```json theme={null}
547 {
548 "spellcheck": { "enabled": true }
549 }
550 ```
551 </Tab>
552</Tabs>
536```bash theme={null}
537claude --settings spellcheck.json
538```
553539
540**Managed settings**
541
542Add `spellcheck` to one of your organization's [managed settings sources](/docs/en/permissions#managed-settings). It applies to every user who receives those settings, and they can't turn it off:
543
544```json theme={null}
545{
546 "spellcheck": { "enabled": true }
547}
548```
549
554550To check that spell checking is on, type a misspelled word and a space. Claude Code underlines the word. If it doesn't, see [When Claude Code underlines nothing](#when-claude-code-underlines-nothing). To turn spell checking off again, set `enabled` to `false` in the same place, or remove `spellcheck`.
555551
556552To choose which of the three programs Claude Code runs, which dictionary it uses, or the underline color, add any of these fields next to `enabled`, in the same place:
from line 776
780776
781777When you set [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/en/env-vars), Claude Code doesn't check pull request or merge request status.
782778
783<Note>
784 PR status for GitHub repositories needs a GitHub token. Claude Code finds one based on the remote's host:
785
786 * **github.com**: `GH_TOKEN` or `GITHUB_TOKEN`, or the token saved by `gh auth login`. Without one, the footer shows `install gh for PR status` when the `gh` CLI isn't installed, or `gh auth login for PR status` when it is
787 * **A GitHub Enterprise host set as `GH_HOST`**: `GH_ENTERPRISE_TOKEN` or `GITHUB_ENTERPRISE_TOKEN`, or the token saved by `gh auth login --hostname <host>`. Without one, the footer shows the same hints
788 * **Any other GitHub host**: the token saved by `gh auth login --hostname <host>`. Without one, Claude Code shows no badge and no hint
789</Note>
779> [!NOTE]
780>
781> PR status for GitHub repositories needs a GitHub token. Claude Code finds one based on the remote's host:
782>
783> * **github.com**: `GH_TOKEN` or `GITHUB_TOKEN`, or the token saved by `gh auth login`. Without one, the footer shows `install gh for PR status` when the `gh` CLI isn't installed, or `gh auth login for PR status` when it is
784> * **A GitHub Enterprise host set as `GH_HOST`**: `GH_ENTERPRISE_TOKEN` or `GITHUB_ENTERPRISE_TOKEN`, or the token saved by `gh auth login --hostname <host>`. Without one, the footer shows the same hints
785> * **Any other GitHub host**: the token saved by `gh auth login --hostname <host>`. Without one, Claude Code shows no badge and no hint
790786
791787### GitLab merge requests
792788
No line in this hunk matches that.