Claude Code can edit files, run shell commands, and make network requests. Before it does anything with side effects, it asks you. Each tool has possible permission rule types: Allow, Deny, and Ask.
Allow means proceed and remember this permission for the session. Deny blocks the action entirely, so nothing happens. Ask means prompt me each time this tool is used.
I'll be direct about why this matters: Claude is autonomous. Without permission gates, a misunderstood instruction could delete files or run destructive commands. The permission system is your safety layer, and you can tighten or loosen it any time with /permissions.