Inkdown
Start writing

Claude-Code

62 filesยท4 subfolders

Shared Workspace

Claude-Code
codex

12-permission-system

Shared from "Claude-Code" on Inkdown

Permission System Deep Dive

Overview

The permission system is a multi-layered security framework that controls what Claude can do. It ranges from simple allow/deny rules to sophisticated AI-powered classification.

Plain text
0000_start_here_index_and_recommended_reading_order.md
0100_project_overview_tech_stack_runtime_modes_and_folder_map.md
0200_startup_flow_entry_points_and_cold_start_sequence.md
0300_codebase_modules_layers_state_models_and_schemas.md
0400_system_architecture_and_design_rationale.md
0500_interactive_repl_request_flow_end_to_end.md
0600_headless_sdk_and_print_mode_request_flow_end_to_end.md
0700_mcp_integration_connection_and_tool_call_flow.md
0800_external_services_sdks_storage_and_local_dependencies.md
0900_environment_variables_settings_feature_flags_and_failure_modes.md
1000_non_obvious_patterns_gotchas_and_debugging_traps.md
1100_full_codebase_file_inventory_grouped_by_directory.md
kimi
00-overview.md
01-entrypoints.md
02-state-management.md
03-query-system.md
04-tools-system.md
05-tasks-system.md
06-ui-components.md
07-bridge-remote.md
08-services.md
09-skills-plugins.md
10-commands.md
11-testing-architecture.md
12-permission-system.md
13-build-system.md
14-ink-internals.md
15-git-internals.md
16-context-compaction.md
17-vim-mode.md
18-mailbox-notifications.md
19-session-persistence.md
20-hooks-system.md
21-error-recovery.md
README.md
qwen
00-overview.md
01-entry-points.md
02-query-engine.md
03-tools-and-tasks.md
04-commands-and-skills.md
05-state-management.md
06-ink-rendering.md
07-bridge-remote.md
08-mcp-services.md
09-services-overview.md
10-multi-agent.md
11-system-prompt-constants.md
12-tool-interface.md
13-memory-system.md
14-buddy-companion.md
15-keybindings.md
16-stop-hooks.md
17-vim-mode.md
18-upstreamproxy.md
19-cost-tracking-history.md
20-contexts-styles-onboarding.md
21-hooks.md
22-screens.md
tweets-explain
claude-code-memory-analysis.md
compact
memory-system
agentic-architecture

Core Files

FilePurpose
utils/permissions/permissions.tsCore permission checking
utils/permissions/permissionSetup.tsInitialization and mode setting
utils/permissions/autoModeState.tsAuto mode state machine
utils/permissions/classifier.tsAI classification
utils/permissions/denialTracking.tsTrack and learn from denials
utils/permissions/PermissionMode.tsMode definitions
constants/tools.tsTool permission levels
types/permissions.tsTypeScript types

Permission Modes

TypeScript
Mode Transitions
Plain text

Permission Check Flow

TypeScript

Rules Engine

Rule Structure
TypeScript
Rule Sources (Priority Order)
Plain text
Rule Matching
TypeScript
Example Rules
JSON

Auto Mode (AI Classification)

Classification Flow
TypeScript
Classification Prompt
TypeScript
Auto Mode State Machine
Plain text
Auto Mode State
TypeScript

Denial Tracking & Learning

TypeScript

Permission Dialog

TypeScript

Enterprise Policy Integration

TypeScript

Tool Permission Levels

TypeScript

Permission Context

TypeScript

Key Security Principles

  1. Defense in Depth: Multiple layers (policy โ†’ rules โ†’ classification โ†’ dialog)
  2. Default Deny: Unknown = ask
  3. Transparency: Users see exactly what will happen
  4. Learning System: Tracks denials to suggest rules
  5. Enterprise Control: Centralized policy overrides local settings
  6. Audit Trail: All permission decisions logged

Debugging Permissions

Bash