{ "$schema": "https://json.schemastore.org/claude-code-settings.json", "env": { "PAI_DIR": "${PAI_DIR}", "PROJECTS_DIR": "${PROJECTS_DIR}", "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "80000", "BASH_DEFAULT_TIMEOUT_MS": "600000", "PAI_CONFIG_DIR": "${PAI_CONFIG_DIR}", "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1", "ANTHROPIC_BASE_URL": "${ANTHROPIC_BASE_URL}", "ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}", "ANTHROPIC_MODEL": "${ANTHROPIC_MODEL}", "ANTHROPIC_SMALL_FAST_MODEL": "${ANTHROPIC_SMALL_FAST_MODEL}", "VOICE_SERVER_URL": "${VOICE_SERVER_URL}" }, "permissions": { "allow": [ "Bash", "Read", "Write", "Edit", "MultiEdit", "Glob", "Grep", "LS", "WebFetch", "WebSearch", "NotebookRead", "NotebookEdit", "TodoWrite", "ExitPlanMode", "Task", "Skill", "mcp__*" ], "deny": [], "ask": [ "Bash(rm -rf /)", "Bash(rm -rf /:*)", "Bash(sudo rm -rf /)", "Bash(sudo rm -rf /:*)", "Bash(rm -rf ~)", "Bash(rm -rf ~:*)", "Bash(rm -rf ~/.claude)", "Bash(rm -rf ~/.claude:*)", "Bash(diskutil eraseDisk:*)", "Bash(diskutil zeroDisk:*)", "Bash(diskutil partitionDisk:*)", "Bash(diskutil apfs deleteContainer:*)", "Bash(diskutil apfs eraseVolume:*)", "Bash(dd if=/dev/zero:*)", "Bash(mkfs:*)", "Bash(gh repo delete:*)", "Bash(gh repo edit --visibility public:*)", "Bash(git push --force:*)", "Bash(git push -f:*)", "Bash(git push origin --force:*)", "Bash(git push origin -f:*)", "Read(~/.ssh/id_*)", "Read(~/.ssh/*.pem)", "Read(~/.aws/credentials)", "Read(~/.gnupg/private*)", "Write(~/.claude/settings.json)", "Edit(~/.claude/settings.json)", "Write(~/.ssh/*)", "Edit(~/.ssh/*)" ], "defaultMode": "default" }, "enableAllProjectMcpServers": true, "enabledMcpjsonServers": [], "hooks": { "PreToolUse": [ { "matcher": "Bash", "hooks": [{"type": "command", "command": "${PAI_DIR}/hooks/SecurityValidator.hook.ts"}] }, { "matcher": "Edit", "hooks": [{"type": "command", "command": "${PAI_DIR}/hooks/SecurityValidator.hook.ts"}] }, { "matcher": "Write", "hooks": [{"type": "command", "command": "${PAI_DIR}/hooks/SecurityValidator.hook.ts"}] }, { "matcher": "Read", "hooks": [{"type": "command", "command": "${PAI_DIR}/hooks/SecurityValidator.hook.ts"}] }, { "matcher": "AskUserQuestion", "hooks": [{"type": "command", "command": "${PAI_DIR}/hooks/SetQuestionTab.hook.ts"}] }, { "matcher": "Task", "hooks": [{"type": "command", "command": "${PAI_DIR}/hooks/AgentExecutionGuard.hook.ts"}] }, { "matcher": "Skill", "hooks": [{"type": "command", "command": "${PAI_DIR}/hooks/SkillGuard.hook.ts"}] } ], "PostToolUse": [ { "matcher": "AskUserQuestion", "hooks": [{"type": "command", "command": "${PAI_DIR}/hooks/QuestionAnswered.hook.ts"}] }, { "matcher": "Write", "hooks": [{"type": "command", "command": "${PAI_DIR}/hooks/PRDSync.hook.ts"}] }, { "matcher": "Edit", "hooks": [{"type": "command", "command": "${PAI_DIR}/hooks/PRDSync.hook.ts"}] } ], "SessionEnd": [ { "hooks": [ {"type": "command", "command": "${PAI_DIR}/hooks/WorkCompletionLearning.hook.ts"}, {"type": "command", "command": "${PAI_DIR}/hooks/SessionCleanup.hook.ts"}, {"type": "command", "command": "${PAI_DIR}/hooks/RelationshipMemory.hook.ts"}, {"type": "command", "command": "${PAI_DIR}/hooks/UpdateCounts.hook.ts"}, {"type": "command", "command": "${PAI_DIR}/hooks/IntegrityCheck.hook.ts"} ] } ], "UserPromptSubmit": [ { "hooks": [ {"type": "command", "command": "${PAI_DIR}/hooks/RatingCapture.hook.ts"}, {"type": "command", "command": "${PAI_DIR}/hooks/UpdateTabTitle.hook.ts"}, {"type": "command", "command": "${PAI_DIR}/hooks/SessionAutoName.hook.ts"} ] } ], "SessionStart": [ { "hooks": [ {"type": "command", "command": "${PAI_DIR}/hooks/KittyEnvPersist.hook.ts"}, {"type": "command", "command": "${PAI_DIR}/hooks/LoadContext.hook.ts"}, {"type": "command", "command": "bun ${PAI_DIR}/hooks/handlers/BuildCLAUDE.ts"} ] } ], "Stop": [ { "hooks": [ {"type": "command", "command": "${PAI_DIR}/hooks/LastResponseCache.hook.ts"}, {"type": "command", "command": "${PAI_DIR}/hooks/ResponseTabReset.hook.ts"}, {"type": "command", "command": "${PAI_DIR}/hooks/VoiceCompletion.hook.ts"}, {"type": "command", "command": "${PAI_DIR}/hooks/DocIntegrity.hook.ts"} ] } ] }, "statusLine": { "type": "command", "command": "$PAI_DIR/statusline-command.sh" }, "plansDirectory": "Plans/", "loadAtStartup": { "_docs": "Files force-loaded into session context at startup by LoadContext.hook.ts. Paths relative to PAI_DIR.", "files": [ "PAI/AISTEERINGRULES.md", "PAI/USER/AISTEERINGRULES.md", "PAI/USER/PROJECTS/PROJECTS.md" ] }, "dynamicContext": { "_docs": "Dynamic context sections injected by LoadContext.hook.ts at session start.", "relationshipContext": true, "learningReadback": true, "activeWorkSummary": true }, "contextFiles": [], "mcpServers": {}, "teammateMode": "in-process", "daidentity": { "name": "${PAI_AGENT_NAME}", "fullName": "Seift — Personal AI", "displayName": "SEIFT", "color": "#3B82F6", "voices": { "main": { "voiceId": "am_adam", "stability": 0.35, "similarityBoost": 0.8, "style": 0.9, "speed": 1.1 } }, "personality": { "enthusiasm": 75, "energy": 80, "expressiveness": 85, "resilience": 85, "composure": 70, "optimism": 75, "warmth": 70, "formality": 30, "directness": 80, "precision": 95, "curiosity": 90, "playfulness": 45 }, "startupCatchphrase": "Seift here, ready to go", "voiceId": "am_adam" }, "principal": { "name": "Shannon", "timezone": "America/New_York" }, "pai": { "repoUrl": "https://github.com/danielmiessler/PAI", "version": "4.0.3", "algorithmVersion": "3.7.0" }, "preferences": { "temperatureUnit": "fahrenheit" }, "contextDisplay": { "compactionThreshold": 83 }, "techStack": { "packageManager": "bun", "language": "TypeScript" }, "notifications": { "ntfy": {"enabled": false}, "discord": {"enabled": false}, "twilio": {"enabled": false}, "thresholds": {"longTaskMinutes": 5}, "routing": { "taskComplete": [], "longTask": ["ntfy"], "backgroundAgent": ["ntfy"], "error": ["ntfy"], "security": ["ntfy"] } }, "max_tokens": 16000, "feedbackSurveyState": { "lastShownTime": 1735430400000 } }