{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "cleanupPeriodDays": 14,
  "tui": "fullscreen",
  "disableSkillShellExecution": false,
  "enabledMcpjsonServers": ["playwright", "context7", "jina-reader", "chrome-devtools"],
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1",
    "ENABLE_TOOL_SEARCH": "auto:5"
  },
  "permissions": {
    "allow": [
      "Bash(*)",
      "Read(*)",
      "Write(*)",
      "Edit(*)",
      "Task(*)",
      "Glob(*)",
      "Grep(*)",
      "Search(*)",
      "Skill(*)",
      "ToolSearch(*)",
      "NotebookEdit(*)",
      "WebSearch",
      "WebSearch(*)",
      "SendMessage(*)",
      "TeamCreate(*)",
      "TeamDelete(*)",
      "TaskCreate(*)",
      "TaskUpdate(*)",
      "TaskGet(*)",
      "TaskList(*)",
      "TaskOutput(*)",
      "TaskStop(*)",
      "EnterPlanMode(*)",
      "AskUserQuestion(*)",
      "ListMcpResourcesTool(*)",
      "ReadMcpResourceTool(*)",
      "mcp__playwright__*",
      "mcp__context7__*",
      "mcp__jina-reader__*"
    ],
    "ask": [],
    "deny": [
      "WebFetch",
      "WebFetch(*)",
      "Bash(rm -rf /)*",
      "Bash(rm -rf ~)*",
      "Bash(rm -rf .)*",
      "Bash(rm -r .)*",
      "Bash(rm -r ./)*",
      "Bash(rm -rf *)*",
      "Bash(sudo:*)",
      "Bash(chmod 777:*)",
      "Bash(>/dev/*)",
      "Bash(curl*|*sh)*",
      "Bash(wget*|*sh)*",
      "Bash(*>~/.ssh/*)",
      "Bash(*>~/.zshrc)*",
      "Bash(*>~/.bashrc)*",
      "Bash(*>~/.profile)*",
      "Bash(*>~/.zprofile)*",
      "Bash(git push --force*main)*",
      "Bash(git push -f*main)*",
      "Bash(git push --force*master)*",
      "Bash(git push -f*master)*",
      "Bash(git push --force-with-lease*main)*",
      "Bash(git push --force-with-lease*master)*",
      "Bash(git push origin +main)*",
      "Bash(git push origin +master)*",
      "Bash(git reset --hard origin/*)*",
      "Bash(git clean -f*)*",
      "Bash(git checkout -- .)*",
      "Bash(git restore .)*",
      "Bash(npm publish)*",
      "Bash(pnpm publish)*",
      "Bash(yarn publish)*",
      "Bash(docker system prune)*",
      "Bash(mkfs*)*",
      "Bash(dd if=*)*",
      "Bash(eval *)*",
      "Bash(bash -c *)*",
      "Bash(/bin/bash -c *)*",
      "Bash(sh -c *)*",
      "Bash(/bin/sh -c *)*",
      "Bash(osascript*)*",
      "Bash(/usr/bin/osascript*)*",
      "Bash(crontab*)*",
      "Bash(launchctl*)*",
      "Bash(python3 -c *import os*)*",
      "Bash(python3 -c *import subprocess*)*",
      "Bash(python3 -c *import importlib*)*",
      "Bash(python3 -c *__import__*)*",
      "Bash(node -e *)*",
      "Bash(/usr/local/bin/node -e *)*",
      "Bash(perl -e *)*",
      "Bash(/usr/bin/perl -e *)*",
      "Bash(xargs *)*",
      "Bash(open http*)*",
      "Bash(source /dev/*)*"
    ]
  },
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/remote-command-guard.sh",
            "timeout": 5
          }
        ]
      },
      {
        "matcher": "mcp__*",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/rate-limiter.sh",
            "timeout": 5
          },
          {
            "type": "command",
            "command": "~/.claude/hooks/mcp-usage-tracker.sh"
          }
        ]
      }
    ],
    "SessionStart": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/context-sync-suggest.sh"
          }
        ]
      },
      {
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/forge-update-check.sh",
            "timeout": 5
          }
        ]
      }
    ],
    "UserPromptSubmit": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/work-tracker-prompt.sh"
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/work-tracker-tool.sh"
          },
          {
            "type": "command",
            "command": "~/.claude/hooks/output-secret-filter.sh",
            "timeout": 5
          },
          {
            "type": "command",
            "command": "~/.claude/skills/continuous-learning-v2/hooks/observe.sh"
          }
        ]
      },
      {
        "matcher": "Edit",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/code-quality-reminder.sh"
          }
        ]
      },
      {
        "matcher": "Write",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/code-quality-reminder.sh"
          }
        ]
      },
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/security-auto-trigger.sh"
          }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/work-tracker-stop.sh"
          }
        ]
      },
      {
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/session-wrap-suggest.sh"
          }
        ]
      }
    ],
    "TaskCompleted": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/task-completed.sh",
            "timeout": 10
          }
        ]
      }
    ]
  },
  "statusLine": {
    "type": "command",
    "command": "~/.claude/cc-chips-custom/engine.sh"
  }
}
