
The Claude Code settings.json options that actually change behavior
Claude Code has a settings file at .claude/settings.json . Most people never touch it. A few options change behavior significantly. defaultMode { "defaultMode" : "acceptEdits" } The default mode is "default" which asks for confirmation on file edits. "acceptEdits" accepts file changes automatically but still asks about shell commands. This is the setting that stops the "approve this edit" prompts. Allowed commands { "bash" : { "allowedCommands" : [ "npm" , "git" , "ls" , "cat" , "grep" , "node" ] } } This controls which shell commands run without asking. List the specific commands your project uses. Use ["*"] to allow everything — reasonable for personal projects, worth thinking about before committing to a team repo. Ignore patterns { "ignorePatterns" : [ "node_modules/**" , "dist/**" , ".env*" , "*.log" ] } Files Claude Code won't read or modify. This overlaps with .claudeignore but settings.json ignores apply at the tool level, before Claude even sees the file. Useful for keeping se
Continue reading on Dev.to
Opens in a new tab



