{ "$schema": "https://json.schemastore.org/claude-code-settings.json", "sandbox": { "filesystem": { "allowWrite": [ ".", "/tmp", "/private/tmp", "~/.claude/session-env", "~/.claude/debug", "~/.cache/gh", "~/khan/devtools/khan-linter", "~/.npm", "~/.local/share/mise", "~/.local/state/mise", "~/.cache/node/corepack", "~/Library/pnpm", "~/Library/Caches/pnpm" ], "denyWrite": [ ".claude/settings.json", ".claude/hooks", "~/.claude/settings.json", "~/.claude/hooks", ".mcp.json", ".mcp", ".agent-settings-assets-manifest.json", ".codex/config.toml" ], "allowGitConfig": true }, "enabled": true, "autoAllowBashIfSandboxed": true, "allowUnsandboxedCommands": false, "network": { "allowLocalBinding": true, "allowedDomains": [ "localhost", "github.com", "api.github.com", "registry.npmjs.org", "npm.pkg.github.com" ] }, "enableWeakerNetworkIsolation": true, "excludedCommands": [ "pbcopy" ] }, "permissions": { "deny": [ "Edit(.mcp.json)", "Edit(.mcp/**)", "Edit(.agent-settings-assets-manifest.json)", "Edit(.codex/config.toml)", "mcp__google_cloud_bigquery__execute_sql", "mcp__claude_ai_Google_Cloud_BigQuery__execute_sql" ], "allow": [ "mcp__Atlassian__atlassianUserInfo", "mcp__claude_ai_Atlassian__atlassianUserInfo", "mcp__Atlassian__fetch", "mcp__claude_ai_Atlassian__fetch", "mcp__Atlassian__getAccessibleAtlassianResources", "mcp__claude_ai_Atlassian__getAccessibleAtlassianResources", "mcp__Atlassian__getConfluenceCommentChildren", "mcp__claude_ai_Atlassian__getConfluenceCommentChildren", "mcp__Atlassian__getConfluencePage", "mcp__claude_ai_Atlassian__getConfluencePage", "mcp__Atlassian__getConfluencePageDescendants", "mcp__claude_ai_Atlassian__getConfluencePageDescendants", "mcp__Atlassian__getConfluencePageFooterComments", "mcp__claude_ai_Atlassian__getConfluencePageFooterComments", "mcp__Atlassian__getConfluencePageInlineComments", "mcp__claude_ai_Atlassian__getConfluencePageInlineComments", "mcp__Atlassian__getConfluenceSpaces", "mcp__claude_ai_Atlassian__getConfluenceSpaces", "mcp__Atlassian__getIssueLinkTypes", "mcp__claude_ai_Atlassian__getIssueLinkTypes", "mcp__Atlassian__getJiraIssue", "mcp__claude_ai_Atlassian__getJiraIssue", "mcp__Atlassian__getJiraIssueRemoteIssueLinks", "mcp__claude_ai_Atlassian__getJiraIssueRemoteIssueLinks", "mcp__Atlassian__getJiraIssueTypeMetaWithFields", "mcp__claude_ai_Atlassian__getJiraIssueTypeMetaWithFields", "mcp__Atlassian__getJiraProjectIssueTypesMetadata", "mcp__claude_ai_Atlassian__getJiraProjectIssueTypesMetadata", "mcp__Atlassian__getPagesInConfluenceSpace", "mcp__claude_ai_Atlassian__getPagesInConfluenceSpace", "mcp__Atlassian__getTransitionsForJiraIssue", "mcp__claude_ai_Atlassian__getTransitionsForJiraIssue", "mcp__Atlassian__getVisibleJiraProjects", "mcp__claude_ai_Atlassian__getVisibleJiraProjects", "mcp__Atlassian__lookupJiraAccountId", "mcp__claude_ai_Atlassian__lookupJiraAccountId", "mcp__Atlassian__search", "mcp__claude_ai_Atlassian__search", "mcp__Atlassian__searchConfluenceUsingCql", "mcp__claude_ai_Atlassian__searchConfluenceUsingCql", "mcp__Atlassian__searchJiraIssuesUsingJql", "mcp__claude_ai_Atlassian__searchJiraIssuesUsingJql", "mcp__slack__slack_get_reactions", "mcp__claude_ai_Slack__slack_get_reactions", "mcp__slack__slack_list_channel_members", "mcp__claude_ai_Slack__slack_list_channel_members", "mcp__slack__slack_read_canvas", "mcp__claude_ai_Slack__slack_read_canvas", "mcp__slack__slack_read_channel", "mcp__claude_ai_Slack__slack_read_channel", "mcp__slack__slack_read_file", "mcp__claude_ai_Slack__slack_read_file", "mcp__slack__slack_read_thread", "mcp__claude_ai_Slack__slack_read_thread", "mcp__slack__slack_read_user_profile", "mcp__claude_ai_Slack__slack_read_user_profile", "mcp__slack__slack_search_channels", "mcp__claude_ai_Slack__slack_search_channels", "mcp__slack__slack_search_emojis", "mcp__claude_ai_Slack__slack_search_emojis", "mcp__slack__slack_search_public", "mcp__claude_ai_Slack__slack_search_public", "mcp__slack__slack_search_public_and_private", "mcp__claude_ai_Slack__slack_search_public_and_private", "mcp__slack__slack_search_users", "mcp__claude_ai_Slack__slack_search_users", "mcp__google_drive__download_file_content", "mcp__claude_ai_Google_Drive__download_file_content", "mcp__google_drive__get_file_metadata", "mcp__claude_ai_Google_Drive__get_file_metadata", "mcp__google_drive__get_file_permissions", "mcp__claude_ai_Google_Drive__get_file_permissions", "mcp__google_drive__list_recent_files", "mcp__claude_ai_Google_Drive__list_recent_files", "mcp__google_drive__read_file_content", "mcp__claude_ai_Google_Drive__read_file_content", "mcp__google_drive__search_files", "mcp__claude_ai_Google_Drive__search_files", "mcp__google_cloud_bigquery__get_dataset_info", "mcp__claude_ai_Google_Cloud_BigQuery__get_dataset_info", "mcp__google_cloud_bigquery__get_table_info", "mcp__claude_ai_Google_Cloud_BigQuery__get_table_info", "mcp__google_cloud_bigquery__list_dataset_ids", "mcp__claude_ai_Google_Cloud_BigQuery__list_dataset_ids", "mcp__google_cloud_bigquery__list_table_ids", "mcp__claude_ai_Google_Cloud_BigQuery__list_table_ids", "mcp__github", "Bash(pbcopy)", "mcp__figma__get_code_connect_map", "mcp__claude_ai_Figma__get_code_connect_map", "mcp__figma__get_code_connect_suggestions", "mcp__claude_ai_Figma__get_code_connect_suggestions", "mcp__figma__get_context_for_code_connect", "mcp__claude_ai_Figma__get_context_for_code_connect", "mcp__figma__get_design_context", "mcp__claude_ai_Figma__get_design_context", "mcp__figma__get_figjam", "mcp__claude_ai_Figma__get_figjam", "mcp__figma__get_libraries", "mcp__claude_ai_Figma__get_libraries", "mcp__figma__get_metadata", "mcp__claude_ai_Figma__get_metadata", "mcp__figma__get_screenshot", "mcp__claude_ai_Figma__get_screenshot", "mcp__figma__get_variable_defs", "mcp__claude_ai_Figma__get_variable_defs", "mcp__figma__search_design_system", "mcp__claude_ai_Figma__search_design_system", "mcp__figma__whoami", "mcp__claude_ai_Figma__whoami", "mcp__wonder-blocks-storybook", "mcp__perseus-storybook", "mcp__storybook" ], "ask": [ "mcp__Atlassian__addCommentToJiraIssue", "mcp__claude_ai_Atlassian__addCommentToJiraIssue", "mcp__Atlassian__addWorklogToJiraIssue", "mcp__claude_ai_Atlassian__addWorklogToJiraIssue", "mcp__Atlassian__createConfluenceFooterComment", "mcp__claude_ai_Atlassian__createConfluenceFooterComment", "mcp__Atlassian__createConfluenceInlineComment", "mcp__claude_ai_Atlassian__createConfluenceInlineComment", "mcp__Atlassian__createConfluencePage", "mcp__claude_ai_Atlassian__createConfluencePage", "mcp__Atlassian__createIssueLink", "mcp__claude_ai_Atlassian__createIssueLink", "mcp__Atlassian__createJiraIssue", "mcp__claude_ai_Atlassian__createJiraIssue", "mcp__Atlassian__editJiraIssue", "mcp__claude_ai_Atlassian__editJiraIssue", "mcp__Atlassian__transitionJiraIssue", "mcp__claude_ai_Atlassian__transitionJiraIssue", "mcp__Atlassian__updateConfluencePage", "mcp__claude_ai_Atlassian__updateConfluencePage", "mcp__slack__slack_add_reaction", "mcp__claude_ai_Slack__slack_add_reaction", "mcp__slack__slack_create_canvas", "mcp__claude_ai_Slack__slack_create_canvas", "mcp__slack__slack_schedule_message", "mcp__claude_ai_Slack__slack_schedule_message", "mcp__slack__slack_send_message", "mcp__claude_ai_Slack__slack_send_message", "mcp__slack__slack_send_message_draft", "mcp__claude_ai_Slack__slack_send_message_draft", "mcp__slack__slack_update_canvas", "mcp__claude_ai_Slack__slack_update_canvas", "mcp__google_drive__copy_file", "mcp__claude_ai_Google_Drive__copy_file", "mcp__google_drive__create_file", "mcp__claude_ai_Google_Drive__create_file", "mcp__google_cloud_bigquery__execute_sql_readonly", "mcp__claude_ai_Google_Cloud_BigQuery__execute_sql_readonly", "mcp__figma__add_code_connect_map", "mcp__claude_ai_Figma__add_code_connect_map", "mcp__figma__create_new_file", "mcp__claude_ai_Figma__create_new_file", "mcp__figma__generate_diagram", "mcp__claude_ai_Figma__generate_diagram", "mcp__figma__send_code_connect_mappings", "mcp__claude_ai_Figma__send_code_connect_mappings", "mcp__figma__upload_assets", "mcp__claude_ai_Figma__upload_assets", "mcp__figma__use_figma", "mcp__claude_ai_Figma__use_figma" ] }, "hooks": { "SessionStart": [ { "hooks": [ { "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/git-token-init.mjs" } ] }, { "matcher": "startup", "hooks": [ { "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/gh-install.mjs" } ] }, { "hooks": [ { "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/pnpm-install.mjs", "timeout": 120, "statusMessage": "Installing dependencies..." } ] } ], "PreToolUse": [ { "matcher": "Bash", "hooks": [ { "type": "command", "if": "Bash(git *)", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/git-filter.mjs" } ] }, { "matcher": "Bash", "hooks": [ { "type": "command", "if": "Bash(gh *)", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/gh-filter.mjs" } ] }, { "matcher": "Bash", "hooks": [ { "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/echo-banner-filter.mjs" } ] } ] }, "env": { "TURBO_TELEMETRY_DISABLED": "1" } }