list
List Claude Code components. Actions: env-vars, sessions, settings, skills, tools.
From claude-ecosystemnpx claudepluginhub melodic-software/claude-code-plugins --plugin claude-ecosystemThis skill is limited to using the following tools:
List Claude Code Components
List various Claude Code components based on the requested action.
Argument Routing
| Action | Description |
|---|---|
skills (default) | List all available skills with descriptions |
env-vars | List environment variables (configured or researched) |
sessions | List recent sessions with sizes, ages, resumability |
settings | List settings.json configuration options |
tools | List core Claude Code tools with parameters |
When invoked without arguments, default to skills.
Parse $ARGUMENTS to determine the action. The first token is the action keyword. Remaining tokens are passed as sub-arguments to the action handler.
Action: skills
List ALL available Claude Code skills by running the list_skills.py script.
Step 1: Find the Script
Locate list_skills.py in the claude-ecosystem plugin:
# Check installed plugins first
find ~/.claude/plugins -name "list_skills.py" -path "*claude-ecosystem*" 2>/dev/null | head -1
If not found, check current repo (for development):
find . -name "list_skills.py" -path "*claude-ecosystem*" 2>/dev/null | head -1
Step 2: Run the Script
Execute with Python using the path found in Step 1:
python "<found-path>/list_skills.py"
What the Script Scans
The script finds ALL skills from:
- Personal skills:
~/.claude/skills/*/SKILL.md - Project skills:
.claude/skills/*/SKILL.md(current working directory) - Plugin skills:
~/.claude/plugins/marketplaces/*/*/skills/*/SKILL.md
Output Format
The script outputs formatted markdown:
## Personal Skills (~/.claude/skills/)
### **skill-name**
Description from SKILL.md frontmatter.
---
## Project Skills (.claude/skills/)
### **skill-name**
Description from SKILL.md frontmatter.
---
## Plugin Skills
### **plugin-name:skill-name**
Description from SKILL.md frontmatter.
---
**Total: X skills** (Y personal, Z project, W plugin)
Output the script results directly - they are already formatted.
Action: env-vars
Research and list ALL known Claude Code environment variables from multiple sources, or show currently configured variables across all settings scopes.
Sub-arguments
| Argument | Description |
|---|---|
--configured | Show currently configured env vars from all settings files |
--official-only | Only show variables documented in official docs |
--changelog-only | Only extract from CHANGELOG.md |
--full-research | Run comprehensive MCP research (slower, more complete) |
| (none) | Default: official docs + changelog extraction |
Behavior Matrix
| Arguments | Behavior |
|---|---|
| (none) | Research: official docs + changelog |
--configured | Read current settings files only (no research) |
--official-only | Research: official docs only |
--changelog-only | Research: changelog extraction only |
--full-research | Research: all sources including MCP agents |
Mode: --configured
When --configured is passed, skip all research and read currently configured environment variables from all settings scopes.
Settings File Hierarchy (Precedence: Enterprise < User < Project < Local)
| Scope | Path | Description |
|---|---|---|
| Enterprise | ~/.claude/enterprise/settings.json | IT-managed defaults |
| User/Global | ~/.claude/settings.json | User preferences |
| Project | .claude/settings.json | Project-specific settings |
| Local | .claude/settings.local.json | Gitignored local overrides |
Workflow
- Read each settings file if it exists
- Extract
envsection from each - Calculate effective values (later scopes override earlier)
- Display merged view with source indication
Output Format
## Currently Configured Environment Variables
| Variable | Value | Source | Overridden By |
|----------|-------|--------|---------------|
| DISABLE_TELEMETRY | "1" | user | project |
| ANTHROPIC_API_KEY | "sk-***" | user | - |
| CLAUDE_HOOK_LOG_DIR | "./logs" | project | - |
| DISABLE_AUTOUPDATER | "0" | enterprise | - |
### By Scope
**Enterprise** (~/.claude/enterprise/settings.json)
- DISABLE_AUTOUPDATER = "0"
**User** (~/.claude/settings.json)
- DISABLE_TELEMETRY = "1"
- ANTHROPIC_API_KEY = "sk-***" (masked)
**Project** (.claude/settings.json)
- DISABLE_TELEMETRY = "0" (overrides user)
- CLAUDE_HOOK_LOG_DIR = "./logs"
**Local** (.claude/settings.local.json)
(none configured)
Security Note
Mask sensitive values in output:
ANTHROPIC_API_KEY->"sk-***"(show prefix only)AWS_*credentials -> maskedGOOGLE_*credentials -> masked
Mode: Research (Default)
When no --configured flag, research environment variables from multiple sources.
Step 1: Parallel Research via Agents
Launch research agents in parallel to gather env var information from multiple sources.
Agent 1: MCP Research (full-research mode only)
Spawn mcp-research agent:
Research Claude Code environment variables using perplexity and firecrawl.
Search for:
- "Claude Code environment variables configuration"
- "anthropic claude cli env vars"
- "ANTHROPIC_API_KEY CLAUDE_CODE environment"
Extract ALL environment variables mentioned, including:
- Variable name
- Default value (if mentioned)
- Purpose/description
- Source URL
Return structured findings with source citations.
Agent 2: Official Documentation
Spawn claude-code-guide agent:
First WebFetch https://code.claude.com/docs/en/claude_code_docs_map.md to find
relevant doc pages about environment variables and settings.
Then WebFetch these specific pages:
- Settings/configuration pages
- Environment variables documentation
- Any pages mentioning ANTHROPIC_*, CLAUDE_*, DISABLE_*, ENABLE_*
Do NOT use Skill tool (not available).
Return complete env var tables with source URLs.
Skill: Local Documentation Cache
Invoke docs-management skill with query:
Search for "environment variables" and "env" in Claude Code documentation.
Include any settings, configuration, or customization topics.
Step 2: Changelog Extraction
WebFetch the CHANGELOG.md to extract environment variables:
URL: https://raw.githubusercontent.com/anthropics/claude-code/main/CHANGELOG.md
Extract all patterns matching:
ANTHROPIC_*CLAUDE_*DISABLE_*ENABLE_**_TIMEOUT*_API_KEYHTTP_PROXY,HTTPS_PROXY,NO_PROXY
Note the version where each variable was introduced.
Step 3: Consolidate and Categorize
Merge findings from all sources, deduplicate, and categorize:
| Category | Criteria |
|---|---|
| OFFICIAL | Documented on code.claude.com/docs |
| CHANGELOG | In CHANGELOG but not in official docs |
| DISCOVERED | Found via MCP research only |
Step 4: Output Report
Format the complete list as structured tables:
## Claude Code Environment Variables
### Official (Documented)
| Variable | Default | Purpose | Category |
|----------|---------|---------|----------|
| ANTHROPIC_API_KEY | (required) | API key for Anthropic API | Auth |
| CLAUDE_CODE_USE_BEDROCK | "0" | Use AWS Bedrock instead of Anthropic API | Provider |
| CLAUDE_CODE_USE_VERTEX | "0" | Use Google Vertex AI | Provider |
| ... | ... | ... | ... |
### Changelog (Undocumented)
| Variable | Default | Purpose | Version Added |
|----------|---------|---------|---------------|
| CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR | "0" | Keep project working directory | v2.x |
| ... | ... | ... | ... |
### Discovered (MCP Research)
| Variable | Default | Purpose | Source |
|----------|---------|---------|--------|
| ... | ... | ... | [source URL] |
---
## Sources
- Official: https://code.claude.com/docs/en/settings
- Changelog: https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md
- MCP: perplexity, firecrawl (if --full-research)
Known Environment Variables (Quick Reference)
These are commonly used variables (verify against current docs):
Authentication & Provider
ANTHROPIC_API_KEY- API key (required unless using Bedrock/Vertex)CLAUDE_CODE_USE_BEDROCK- Use AWS BedrockCLAUDE_CODE_USE_VERTEX- Use Google Vertex AI
Proxy & Network
HTTP_PROXY/HTTPS_PROXY- Proxy configurationNO_PROXY- Proxy bypass list
Behavior
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR- Working directory behaviorDISABLE_AUTOUPDATER- Disable auto-updatesDISABLE_TELEMETRY- Disable telemetry
Hooks
CLAUDE_HOOK_*- Custom hook environment variables (repo-specific)
Note: This quick reference may be outdated. Always run the full command for current information.
Action: sessions
Display recent Claude Code sessions for the current project (or all projects), showing size, age, and whether they can be resumed.
Sub-arguments
| Argument | Description | Default |
|---|---|---|
--all | List sessions from all projects | false |
--limit N | Maximum sessions to display | 10 |
--agents | Include agent transcripts in listing | false |
Step 1: Determine Target Directory
if ALL_PROJECTS; then
TARGET_DIR="$HOME/.claude/projects"
else
PROJECT_PATH=$(pwd | sed 's/[\/:]/-/g' | sed 's/^-//')
TARGET_DIR="$HOME/.claude/projects/$PROJECT_PATH"
fi
Step 2: List Sessions
# Find session files (not agent files), sorted by modification time
find "$TARGET_DIR" -name "*.jsonl" ! -name "agent-*" -type f -printf '%T@ %s %p\n' 2>/dev/null | \
sort -rn | head -$LIMIT | while read timestamp size path; do
filename=$(basename "$path")
age=$(( ($(date +%s) - ${timestamp%.*}) / 86400 ))
size_h=$(numfmt --to=iec-i --suffix=B $size)
echo "$filename $size_h ${age}d ago"
done
Step 3: Display Results
Recent Sessions
===============
Project: D--repos-gh-melodic-claude-code-plugins
# Session ID Size Age Resumable
--- --------------------------------------- ------- ------- ---------
1 4165caab-4f86-4fc8-a901-fdcf2307a7cd 8.4M today Yes
2 faf4b0f3-1f1f-438a-b40b-1a7ef4cb1718 7.9M today Yes
3 55e42424-f5b6-4a26-98d5-1bed9176bf50 15M 1d Yes
4 336198a5-dfa4-4266-86dc-3d90158b8e30 15M 2d Yes
5 83d6bc93-3337-4b9e-8818-7141effbbcf0 14M 4d Yes
...
Total: 507 sessions (645M)
Tip: Use /cleanup-sessions 7 to remove old sessions
Notes
- Sessions can be resumed using
claude --resume {session-id} - Session IDs are UUIDs assigned by Claude Code
- Large sessions (>10MB) indicate long conversations
- Use
/session-statsfor aggregate statistics
Action: settings
Research and list all known Claude Code settings.json configuration options, show the current settings hierarchy with precedence, or display only current project settings.
Note: Environment variables are documented separately. Use the env-vars action for environment variable documentation.
Sub-arguments
| Argument | Description |
|---|---|
| (none) | Default: Full hierarchy - show user/project/local/managed settings with precedence |
--fields-only | Schema reference - list all available fields with types and defaults |
--current | Show current project settings values only (no hierarchy) |
--category <name> | Filter by category: core, permissions, sandbox, hooks, plugins, attribution |
--scope <scope> | Limit to specific scope: user, project, local, managed |
Behavior Matrix
| Arguments | Behavior |
|---|---|
| (none) | Read all settings files, display hierarchy with precedence |
--fields-only | Research schema, display available fields with types/defaults |
--current | Read project settings only, display explicit values |
--category X | Filter output to specific category (works with all modes) |
--scope X | Limit hierarchy to specific scope (hierarchy mode only) |
Settings File Hierarchy
Claude Code settings follow a precedence order (higher overrides lower):
| Priority | Scope | Path | Description |
|---|---|---|---|
| 1 (Highest) | Managed | ~/.claude/managed/settings.json | IT-enforced (cannot be overridden) |
| 2 | CLI Args | --model, etc. | Command line overrides |
| 3 | Local | .claude/settings.local.json | Gitignored local overrides |
| 4 | Project | .claude/settings.json | Shared project settings |
| 5 (Lowest) | User | ~/.claude/settings.json | User preferences |
Mode: Default (Full Hierarchy)
When no arguments are provided, display the complete settings hierarchy showing precedence.
Workflow
-
Read all settings files that exist:
~/.claude/managed/settings.json(managed)~/.claude/settings.json(user).claude/settings.json(project).claude/settings.local.json(local)
-
Calculate effective values - Later scopes override earlier (except managed which is enforced)
-
Display merged view with source indication
Output Format
## Settings Hierarchy (Effective Configuration)
### Precedence Order (highest to lowest)
1. Managed settings (enforced) - cannot be overridden
2. Command line arguments
3. Local project settings (.claude/settings.local.json)
4. Shared project settings (.claude/settings.json)
5. User settings (~/.claude/settings.json)
### Core Settings
| Setting | Effective Value | Source | Overridden? |
|---------|-----------------|--------|-------------|
| model | opus | project | - |
| cleanupPeriodDays | 30 | default | - |
| respectGitignore | true | default | - |
| plansDirectory | ~/.claude/plans | default | - |
| showTurnDuration | true | default | - |
### Permissions Settings
| Setting | Effective Value | Source | Overridden? |
|---------|-----------------|--------|-------------|
| defaultMode | bypassPermissions | project | user |
| allow | [list...] | project | - |
| deny | [list...] | project | - |
### Sandbox Settings
(Show if sandbox configured, otherwise note "Not configured - defaults to disabled")
### Hook Settings
| Setting | Effective Value | Source | Overridden? |
|---------|-----------------|--------|-------------|
| disableAllHooks | false | project | - |
| hooks | {} | default | - |
### Status Line
(Show statusLine configuration if set)
### Plugin Settings
(Show enabledPlugins if configured)
---
## Environment Variables
Use `list env-vars` action for environment variable documentation.
Mode: --fields-only (Schema Reference)
When --fields-only is passed, research and display all available settings fields with types and defaults.
Workflow
- Research schema via docs-management skill and MCP servers
- Extract all known fields from official docs, changelog, and schema
- Categorize and display with types, defaults, and version info
Research Sources
Source 1: docs-management Skill
Invoke docs-management skill:
Search for "settings.json" and "configuration" in Claude Code documentation.
Include settings schema, available fields, and configuration options.
Source 2: MCP Research (comprehensive)
Spawn mcp-research agent:
Research Claude Code settings.json schema and configuration options using perplexity and firecrawl.
Search for:
- "Claude Code settings.json schema"
- "claude code configuration options"
- Site:code.claude.com settings
Extract ALL settings fields with:
- Field name
- Type (string, boolean, number, object, array)
- Default value
- Description
- Version introduced (if known)
Return structured findings with source citations.
Source 3: JSON Schema
Reference the schema at: https://json.schemastore.org/claude-code-settings.json
Output Format
## Available Settings Fields
### Core Settings
| Field | Type | Default | Description | Since |
|-------|------|---------|-------------|-------|
| $schema | string | - | JSON schema reference | - |
| model | string | "sonnet" | Default model alias or full ID | - |
| language | string | (system) | Interface language | v2.1.0 |
| autoUpdatesChannel | enum | "latest" | "stable" or "latest" | - |
| cleanupPeriodDays | number | 30 | Days before session cleanup | - |
| respectGitignore | boolean | true | Honor .gitignore patterns | - |
| outputStyle | string | null | Output formatting style | - |
| alwaysThinkingEnabled | boolean | false | Enable extended thinking | - |
| plansDirectory | string | ~/.claude/plans | Plan file storage | v2.1.9 |
| showTurnDuration | boolean | true | Show turn timing | v2.1.7 |
### Permissions Settings
| Field | Type | Default | Description | Since |
|-------|------|---------|-------------|-------|
| permissions.defaultMode | enum | "default" | default/acceptEdits/plan/dontAsk/bypassPermissions | - |
| permissions.allow | array | [] | Allowed tool patterns | - |
| permissions.deny | array | [] | Denied tool patterns | - |
| permissions.ask | array | [] | Always-ask tool patterns | - |
| permissions.additionalDirectories | array | [] | Extra allowed directories | - |
| permissions.disableBypassPermissionsMode | string | null | Set to "disable" to block --dangerously-skip-permissions | - |
### Sandbox Settings (macOS/Linux only)
| Field | Type | Default | Description | Since |
|-------|------|---------|-------------|-------|
| sandbox.enabled | boolean | false | Enable sandboxed bash | - |
| sandbox.autoAllowBashIfSandboxed | boolean | true | Auto-allow bash in sandbox | - |
| sandbox.excludedCommands | array | [] | Commands bypassing sandbox | - |
| sandbox.allowUnsandboxedCommands | boolean | true | Allow unsandboxed commands | - |
| sandbox.enableWeakerNestedSandbox | boolean | false | Linux nested sandbox | - |
| sandbox.network.allowUnixSockets | array | [] | Allowed Unix sockets | - |
| sandbox.network.allowLocalBinding | boolean | false | Allow local port binding | - |
| sandbox.network.httpProxyPort | number | null | HTTP proxy port | - |
| sandbox.network.socksProxyPort | number | null | SOCKS proxy port | - |
### Hook Settings
| Field | Type | Default | Description | Since |
|-------|------|---------|-------------|-------|
| hooks | object | {} | Hook configuration by event | - |
| disableAllHooks | boolean | false | Disable all hooks globally | - |
| allowManagedHooksOnly | boolean | false | Only allow managed hooks | - |
### Attribution Settings
| Field | Type | Default | Description | Since |
|-------|------|---------|-------------|-------|
| attribution.commit | string | null | Custom commit attribution | - |
| attribution.pr | string | null | Custom PR attribution | - |
### Status Line Settings
| Field | Type | Default | Description | Since |
|-------|------|---------|-------------|-------|
| statusLine.type | enum | - | "command" for custom status | - |
| statusLine.command | string | - | Status line command | - |
| statusLine.padding | number | 0 | Status line padding | - |
| statusLine.timeout | number | 5000 | Command timeout (ms) | - |
### Plugin Settings
| Field | Type | Default | Description | Since |
|-------|------|---------|-------------|-------|
| enabledPlugins | object | {} | Enabled plugins by namespace | - |
| extraKnownMarketplaces | object | {} | Additional plugin marketplaces | - |
### Environment Variables
| Field | Type | Default | Description | Since |
|-------|------|---------|-------------|-------|
| env | object | {} | Environment variables | - |
**Note:** For detailed environment variable documentation, use the `env-vars` action.
---
## Sources
- Schema: https://json.schemastore.org/claude-code-settings.json
- Docs: https://code.claude.com/docs/en/settings
- [MCP research citations]
Mode: --current (Current Project Only)
When --current is passed, display only the explicitly configured values in the current project's settings.
Workflow
- Read
.claude/settings.json(project settings) - Display only explicitly set values (not defaults)
- Skip research and hierarchy calculation
Output Format
## Current Project Settings
**File:** `.claude/settings.json`
### Explicitly Configured Values
#### Core Settings
(none explicitly set - using defaults)
#### Environment Variables
54 variables configured - see `.claude/settings.json` or use `list env-vars --configured`
#### Permissions
- defaultMode: "bypassPermissions"
- allow: 26 patterns configured
- deny: 24 patterns configured
#### Hooks
- disableAllHooks: false
#### Status Line
- type: "command"
- command: "bun x ccusage statusline ..."
- padding: 0
- timeout: 5000
---
Use `--fields-only` to see all available settings fields.
Use `list env-vars` for environment variable details.
Category Definitions
| Category | Fields Included |
|---|---|
core | model, language, autoUpdatesChannel, cleanupPeriodDays, respectGitignore, outputStyle, alwaysThinkingEnabled, plansDirectory, showTurnDuration |
permissions | permissions.* (all permission fields) |
sandbox | sandbox.* (all sandbox fields) |
hooks | hooks, disableAllHooks, allowManagedHooksOnly |
plugins | enabledPlugins, extraKnownMarketplaces |
attribution | attribution.commit, attribution.pr |
Action: tools
Introspect your current tool context and enumerate all core Claude Code tools with their complete parameter schemas.
Scope
List only core built-in tools (not installed MCP server tools):
- File Operations: Read, Write, Edit, Glob, Grep, NotebookEdit
- Execution: Bash, Task, TaskOutput, KillShell
- User Interaction: AskUserQuestion, TodoWrite
- Planning & Workflow: EnterPlanMode, ExitPlanMode
- Web & Network: WebFetch, WebSearch
- Code Intelligence: LSP, Skill
- MCP Resources: ListMcpResourcesTool, ReadMcpResourceTool
Sub-arguments
| Argument | Description |
|---|---|
--category <cat> | Filter by category: file, execution, interaction, planning, web, code, mcp |
--tool <name> | Show detailed info for a specific tool (e.g., --tool Read) |
Execution
Step 1: Parse Arguments
Parse any provided arguments:
- If
--categoryspecified, note the category filter - If
--toolspecified, note the specific tool name
Step 2: Introspect Tool Context
Examine your current system context to enumerate all available core tools. For each tool, extract:
- Tool name - The function name
- Description - What the tool does (from the tool definition)
- Parameters - All parameters with:
- Name
- Type (string, number, boolean, array, object, enum)
- Required or optional
- Default value (if any)
- Constraints (min, max, enum values)
- Description
Step 3: Categorize
Group tools into these categories:
| Category | Tools |
|---|---|
file | Read, Write, Edit, Glob, Grep, NotebookEdit |
execution | Bash, Task, TaskOutput, KillShell |
interaction | AskUserQuestion, TodoWrite |
planning | EnterPlanMode, ExitPlanMode |
web | WebFetch, WebSearch |
code | LSP, Skill |
mcp | ListMcpResourcesTool, ReadMcpResourceTool |
Step 4: Apply Filters
- If
--categorywas specified, show only tools in that category - If
--toolwas specified, show only that tool with full detailed view
Step 5: Output
Summary View (default or --category):
## Core Claude Code Tools (N tools)
### Category Name (N tools)
| Tool | Description |
|------|-------------|
| ToolName | Brief description |
| ... | ... |
Detailed View (--tool ToolName):
## ToolName
Full description from tool definition.
### Parameters
| Name | Type | Required | Default | Description |
|------|------|----------|---------|-------------|
| param_name | type | Yes/No | value | Description |
### Constraints
- List any enum values, min/max, format requirements
### Usage Notes
- Key behaviors
- Limitations
- Best practices