{# ---- MCP Servers (all tools) ---- #}
{% if config.mcp_servers %}
{{ chevron() }}MCP Servers ({{ config.mcp_servers|length }})
Name Type Command / URL
{% for srv in config.mcp_servers %}
{{ srv.name }}
{{ srv.type }}
{% if srv.url %}{{ srv.url }}{% else %}{{ srv.command }}{% if srv.args %} {{ srv.args|join(' ') }}{% endif %}{% endif %}
{% endfor %}
{% endif %}
{# ---- Skills (all tools) ---- #}
{% if config.skills %}
{{ chevron() }}Skills ({{ config.skills|length }})
Name Description
{% for s in config.skills %}
{{ s.name }}
{{ s.description[:150] }}
{% if s.homepage %}Homepage ↗ {% endif %}
{% endfor %}
{% endif %}
{# Memory Files (Claude Code global ~/.claude/memory/) #}
{% if tool == 'claude' and config.memory_files %}
{{ chevron() }}Memory Files ({{ config.memory_files|length }})
File Preview
{% for m in config.memory_files %}
{{ m.filename }}
{{ m.content[:300] }}{% if m.content|length > 300 %}…{% endif %}
{% endfor %}
{% endif %}
{# MCP Auth Cache (Claude Code only) #}
{% if tool == 'claude' and config.mcp_auth_cache %}
{{ chevron() }}MCP Auth Cache ({{ config.mcp_auth_cache|length }})
Server Timestamp
{% for name, info in config.mcp_auth_cache.items()|sort %}
{{ name }}
{{ info.timestamp if info is mapping else info }}
{% endfor %}
{% endif %}
{# ---- Claude-specific sections ---- #}
{% if tool == 'claude' %}
{# Plugins #}
{% if config.plugins or config.external_plugins %}
{{ chevron() }}Plugins ({{ config.plugins|length + config.external_plugins|length }})
{% for p in config.plugins + config.external_plugins %}
{% if p.type == 'official' %}{{ p.name }} ↗ {% else %}{{ p.name }}{% endif %}
{{ p.description[:120] if p.description else 'No description' }}
{{ p.type }}
{% if p.has_hooks %}hooks {% endif %}
{% if p.has_agents %}agents {% endif %}
{% if p.has_commands %}commands {% endif %}
{% endfor %}
{% endif %}
{# Agents #}
{% if config.agents %}
{{ chevron() }}Agents ({{ config.agents|length }})
Name Plugin Model Description
{% for a in config.agents %}
{{ a.name }} ↗
{{ a.plugin }}
{% if a.model %}{{ a.model }} {% endif %}
{{ a.description[:120] }}
{% endfor %}
{% endif %}
{# Slash Commands (Skills) #}
{% if config.commands %}
{{ chevron() }}Slash Commands ({{ config.commands|length }})
Command Plugin Description
{% for c in config.commands %}
/{{ c.name }}
{{ c.plugin }}
{{ c.description[:120] }}
{% endfor %}
{% endif %}
{# Hooks #}
{% if config.hooks %}
{{ chevron() }}Hooks ({{ config.hooks|length }})
Event Name Plugin Command
{% for h in config.hooks %}
{{ h.event }}
{{ h.name }}
{{ h.plugin }}
{{ h.command }}
{% endfor %}
{% endif %}
{# Feature Flags (user-visible) #}
{% if config.feature_flags %}
{{ chevron() }}Feature Flags ({{ config.feature_flags|length }})
{% endif %}
{# GrowthBook Feature Flags (server-side, hidden by default) #}
{% if config.growthbook_flags %}
{{ chevron() }}GrowthBook Flags ({{ config.growthbook_flags|length }})
These are server-side feature flags managed by Anthropic via GrowthBook (an open-source feature flagging platform). Claude Code caches them locally in ~/.claude.json under cachedGrowthBookFeatures. They control A/B tests and gradual feature rollouts — the tengu_ prefix is Claude Code's internal codename. These flags are read-only and managed by Anthropic.
{% for flag, enabled in config.growthbook_flags.items()|sort %}
{{ flag }}
{{ "on" if enabled else "off" }}
{% endfor %}
{% endif %}
{# Main Settings #}
{% if config.main_settings %}
{{ chevron() }}Main Settings
{% for k, v in config.main_settings.items()|sort %}
{{ k }}
{{ v }}
{% endfor %}
{% endif %}
{# Settings #}
{% if config.settings %}
{{ chevron() }}Settings ({{ config.settings|length }})
{% if parsed_settings %}
Setting Value Description
{% for s in parsed_settings %}
{{ s.key }}
{% if s.value is mapping or s.value is iterable and s.value is not string %}
{{ json.dumps(s.value, indent=2) }}
{% elif s.value is sameas true %}
on
{% elif s.value is sameas false %}
off
{% else %}
{{ s.value }}
{% endif %}
{{ s.desc if s.desc else '—' }}
{% endfor %}
{% endif %}
{{ json.dumps(config.settings, indent=2) }}
{% if parsed_settings %}
Show Raw JSON
{% endif %}
{% endif %}
{# Policy Limits #}
{% if config.policy_limits %}
{{ chevron() }}Policy & Limits
{% for k, v in config.policy_limits.items()|sort %}
{{ k }}
{{ v }}
{% endfor %}
{% endif %}
{# Remote Settings #}
{% if config.remote_settings %}
{{ chevron() }}Remote Settings
{% set perms = config.remote_settings.get('permissions', {}) %}
{% if perms %}
{% if perms.get('deny') %}
Deny rules
{% for rule in perms.deny %}
{{ rule }}
{% endfor %}
{% endif %}
{% if perms.get('ask') %}
Ask rules
{% for rule in perms.ask %}
{{ rule }}
{% endfor %}
{% endif %}
{% if perms.get('disableBypassPermissionsMode') %}
Bypass mode: {{ perms.disableBypassPermissionsMode }}
{% endif %}
{% endif %}
{% set env_overrides = config.remote_settings.get('env', {}) %}
{% if env_overrides %}
Env overrides
{% for k, v in env_overrides.items()|sort %}
{{ k }} {{ v }}
{% endfor %}
{% endif %}
{% set _skip = ('permissions', 'env') %}
{% set _ns = namespace(has_extra=false) %}
{% for k in config.remote_settings %}{% if k not in _skip %}{% set _ns.has_extra = true %}{% endif %}{% endfor %}
{% if _ns.has_extra %}
{% for k, v in config.remote_settings.items()|sort %}
{% if k not in _skip %}
{{ k }} {{ v }}
{% endif %}
{% endfor %}
{% endif %}
{% endif %}
{# Stats #}
{% if config.stats %}
{{ chevron() }}Usage Stats
{% if config.stats.totalSessions is defined %}
Total sessions {{ config.stats.totalSessions }}
{% endif %}
{% if config.stats.totalMessages is defined %}
Total messages {{ config.stats.totalMessages }}
{% endif %}
{% if config.stats.firstSessionDate is defined %}
First session {{ config.stats.firstSessionDate[:10] }}
{% endif %}
{% if config.stats.lastComputedDate is defined %}
Last computed {{ config.stats.lastComputedDate }}
{% endif %}
{% if config.stats.modelUsage %}
Model usage
Model Input tokens Output tokens Cache read Cache write Cost USD
{% for model, usage in config.stats.modelUsage.items()|sort %}
{{ model }}
{{ usage.get('inputTokens', 0) | int }}
{{ usage.get('outputTokens', 0) | int }}
{{ usage.get('cacheReadInputTokens', 0) | int }}
{{ usage.get('cacheCreationInputTokens', 0) | int }}
{{ "%.4f"|format(usage.get('costUSD', 0)) }}
{% endfor %}
{% endif %}
{% endif %}
{# Managed Settings (enterprise / MDM) #}
{% if config.managed_settings or config.managed_settings_legacy or config.managed_mcp_servers or config.managed_mcp_servers_legacy %}
{{ chevron() }}Managed Settings
{% if config.managed_settings %}
managed-settings.json
(macOS: /Library/Application Support/ClaudeCode/ • Linux: /etc/claude-code/ • Windows: %PROGRAMFILES%\ClaudeCode\)
{% for k, v in config.managed_settings.items()|sort %}
{{ k }} {{ v }}
{% endfor %}
{% endif %}
{% if config.managed_mcp_servers %}
managed-mcp.json — enforced MCP servers
Name Type Command / URL
{% for s in config.managed_mcp_servers %}
{{ s.name }}
{{ s.type }}
{% if s.url %}{{ s.url }}{% else %}{{ s.command }} {{ s.args|join(' ') }}{% endif %}
{% endfor %}
{% endif %}
{% if config.managed_settings_legacy %}
ProgramData\ClaudeCode\managed-settings.json
⚠ Legacy — deprecated since v2.1.75, no longer read by Claude Code
{% for k, v in config.managed_settings_legacy.items()|sort %}
{{ k }} {{ v }}
{% endfor %}
{% endif %}
{% if config.managed_mcp_servers_legacy %}
ProgramData\ClaudeCode\managed-mcp.json — enforced MCP servers
⚠ Legacy — deprecated since v2.1.75, no longer read by Claude Code
Name Type Command / URL
{% for s in config.managed_mcp_servers_legacy %}
{{ s.name }}
{{ s.type }}
{% if s.url %}{{ s.url }}{% else %}{{ s.command }} {{ s.args|join(' ') }}{% endif %}
{% endfor %}
{% endif %}
{% endif %}
{# Plugin Blocklist #}
{% if config.plugin_blocklist %}
{{ chevron() }}Plugin Blocklist ({{ config.plugin_blocklist|length }})
Plugin Reason Added
{% for item in config.plugin_blocklist %}
{% if item is mapping %}
{{ item.get('plugin', '') }}
{{ item.get('reason', '') }}{% if item.get('text') %} — {{ item.text[:80] }}{% endif %}
{{ item.get('added_at', '')[:10] }}
{% else %}
{{ item }}
{% endif %}
{% endfor %}
{% endif %}
{# Known Marketplaces #}
{% if config.known_marketplaces %}
{{ chevron() }}Known Marketplaces ({{ config.known_marketplaces|length }})
Name Source Last Updated
{% for name, info in config.known_marketplaces.items()|sort %}
{{ name }}
{% if info.get('source', {}).get('repo') %}{{ info.source.repo }}{% endif %}
{{ info.get('lastUpdated', '')[:10] }}
{% endfor %}
{% endif %}
{# Install Counts Cache #}
{% if config.install_counts_cache and config.install_counts_cache.get('counts') %}
{{ chevron() }}Plugin Install Counts ({{ config.install_counts_cache.counts|length }})
{% if config.install_counts_cache.get('fetchedAt') %}
Fetched {{ config.install_counts_cache.fetchedAt[:10] }}
{% endif %}
Plugin Installs
{% for entry in config.install_counts_cache.counts %}
{{ entry.get('plugin', '') }}
{{ "{:,}".format(entry.get('unique_installs', 0)) }}
{% endfor %}
{% endif %}
{% endif %}
{# ---- Copilot-specific sections ---- #}
{% if tool == 'copilot' %}
{# Config #}
{% if config.config %}
{{ chevron() }}Configuration
{{ json.dumps(config.config, indent=2) }}
{% endif %}
{# Recent Commands #}
{% if config.recent_commands %}
{{ chevron() }}Recent Commands ({{ config.recent_commands|length }})
{% for cmd in config.recent_commands|reverse %}
{{ cmd if cmd is string else json.dumps(cmd) }}
{% endfor %}
{% endif %}
{% endif %}
{# ---- VS Code-specific sections ---- #}
{% if tool == 'vscode' %}
{# Agents #}
{% if config.agents %}
{{ chevron() }}Agents ({{ config.agents|length }})
Name Description
{% for a in config.agents %}
{{ a.name }}
{{ a.description[:150] }}
{% endfor %}
{% endif %}
{# Copilot/AI Settings #}
{% if config.copilot_settings %}
{{ chevron() }}AI Settings ({{ config.copilot_settings|length }})
Key Value
{% for k, v in config.copilot_settings.items()|sort %}
{{ k }}
{% if v is mapping or v is iterable and v is not string %}{{ json.dumps(v) }}{% else %}{{ v }}{% endif %}
{% endfor %}
{% endif %}
{# Language Models #}
{% if config.language_models %}
{{ chevron() }}Language Models ({{ config.language_models|length }})
{{ json.dumps(config.language_models, indent=2) }}
{% endif %}
{# VS Code Insiders #}
{% if config.insiders_installed %}
{{ chevron() }}VS Code Insiders
{{ config.insiders_user_dir }}
{% if config.insiders_mcp_servers %}
MCP Servers ({{ config.insiders_mcp_servers|length }})
Name Type Command / URL
{% for s in config.insiders_mcp_servers %}
{{ s.name }}
{{ s.type }}
{% if s.url %}{{ s.url }}{% else %}{{ s.command }} {{ s.args|join(' ') }}{% endif %}
{% endfor %}
{% endif %}
{% if config.insiders_copilot_settings %}
AI Settings ({{ config.insiders_copilot_settings|length }})
{% for k, v in config.insiders_copilot_settings.items()|sort %}
{{ k }} {{ v }}
{% endfor %}
{% endif %}
{% if config.insiders_skills %}
Skills ({{ config.insiders_skills|length }})
Name Description
{% for s in config.insiders_skills %}
{{ s.name }} {{ s.description[:120] }}
{% endfor %}
{% endif %}
{% if not config.insiders_mcp_servers and not config.insiders_copilot_settings and not config.insiders_skills %}
No MCP servers, AI settings, or skills configured.
{% endif %}
{% endif %}
{% endif %}
{# ---- Claude Desktop-specific sections ---- #}
{% if tool == 'claude_desktop' %}
{# Cowork Plugins #}
{% if config.cowork_plugins %}
{{ chevron() }}Cowork Plugins ({{ config.cowork_plugins|length }})
{% for p in config.cowork_plugins %}
{{ p.name }}{% if p.version %} v{{ p.version }} {% endif %}
{{ p.description[:120] if p.description else 'No description' }}
{% if p.enabled %}enabled {% else %}disabled {% endif %}
{% if p.author %}{{ p.author }} {% endif %}
{% if p.skills %}{{ p.skills|length }} skill{{ 's' if p.skills|length != 1 }} {% endif %}
{% endfor %}
{# Cowork Plugin detail modal #}
{% endif %}
{# Preferences #}
{% if parsed_preferences %}
{{ chevron() }}Preferences ({{ parsed_preferences|length }})
Key Value Description
{% for row in parsed_preferences %}
{{ row.key }}
{% if row.value is sameas true %}on
{% elif row.value is sameas false %}off
{% else %}{{ row.value }} {% endif %}
{{ row.desc }}
{% endfor %}
{% elif config.preferences %}
{{ chevron() }}Preferences ({{ config.preferences|length }})
{% for k, v in config.preferences.items()|sort %}
{{ k }}
{% if v is sameas true %}on
{% elif v is sameas false %}off
{% else %}{{ v }} {% endif %}
{% endfor %}
{% endif %}
{# UI Config #}
{% if config.ui_config %}
{{ chevron() }}UI Config ({{ config.ui_config|length }})
{% for k, v in config.ui_config.items()|sort %}
{{ k }}
{{ v }}
{% endfor %}
{% endif %}
{% endif %}
{# Empty state #}
{% if not config.installed %}
This tool was not found on the system. Check that the directory exists and contains configuration files.
{% endif %}