Claude Code Settings Leak Thousands of Secrets to GitHub

By Kyle OrlandOriginal title: Claude Code is accidentally exposing secrets all over GitHub
72AI Score

Security firm Apiiro found that Claude Code's local settings file .claude/settings.local.json writes full commands in plaintext when users approve them with 'don't ask again,' exposing database passwords, API tokens, and root credentials in public repositories. Although Anthropic's docs say the file is added to the global .gitignore by default, the safeguard has gaps, and thousands of secrets have already leaked on GitHub.

Full Report

Claude Code is leaking sensitive information on public GitHub instances thanks to a partial oversight in the way its settings files are handled. That's the finding of AI security researchers at Apiiro, who discovered thousands of secrets, including database passwords, API tokens, and root logins, amid Claude Code settings files embedded in GitHub repositories.

The leak stems from the way Claude Code handles user approval for automated shell commands. When a user chooses the "Yes, and don't ask again" option to approve running a command, that choice gets stored as part of a rule in the local ".claude/settings.local.json" file on the user's computer. That rule is sometimes coded as a pattern, but the command itself is often written to that settings file as is, including any sensitive information that may be embedded within it.

This isn't really a significant security issue if the settings file stays on the user's local machine (assuming that machine doesn't become compromised itself, of course). And Anthropic notes in its Claude Code documentation that this particular settings file gets added to the developer's global .gitignore list, which usually prevents it from being shared publicly.