329 pages for shell.
Titles and paths first, then pages whose text carries it. Each row opens that page as this site last read it.
Hooks reference
Claude Code CLI · in the page
hooks
…te actions with hooks](/docs/en/hooks-guide). Hooks are user-defined shell commands, HTTP endpoints, MCP tool calls, LLM prompts, or subagents that execute automatically at specific points in Claude…
Automate actions with hooks
Claude Code CLI · in the page
hooks-guide
# Automate actions with hooks > Run shell commands automatically when Claude Code edits files, finishes tasks, or needs input. Format code, send notifications, validate commands, and enforce project…
How Claude Code works
Claude Code CLI · in the page
how-claude-code-works
…search content with regex, explore codebases | | **Execution** | Run shell commands, start servers, run tests, use git | | **Web** | Search the web, fetch documentation, look up error messages | | **…
Interactive mode
Claude Code CLI · in the page
interactive-mode
…ackground-task view; use [`/tasks`](/docs/en/commands) to see running shells and subagents | | `Ctrl+S` | Stash or restore prompt | With text in the input, stashes it and clears the prompt. Pressed ag…
JetBrains IDEs
Claude Code CLI · in the page
jetbrains
…working mode. **1. Find your WSL2 IP address** From inside your WSL shell, run: ```bash theme={null} hostname -I ``` Note your subnet: take the first two segments of the address and follow them wi…
Customize keyboard shortcuts
Claude Code CLI · in the page
keybindings
…rking on. When nothing is running, the key submits the draft, and in [shell mode](/docs/en/interactive-mode#shell-mode-with-prefix) it only queues the command. Terminals that don't report extended key…
Set up Claude Code in a monorepo or large codebase
Claude Code CLI · in the page
large-codebases
…, then enter this at its prompt to install the TypeScript plugin: ```shell theme={null} /plugin install typescript-lsp@claude-plugins-official ``` If the install fails, match the message Claude Code…
Connect Claude Code to an LLM gateway
Claude Code CLI · in the page
llm-gateway-connect
…you picked](#set-the-credential-variable). You can set them [in your shell](#set-as-shell-environment-variables), which lasts for one terminal session, or [in a Claude Code settings file](#set-in-a-s…
Roll out an LLM gateway for your organization
Claude Code CLI · in the page
llm-gateway-rollout
…ens": 1, "messages": [{"role": "user", "content": "."}]}' ``` **PowerShell** ```powershell theme={null} Invoke-RestMethod -Method Post -Uri "https://llm-gateway.example.com/v1/messages" ` -Headers…
Control MCP server access for your organization
Claude Code CLI · in the page
managed-mcp
…st entry means Because a policy entry still depends on the launching shell's value for any variable it references, use literal URLs and commands for entries you rely on for enforcement. On Windows,…
Deploy managed settings
Claude Code CLI · in the page
managed-settings
…. To turn it off for every developer without relying on each person's shell, deliver `DISABLE_TELEMETRY` through the `env` block of your managed settings. This example sets `DISABLE_TELEMETRY` for eve…
Connect Claude Code to tools via MCP
Claude Code CLI · in the page
mcp
…JSON configuration](#add-mcp-servers-from-json-configuration) covers shell escaping and the `--scope` flag for `add-json`. To share the server with your team instead, add `--scope project`, or add th…
Connect to MCP servers
Claude Code CLI · in the page
mcp-quickstart
…through both. > [!NOTE] > > `claude mcp add` works the same in every shell, including PowerShell and Command Prompt. Inside a `claude` session, use the `/mcp` command to check and manage servers you'…
How Claude remembers your project
Claude Code CLI · in the page
memory
…T` environment variable to `1` before you run `/init`. Set it in your shell or in the `env` block of a settings file, as shown in [Set environment variables](/docs/en/env-vars#set-environment-variable…
Model configuration
Claude Code CLI · in the page
model-config
…odel` value in project or managed settings, `ANTHROPIC_MODEL` in your shell, or an [organization default](#organization-default-model) your admin set to override user choices applies again at every la…
Monitoring
Claude Code CLI · in the page
monitoring-usage
…et them in managed settings, or have each developer set them in their shell or `~/.claude/settings.json`. A repository can still turn a signal off by setting its exporter selector, such as `OTEL_LOGS_…
Enterprise network configuration
Claude Code CLI · in the page
network-config
…t variables before you launch Claude Code. Variables exported in your shell are read once at startup, so a running session doesn't pick up later changes to your shell environment. > [!NOTE] > > All e…
Overview
Claude Code CLI · in the page
overview
…bash ``` On Windows, your prompt shows `PS C:\` when you're in PowerShell and `C:\` without the `PS` when you're in CMD. **Windows PowerShell:** ```powershell theme={null} irm https://claude.ai/in…
Choose a permission mode
Claude Code CLI · in the page
permission-modes
…aude Code stops and asks you before most actions that edit files, run shell commands, or reach the network. In [auto mode](#eliminate-prompts-with-auto-mode), a second model, the classifier, reviews a…
Configure permissions
Claude Code CLI · in the page
permissions
…ditional directories](#working-directories) | N/A | | Bash commands | Shell execution | Yes, except a built-in set of [read-only commands](#read-only-commands) | Permanently per repository and command…
Test plugins with evals
Claude Code CLI · in the page
plugin-evals
…-plugin baseline, and gate CI on the score. The `claude plugin eval` shell command runs your [plugin](/docs/en/plugins/overview) against a suite of test cases and scores the results. Each case is a r…
Recommend your plugin from your CLI
Claude Code CLI · in the page
plugins/cli-hints
…nt />` tag to stderr. Claude Code removes the line from Bash and PowerShell tool output before the model sees the output, then shows the user a one-time install prompt. This page applies only if your…
Plugin commands reference
Claude Code CLI · in the page
plugins/cli-reference
# Plugin commands reference > Reference for the claude plugin shell commands, /plugin and /reload-plugins in a session, and the flags that load a plugin for one session. You run plugin commands eith…
Code intelligence plugins
Claude Code CLI · in the page
plugins/code-intelligence
…pt`. After you install the binary, confirm it's on the `PATH` of the shell you start `claude` from, for example with `which typescript-language-server`, or `Get-Command typescript-language-server` in…
Add components to a plugin
Claude Code CLI · in the page
plugins/components
…validate .`](/docs/en/plugins/cli-reference#plugin-validate) in your shell from the plugin directory. > [!NOTE] > > These cases are covered on other pages: > > * **Building your first plugin**: star…
Create a Claude Code plugin
Claude Code CLI · in the page
plugins/create
…plugin from a directory or `.zip` When you start `claude` from your shell, pass `--plugin-dir` with the plugin's root directory or a `.zip` archive of it. Repeat the flag to load several plugins: `…
Create a marketplace
Claude Code CLI · in the page
plugins/create-marketplace
…t the marketplace somewhere they can reach. Run every command in your shell, from the directory where you want `my-marketplace/` created. You need a plugin to list. The example uses `my-first-plugin`…
Plugin dependencies
Claude Code CLI · in the page
plugins/dependencies
…**Update manually**: run `claude plugin update backend-standard` in a shell, then `/reload-plugins` in an open session to install the newly added dependencies. For the engineer-side steps, see [Keep…
Host and maintain a marketplace
Claude Code CLI · in the page
plugins/host-marketplace
…e add your-org/your-marketplace --scope project` there once from your shell and commit the `.claude/settings.json` it writes. Claude Code then registers the marketplace for each teammate who [trusts t…
Install and manage plugins
Claude Code CLI · in the page
plugins/install
…** tab in `/plugin`, which lists the plugin with its scope. * In your shell, run `claude plugin list`, which prints the same list with `Version`, `Scope`, and `Status` lines. If `/commit-commands:com…
Plugin loading reference
Claude Code CLI · in the page
plugins/loading
…m there. To load it for one session instead, start `claude` from your shell with [`--plugin-dir`](/docs/en/plugins/cli-reference#flags-that-load-a-plugin-for-one-session) and the folder's path, which…
Plugin manifest reference
Claude Code CLI · in the page
plugins/manifest-reference
…validate` is the authoritative check for a manifest. Run it from your shell against the plugin directory: ```bash theme={null} claude plugin validate ./my-plugin ``` The command reports one of these…
Marketplace reference
Claude Code CLI · in the page
plugins/marketplace-reference
…reinstalling. A `command` source takes these fields: * `command`: a shell command that prints the plugin directory's absolute path as one line and exits 0. Claude Code shows users the whole string f…
Measure plugin cost and usage
Claude Code CLI · in the page
plugins/measure
…-reference#plugin-details) with the plugin's name. You run it in your shell, not at the prompt of a running Claude Code session. The plugin has to be loaded: installed, in a skills directory, or passe…
Manage mods for your organization
Claude Code CLI · in the page
plugins/mods/admin
…do You can see what a mod is able to do without running it. In your shell, run `claude plugin validate` on the plugin's directory: ```bash theme={null} claude plugin validate ./some-mod ``` The `h…
Use the mods API
Claude Code CLI · in the page
plugins/mods/api
…t recursive * **`$.process.run`**: takes an argument list and uses no shell. It resolves to `{ exitCode, stdout, stderr }` whatever the exit code. It rejects if the program can't start or is still run…
Create a mod
Claude Code CLI · in the page
plugins/mods/create
…ers) first. > [!NOTE] > > Use Claude Code v2.1.287 or later. In your shell, run `claude --version` to check. To see whether mods can load for you, see [Check whether mods can load](/docs/en/plugins/m…
React to events with a mod
Claude Code CLI · in the page
plugins/mods/events
…ll} // The matcher limits the hook to Bash calls, so e.command is the shell command on('tool.call', { tool: 'Bash' }, async ($, e, next) => { if (/git push .*--force/.test(e.command)) { // Retur…
Interface gallery for mods
Claude Code CLI · in the page
plugins/mods/gallery
…{ children: ['Plain text'] }) }) } ``` **2. Run the mod** In your shell, start Claude Code from the directory that holds `gallery`: ```bash theme={null} claude --plugin-dir ./gallery ``` At the…
Draw in the interface with a mod
Claude Code CLI · in the page
plugins/mods/interface
…hook renders again from the new state. **3. Open the pane** In your shell, start Claude Code with `claude --plugin-dir ./hello-tabs`. At the Claude Code prompt, run `/hello-tabs`. A pane opens with…
Mods overview
Claude Code CLI · in the page
plugins/mods/overview
…aude Code's existing [hooks](/docs/en/hooks) also run on events, as a shell command, HTTP request, or prompt you configure in a settings file. A mod's handlers are functions that run inside Claude Cod…
Mods reference
Claude Code CLI · in the page
plugins/mods/reference
…lags load, inspect, and test a mod. The `claude` commands run in your shell and the `/` commands at the Claude Code prompt. In the table, `<directory>` stands for a path you type, as in `claude plugin…
Test a mod
Claude Code CLI · in the page
plugins/mods/test
…work. You can write automated tests for a mod and run them from your shell with [`claude plugin test`](/docs/en/plugins/mods/reference#commands). A test fires the events your hooks handle and checks…
Troubleshoot a mod
Claude Code CLI · in the page
plugins/mods/troubleshoot
…nd the line it writes when it skips something. For the first, in your shell run [`claude plugin validate`](/docs/en/plugins/mods/create#check-what-claude-code-reads-from-your-mod) with the mod's direc…
Plugins overview
Claude Code CLI · in the page
plugins/overview
…without uninstalling**: disable the plugin with `/plugin` or, in your shell, `claude plugin disable`. See [Manage installed plugins](/docs/en/plugins/install#manage-installed-plugins). ## Get plugins…
Publish and distribute a plugin
Claude Code CLI · in the page
plugins/publish
…s/en/plugins/loading#versions-and-updates). **3. Validate** In your shell, run `claude plugin validate --strict ./your-plugin`. A clean run prints `✔ Validation passed`. * **In CI**: keep `--strict…
Recommend plugins for your org
Claude Code CLI · in the page
plugins/relevance
…256 characters each | | `cli` | array of strings | Command names from shell commands Claude has run this session, for example `["terraform"]`. Exact match. See [command name matching](#command-name-ma…
Plugin security and trust
Claude Code CLI · in the page
plugins/security
…lugin can do: * **Hooks**: a plugin's [hooks](/docs/en/hooks) run as shell commands at points in Claude Code's lifecycle, such as before or after a tool call. * **Monitors**: a plugin's [monitors](/d…
Troubleshoot plugins
Claude Code CLI · in the page
plugins/troubleshooting
…there, or run `claude plugin install <plugin>@<marketplace>` in your shell without starting a session When a terminal install works, `/plugin` prints an install summary that starts with `✓ Installed…
How Claude Code uses prompt caching
Claude Code CLI · in the page
prompt-caching
…sation opens with an announcement of the working directory, platform, shell, and OS version. Two sessions in different directories therefore build different prefixes and miss each other's cache. Sess…