## 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.
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:
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
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-stats for 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
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.