One read of Claude Code CLIclaude-code-20260825T003703Z
5 pages moved out of 191 read.
Pages moved
5
significant first
Pages read
191
in this capture
Captured
00:37 UTC
Corpus hash
695ecb28d6a6
corpus-hash
What this read moved
1-5 of 5plugin-marketplaces Changed · +35 / -10 lines
### Distribute through organization settings #### Keep executables out of the top-level bin directory
from line 266
266266
267267On most git hosts, including GitHub, GitLab, and Bitbucket, this means installation succeeds even if the branch or tag named by `ref` has since been deleted upstream, as long as the commit is still reachable from the repository. Some servers, such as AWS CodeCommit, don't support fetching commits by SHA. On those servers the `ref` must still exist and the pinned commit must be reachable from it.
268268
269<Note>
270 If you distribute this marketplace through [Organization settings > Plugins](https://claude.ai/admin-settings/plugins) on a Team or Enterprise plan, different source rules apply:
269If you distribute plugins through **Organization settings > Plugins**, only some source types are allowed. See [Distribute through organization settings](#distribute-through-organization-settings).
271270
272 * The marketplace repository must be private or internal. Organization sync reads it through the Claude GitHub App or your organization's GitHub Enterprise App.
273 * Each plugin source must be of type `github`, `url`, or `git-subdir`, or a [relative path](#relative-paths) within the marketplace repository.
274 * A plugin source can be private in two cases: a github.com source that shares the marketplace repository's owner, or a source on your organization's GitHub Enterprise host with the GHE App installed on the repository. Organization sync fetches every other source without credentials, so github.com repositories under a different owner and repositories on other hosts, such as GitLab or Bitbucket, must be public.
275
276 To include private plugins, place the plugin folders inside the marketplace repository and reference them with a [relative path](#relative-paths). Organization sync packages each plugin during distribution, so users never need access to a separate source repository. See [Manage plugins for your organization](https://support.claude.com/en/articles/13837433) for the admin workflow.
277</Note>
278
279271### Relative paths
280272
281273For plugins in the same repository, use a path starting with `./`:
from line 756
764756
765757### Private repositories
766758
767Claude Code supports installing plugins from private repositories. If you distribute your marketplace through [Organization settings > Plugins](https://claude.ai/admin-settings/plugins) instead, your git credentials aren't involved: organization sync reads the marketplace repository through the Claude GitHub App or your organization's GitHub Enterprise App, and a plugin source it can't authenticate to must be public. The note under [Plugin sources](#plugin-sources) has the full rules.
759Claude Code supports installing plugins from private repositories. If you distribute your marketplace through [**Organization settings > Plugins**](https://claude.ai/admin-settings/plugins) instead, your git credentials aren't involved: organization sync reads the marketplace repository through the Claude GitHub App or your organization's GitHub Enterprise App, and a plugin source it can't authenticate to must be public. See [Distribute through organization settings](#distribute-through-organization-settings) for the full rules.
768760
769761#### Commands you run
770762
from line 794
802794<Note>
803795 In CI/CD environments, configure a git credential helper before installing plugins from private repositories. On GitHub Actions, export a token with read access to the marketplace repository as `GH_TOKEN`, then run `gh auth setup-git`. The default workflow token can only access the workflow's own repository, so a private marketplace in another repository needs a personal access token or app token. A global URL rewrite configured in the pipeline also authenticates the background pull directly.
804796</Note>
797
798### Distribute through organization settings
799
800If you distribute plugins through [**Organization settings > Plugins**](https://claude.ai/admin-settings/plugins) on a Team or Enterprise plan, these source rules apply:
801
802* The marketplace repository must be private or internal. Organization sync reads it through the Claude GitHub App or your organization's GitHub Enterprise App.
803* Each plugin source must be of type `github`, `url`, or `git-subdir`, or a [relative path](#relative-paths) that starts with `./`. If you list a plugin by bare name under `metadata.pluginRoot`, organization sync rejects it as an unsupported source, so write the path out, such as `./plugins/deploy-tools`.
804* A plugin source can be private in two cases:
805 * A github.com source that shares the marketplace repository's owner
806 * A source on your organization's GitHub Enterprise host with the GHE App installed on the repository
807* Organization sync fetches every other source without credentials, so github.com repositories under a different owner and repositories on other hosts, such as GitLab or Bitbucket, must be public.
808
809See [Manage plugins for your organization](https://support.claude.com/en/articles/13837433) for the admin workflow.
810
811To include private plugins, place the plugin folders inside the marketplace repository and reference them with a [relative path](#relative-paths). Organization sync packages each plugin during distribution, so users never need access to a separate source repository.
812
813For example, this `marketplace.json` plugin entry references a plugin you committed at `plugins/deploy-tools` in the marketplace repository:
814
815```json theme={null}
816{
817 "name": "deploy-tools",
818 "source": "./plugins/deploy-tools"
819}
820```
821
822#### Keep executables out of the top-level bin directory
823
824Don't include a top-level `bin/` directory in any plugin you distribute through organization settings. claude.ai rejects a plugin that has one, whether the plugin arrives by marketplace sync or by direct upload:
825
826* **Marketplace sync**: organization sync rejects that plugin and syncs the rest of the marketplace. The error code is `marketplace_sync_bin_directory_not_allowed` and the message starts with `Plugin contains a top-level bin/ directory`.
827* **Direct upload**: if you upload the plugin in [**Organization settings > Plugins**](https://claude.ai/admin-settings/plugins) instead, claude.ai rejects the upload with the same message.
828
829Keep executables in another directory, such as `scripts/`, and reference them as `${CLAUDE_PLUGIN_ROOT}/scripts/<name>` from your [skills, hooks, or MCP server configs](/docs/en/plugins-reference#environment-variables).
805830
806831### Require marketplaces for your team
807832
plugins Changed · +12 / -12 lines
from line 166
166166 The plugin root is the individual plugin's own directory: the one you pass to `--plugin-dir` or that contains `.claude-plugin/plugin.json`. It is never `~/.claude/`. For example, Claude Code doesn't read a `.mcp.json` placed at `~/.claude/.mcp.json`.
167167</Warning>
168168
169| Directory | Location | Purpose |
170| :---------------- | :---------- | :----------------------------------------------------------------------------- |
171| `.claude-plugin/` | Plugin root | Contains `plugin.json` manifest (optional if components use default locations) |
172| `skills/` | Plugin root | Skills as `<name>/SKILL.md` directories |
173| `commands/` | Plugin root | Skills as flat Markdown files. Use `skills/` for new plugins |
174| `agents/` | Plugin root | Custom agent definitions |
175| `hooks/` | Plugin root | Event handlers in `hooks.json` |
176| `.mcp.json` | Plugin root | MCP server configurations |
177| `.lsp.json` | Plugin root | LSP server configurations for code intelligence |
178| `monitors/` | Plugin root | Background monitor configurations in `monitors.json` |
179| `bin/` | Plugin root | Executables added to the Bash tool's `PATH` while the plugin is enabled |
180| `settings.json` | Plugin root | Default [settings](/docs/en/settings) applied when the plugin is enabled |
169| Directory | Location | Purpose |
170| :---------------- | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
171| `.claude-plugin/` | Plugin root | Contains `plugin.json` manifest (optional if components use default locations) |
172| `skills/` | Plugin root | Skills as `<name>/SKILL.md` directories |
173| `commands/` | Plugin root | Skills as flat Markdown files. Use `skills/` for new plugins |
174| `agents/` | Plugin root | Custom agent definitions |
175| `hooks/` | Plugin root | Event handlers in `hooks.json` |
176| `.mcp.json` | Plugin root | MCP server configurations |
177| `.lsp.json` | Plugin root | LSP server configurations for code intelligence |
178| `monitors/` | Plugin root | Background monitor configurations in `monitors.json` |
179| `bin/` | Plugin root | Executables added to the Bash tool's `PATH` while the plugin is enabled. You can't include this directory in a plugin you [distribute through claude.ai organization settings](/docs/en/plugin-marketplaces#keep-executables-out-of-the-top-level-bin-directory) |
180| `settings.json` | Plugin root | Default [settings](/docs/en/settings) applied when the plugin is enabled |
181181
182182A plugin that ships exactly one skill can place `SKILL.md` directly at the plugin root instead of creating a `skills/` directory. Claude Code loads it as a single skill and uses the frontmatter `name` field for the invocation name. Use the `skills/` layout for plugins that may grow to more than one skill.
183183
plugins-reference Changed · +15 / -15 lines
from line 883
883883
884884### File locations reference
885885
886| Component | Default Location | Purpose |
887| :---------------- | :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
888| **Manifest** | `.claude-plugin/plugin.json` | Plugin metadata and configuration (optional) |
889| **Skills** | `skills/` | Skills with `<name>/SKILL.md` structure |
890| **Commands** | `commands/` | Skills as flat Markdown files. Use `skills/` for new plugins |
891| **Agents** | `agents/` | Subagent Markdown files |
892| **Workflows** | `workflows/` | [Workflow](/docs/en/workflows) script files |
893| **Output styles** | `output-styles/` | Output style definitions |
894| **Themes** | `themes/` | Color theme definitions |
895| **Hooks** | `hooks/hooks.json` | Hook configuration |
896| **MCP servers** | `.mcp.json` | MCP server definitions |
897| **LSP servers** | `.lsp.json` | Language server configurations |
898| **Monitors** | `monitors/monitors.json` | Background monitor configurations |
899| **Executables** | `bin/` | Executables added to the Bash tool's `PATH`. Files here are invokable as bare commands in any Bash tool call while the plugin is enabled |
900| **Settings** | `settings.json` | Default configuration applied when the plugin is enabled. Only the [`agent`](/docs/en/sub-agents) and [`subagentStatusLine`](/docs/en/statusline#subagent-status-lines) keys are supported |
886| Component | Default Location | Purpose |
887| :---------------- | :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
888| **Manifest** | `.claude-plugin/plugin.json` | Plugin metadata and configuration (optional) |
889| **Skills** | `skills/` | Skills with `<name>/SKILL.md` structure |
890| **Commands** | `commands/` | Skills as flat Markdown files. Use `skills/` for new plugins |
891| **Agents** | `agents/` | Subagent Markdown files |
892| **Workflows** | `workflows/` | [Workflow](/docs/en/workflows) script files |
893| **Output styles** | `output-styles/` | Output style definitions |
894| **Themes** | `themes/` | Color theme definitions |
895| **Hooks** | `hooks/hooks.json` | Hook configuration |
896| **MCP servers** | `.mcp.json` | MCP server definitions |
897| **LSP servers** | `.lsp.json` | Language server configurations |
898| **Monitors** | `monitors/monitors.json` | Background monitor configurations |
899| **Executables** | `bin/` | Executables added to the Bash tool's `PATH` and invokable as bare commands while the plugin is enabled. You can't include this directory in a plugin you [distribute through claude.ai organization settings](/docs/en/plugin-marketplaces#keep-executables-out-of-the-top-level-bin-directory) |
900| **Settings** | `settings.json` | Default configuration applied when the plugin is enabled. Only the [`agent`](/docs/en/sub-agents) and [`subagentStatusLine`](/docs/en/statusline#subagent-status-lines) keys are supported |
901901
902902***
903903
commands Changed · +1 / -1 lines
from line 147
147147| `/ultraplan <prompt>` | Removed. Use [plan mode](/docs/en/permission-modes#analyze-before-you-edit-with-plan-mode) instead. Previously sent a planning task to a [Claude Code on the web](/docs/en/claude-code-on-the-web) session for review in your browser |
148148| `/ultrareview [PR or branch]` | Run a deep, multi-agent code review in a cloud sandbox with [ultrareview](/docs/en/ultrareview). Pass a PR reference to review that pull request, or a branch name to change the comparison base. The preferred invocation is now `/code-review ultra`, and `/ultrareview` remains as an alias. Includes 3 free runs on Pro and Max, then requires [usage credits](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |
149149| `/upgrade` | Open the upgrade page in your browser to switch to a higher plan tier. When the browser fails to open, the command shows a sign-in prompt without printing the URL |
150| `/usage` | Show session cost, plan usage limits, and activity stats. On a Pro, Max, Team, or Enterprise plan, includes a breakdown of usage by skill, subagent, plugin, and MCP server. See the [cost tracking guide](/docs/en/costs#using-the-%2Fusage-command) for details. `/cost` and `/stats` are aliases |
150| `/usage` | Show session cost, plan usage limits, and activity stats. On a Pro, Max, Team, or Enterprise plan, includes a [breakdown of what counts against your plan limits](/docs/en/costs#plan-usage-breakdown). `/cost` and `/stats` are aliases |
151151| `/usage-credits` | Configure usage credits, or request them from your admin, when you hit a limit. Opens your [usage-credits billing settings](/docs/en/costs#add-usage-credits-to-your-subscription) in the browser, except that Team and Enterprise members without billing access instead send a usage-credits request to their admin from the CLI, after confirming in a dialog that the request notifies their admins. When no browser can open the billing page, for example over SSH, the command prints the URL to visit instead; this requires Claude Code v2.1.205 or later, and earlier versions showed nothing in that case. Previously `/extra-usage` |
152152| `/verify` | **[Skill](/docs/en/skills#bundled-skills).** Confirm a code change does what it should by building your project's app, running it, and observing the result, rather than relying on tests or type checks. See [Run and verify your app](/docs/en/skills#run-and-verify-your-app) |
153153| `/vim` | Removed in v2.1.92. To toggle between Vim and Normal editing modes, use `/config` → Editor mode |
costs Changed · +2 / -1 lines
from line 35
3535
3636* **Attribution**: recent usage attributed to skills, subagents, plugins, and individual MCP servers, each shown as a percentage of the total. An MCP server's share counts only the requests that consumed one of its tool results. Before v2.1.222, after one call to an MCP server, Claude Code attributed every subsequent request to that server, overstating its share.
3737* **Behavior flags**: behaviors such as long context or cache misses, flagged when one accounts for 10% or more of recent usage.
38* **Loops**: a row for each of the heaviest [`/loop` or other scheduled tasks](/docs/en/scheduled-tasks) that ran recently, ordered by total tokens, with a count of the rest. Claude Code reports how often each task fires, how many times it ran, its total and per-run tokens, and when it last ran. Claude Code keys a row by the task's prompt, so a loop you stop and re-create stays one row. Requires Claude Code v2.1.242 or later.
3839
3940Press `d` or `w` to switch between the last 24 hours and the last 7 days. The figures are approximate and computed from local session history on this machine, so usage from other devices or claude.ai is not included.
4041
41In the [VS Code extension](/docs/en/vs-code#check-account-and-usage), the same breakdown appears in the Account & usage dialog with a Day and Week toggle. Requires Claude Code v2.1.174 or later.
42In the [VS Code extension](/docs/en/vs-code#check-account-and-usage), the attribution shares and behavior flags appear in the Account & usage dialog with a Day and Week toggle, without the Loops rows. Requires Claude Code v2.1.174 or later.
4243
4344#### When the usage request fails
4445