{"name":"declare","slug":"declare","family":"setting","title":"Settings keys","noun":"settings key","description":"Shell command safety check now catches more declare\/typeset\/local flag combinations, and drops a narrower older check","description_source":"entry","described_by":{"version":"2.1.271","anchor":"shell-command-safety-check-expanded-for-declaretypesetloca"},"presence":{"first_seen":null,"removed_in":null,"in_current_build":false,"newest_mined":"2.1.319","builds":0,"mined_builds":159,"first_cited":null},"aliases":[],"entries":[{"version":"2.1.315","anchor":"shell-snapshot-handles-function-names-starting-with-or","heading":"Shell functions whose names start with - or + now survive the shell snapshot","line":"Claude Code's copy of your shell setup now handles functions whose names begin with a minus or plus sign","released_at":"2026-10-30 21:05:24","reason":"found in this entry's text"},{"version":"2.1.312","anchor":"bash-permission-parsing-checks-globs-and-assignments-after-e","heading":"Permission checks now look at what follows export and declare","line":"When checking shell commands against your permissions, Claude Code now examines the words after export- and declare-style commands","released_at":"2026-10-27 18:36:10","reason":"found in this entry's text"},{"version":"2.1.311","anchor":"bash-parser-parse-cache-and-stricter-declareexportreadonl","heading":"Stricter checks on declare, export and readonly in shell commands","line":"Claude Code checks `declare`, `export`, `readonly` and similar commands more strictly, so more of them now ask for permission","released_at":"2026-10-26 19:47:57","reason":"found in this entry's text"},{"version":"2.1.311","anchor":"inline-shell-rm-prompt-check-handles-variable-assignments","heading":"Delete-command checks now look again at commands that set variables","line":"The check on inline shell commands runs a second pass for commands starting with `export`, `declare`, `typeset`, `readonly` or `local`","released_at":"2026-10-26 19:47:57","reason":"found in this entry's text"},{"version":"2.1.309","anchor":"bash-parser-declarations-with-a-failable-expansion-are-flag","heading":"Some export and declare shell commands now ask for approval","line":"Shell declarations whose value comes from an expansion that can fail at runtime are now treated as too complex and need your approval","released_at":"2026-10-22 20:34:13","reason":"found in this entry's text"},{"version":"2.1.290","anchor":"bash-rm-safety-analysis-now-checks-declaration-prefix-vari","heading":"Some rm commands with variables set in front now ask first","line":"Claude Code now rechecks `rm` commands with variables set before a declaration, and asks you when it cannot check them all","released_at":"2026-10-05 18:12:44","reason":"found in this entry's text"},{"version":"2.1.290","anchor":"bash-analyzer-flags-declaration-commands-with-quote-scan-des","heading":"Shell command safety check notes a quoting risk in declarations","line":"Claude Code's shell command analysis now marks declaration commands where its quote tracking may go out of step","released_at":"2026-10-05 18:12:44","reason":"found in this entry's text"},{"version":"2.1.273","anchor":"shell-safety-analyzer-new-differential-detection-for-array","heading":"Shell-safety analyzer: new differential detection for array-assignment-shaped flags","line":"Shell-safety checker now flags export\/readonly commands whose flags look like an array assignment","released_at":"2026-09-15 18:06:34","reason":"found in this entry's text"},{"version":"2.1.273","anchor":"shell-static-analysis-tightened-for-declaretypesetlocal-op","heading":"Shell static-analysis tightened for declare\/typeset\/local operands","line":"Claude Code's shell command checker now catches trickier declare\/typeset\/local arguments","released_at":"2026-09-15 18:06:34","reason":"named in this entry, found in this entry's text"},{"version":"2.1.273","anchor":"bash-differential-execution-checker-gains-new-too-complex-gu","heading":"Bash differential-execution checker gains new too-complex guards for declare\/typeset\/local","line":"Bash safety checker now flags declare\/typeset\/local commands with complex operands as too complex to pre-check","released_at":"2026-09-15 18:06:34","reason":"named in this entry, found in this entry's text"}],"entries_total":12,"docs":[{"source":"api","path":"about-claude\/models\/optimizing-for-cost-and-intelligence","title":"optimizing-for-cost-and-intelligence","documented":false},{"source":"api","path":"agents-and-tools\/mcp-connector","title":"mcp-connector","documented":false},{"source":"api","path":"agents-and-tools\/tool-use\/browser-use-tool","title":"browser-use-tool","documented":false},{"source":"api","path":"agents-and-tools\/tool-use\/computer-use-tool","title":"computer-use-tool","documented":false},{"source":"api","path":"agents-and-tools\/tool-use\/define-tools","title":"define-tools","documented":false},{"source":"api","path":"agents-and-tools\/tool-use\/programmatic-tool-calling","title":"Process results programmatically","documented":false},{"source":"api","path":"agents-and-tools\/tool-use\/tool-reference","title":"tool-reference","documented":false},{"source":"api","path":"agents-and-tools\/tool-use\/troubleshooting-tool-use","title":"troubleshooting-tool-use","documented":false},{"source":"api","path":"api\/beta","title":"Beta","documented":false},{"source":"api","path":"api\/beta\/messages","title":"Messages","documented":false}],"docs_total":12,"gates":[],"related":[],"url":"https:\/\/changelogs.core-directive.com\/reference\/setting\/declare","family_url":"https:\/\/changelogs.core-directive.com\/reference\/setting.json"}