Level 10 — Permissions, Sandboxing and Safety
12 questions, drawn from a bank of 34 across 27 topics. Pass at 85%. Every wrong option carries a note explaining why it is tempting — those notes are the point of the quiz, so read them whether you pass or not.
- 1 / 12 · Choose one
Your settings deny
Bash(terraform apply *). A teammate adds aPreToolUsehook that returns"allow"for exactly that command, arguing that hooks run before the permission check. Does the command now run? - 2 / 12 · Choose one
A repository's settings deny
Bash(aws *). Your user settings allowBash(aws s3 ls). Claude proposesaws s3 ls. What happens, and which of the two rules is doing nothing? - 3 / 12 · Choose one
A pipeline runs
claude -p "…" --permission-mode dontAsk. Its settings allowBash(npm test)andRead, and putBash(git push *)inpermissions.ask. Claude proposesgit push origin main. What happens? - 4 / 12 · Choose one
Claude Code warns at startup about the allow rule
Bash(git * main). Beyond being wider than intended, what is the concrete risk? - 5 / 12 · Choose one
Your organisation is on an Enterprise plan. You clone an unfamiliar repository whose checked-in
.claude/settings.jsoncontains the block below and start Claude Code in it in a terminal with no flags. Which mode is the session in?terminal { "permissions": { "defaultMode": "auto" } } - 6 / 12 · Choose all that apply
You add
"allow": ["Bash(curl http://github.com/ *)"], intending to restrictcurlto GitHub. The docs list the variations such a pattern misses. Which of these does the rule fail to match? - 7 / 12 · Choose one
You ask Claude to fetch a vendor changelog and check for a breaking change. The result says the page does not mention one. Why is that not evidence, and what are the documented ways to get a better answer?
- 8 / 12 · Choose one
You standardise on the settings block below across a fleet of CI machines. On some of them the sandbox dependency is missing. What happens on those machines by default, and which key changes it?
terminal { "sandbox": { "enabled": true } } - 9 / 12 · Choose one
A CI job runs
claude -pon a contributor's branch. Which pairing is right: a defense the docs say is absent there, and something the repository supplies that runs anyway? - 10 / 12 · Choose one
Your session is in auto mode, and you want the classifier to treat this repository as public before it evaluates a push. You run
gh repo view, which prints the visibility. Does that output settle it? - 11 / 12 · Choose one
Claude read a staging
.envduring yesterday's session. You have since added the deny rule. Where is that value now, and what actually removes it? - 12 / 12 · Choose one
You want Claude Code to refuse to open or modify anything under a directory named
credentials/, wherever it appears in the tree and whichever tool does the modifying, notebooks included. Which deny block is built from rules Claude Code actually consults for file paths?