Skip to content

Instantly share code, notes, and snippets.

@iamladi
Created February 5, 2026 13:53
Show Gist options
  • Select an option

  • Save iamladi/bb5ef3d3b7ee99047b9230f9ebecd6b5 to your computer and use it in GitHub Desktop.

Select an option

Save iamladi/bb5ef3d3b7ee99047b9230f9ebecd6b5 to your computer and use it in GitHub Desktop.
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"env": {
"CLAUDE_CODE_MAX_OUTPUT_TOKENS": "32000",
"DISABLE_COST_WARNINGS": "1",
"DISABLE_NON_ESSENTIAL_MODEL_CALLS": "1"
},
"includeCoAuthoredBy": false,
"permissions": {
"allow": [
"Bash",
"Read(*)",
"Write(*)",
"Edit(*)",
"MultiEdit(*)",
"Glob(*)",
"Grep(*)",
"LS(*)",
"WebFetch(domain:*)",
"WebSearch",
"NotebookRead(*)",
"NotebookEdit(*)",
"TodoWrite(*)",
"ExitPlanMode(*)",
"Task(*)",
"mcp__*"
],
"deny": [
"Bash(rm -rf /)",
"Bash(rm -rf /*)",
"Bash(rm -rf ~)",
"Bash(rm -rf $HOME)",
"Bash(sudo rm -rf /)",
"Bash(sudo rm -rf /*)",
"Bash(fork bomb)",
"Bash(dd if=/dev/zero of=/dev/sda)",
"Bash(mkfs.ext4 /dev/sda)",
"Bash(> /dev/sda)"
]
},
"enableAllProjectMcpServers": true,
"enabledMcpjsonServers": [],
"hooks": {
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "~/.claude/skills/continuous-learning/scripts/continuous-learning-activator.sh"
}
]
}
],
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "uv run /Users/iamladi/.claude/hooks/notification.py --notify"
}
]
}
],
"PostToolUse": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "uv run /Users/iamladi/.claude/hooks/post_tool_use.py"
}
]
}
],
"PreToolUse": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "uv run /Users/iamladi/.claude/hooks/pre_tool_use.py"
}
]
},
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "uv run /Users/iamladi/.claude/hooks/logging_enforcer.py"
}
]
},
{
"matcher": "WebSearch",
"hooks": [
{
"type": "command",
"command": "uv run python -c \"import json, sys, re; from datetime import datetime; input_data = json.load(sys.stdin); tool_input = input_data.get('tool_input', {}); query = tool_input.get('query', ''); current_year = str(datetime.now().year); has_year = re.search(r'\\\\b20\\\\d{2}\\\\b', query); has_temporal = any(word in query.lower() for word in ['latest', 'recent', 'current', 'new', 'now', 'today']); should_add_year = not has_year and not has_temporal; modified_query = f'{query} {current_year}' if should_add_year else query; output = {'hookSpecificOutput': {'hookEventName': 'PreToolUse', 'modifiedToolInput': {'query': modified_query}}}; print(json.dumps(output)); sys.exit(0)\"",
"timeout": 5
}
]
}
],
"Stop": [
{
"matcher": "",
"hooks": [
{
"type": "prompt",
"prompt": "Evaluate if Claude should stop: $ARGUMENTS. Check if all tasks are complete. Respond with JSON: {\"ok\": true} to allow stopping, or {\"ok\": false, \"reason\": \"what's incomplete\"} to block."
}
]
}
],
"SubagentStop": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "uv run /Users/iamladi/.claude/hooks/subagent_stop.py"
}
]
}
]
},
"statusLine": {
"type": "command",
"command": "npx -y @owloops/claude-powerline@latest --style=powerline"
},
"enabledPlugins": {
"claude-opus-4-5-migration@claude-code-plugins": true,
"code-simplifier@claude-plugins-official": true,
"feature-dev@claude-code-plugins": true,
"frontend-design@claude-code-plugins": true,
"github@cautious-computing-machine": true,
"javascript-typescript@claude-code-workflows": false,
"plugin-dev@claude-plugins-official": true,
"primitives@cautious-computing-machine": true,
"sdlc@cautious-computing-machine": true,
"security-guidance@claude-plugins-official": true,
"xcode@tuist-marketplace": true,
"misc@cautious-computing-machine": true,
"ts@cautious-computing-machine": true,
"mgrep@Mixedbread-Grep": true,
"typescript-lsp@claude-plugins-official": true,
"figma@claude-plugins-official": true,
"greptile@claude-plugins-official": true,
"rust-analyzer-lsp@claude-plugins-official": true,
"agent-sdk-dev@claude-code-plugins": true,
"workflows@cautious-computing-machine": true,
"marketing-skills@marketingskills": true
},
"feedbackSurveyState": {
"lastShownTime": 1754053439607
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment