Claude Code saves that approval as a rule in .claude/settings.local.json (Claude Code docs, read 2026-11-08). A command you ran with a password typed into it becomes a rule that contains the password. Paste that file, a .env, a shell history or any config below. Nothing is uploaded: the scan is plain JavaScript on this page. News hook: a report on Hacker News (2026-11-07) says such saved approvals exposed passwords in 1,122 public GitHub files. I could not open that report (403), so that count is repeated as reported, not verified. The tool stands without it.
The examples use made-up values. Real secrets you paste stay in this tab.
Treat every flagged value as public. Revoke and reissue it at the provider. Deleting it from the file does not make it safe again.
Delete the rule, then pass secrets by environment variable or a secrets file instead of typing them into commands. Check the file is ignored:
git check-ignore -v .claude/settings.local.json
List commits that ever touched the file, in any branch:
git log --all --oneline -- .claude/settings.local.json
The Claude Code docs say it adds the file to your global git excludes the first time it writes it, so a file it created stays out of commits. A file you created by hand, copied between repos or force-added is not covered.
Known-format tokens are high confidence. Generic “password=…” matches are heuristics and skip obvious placeholders such as $VAR, <token> or ****. A clean result means these patterns found nothing, not that the text is safe.