{"version":"2.1.312","anchor":"json-quoting-helper-with-secret-check-no-caller-seen","canonical_anchor":"json-quoting-helper-with-secret-check-no-caller-seen","heading":"Groundwork for quoting tool input safely without leaking secrets","tier":"internal","area":"Permissions","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/json-quoting-helper-with-secret-check-no-caller-seen","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312","markdown":"### Groundwork for quoting tool input safely without leaking secrets\n\nA helper that quotes a tool's input as JSON and refuses when it would expose a hidden secret is in the build, with nothing using it yet\n\n**Unclear.** Nothing is seen using this helper, so whether it affects anything a user sees is not known.\n\n**What**\n\nClaude Code now contains a helper that takes the input Claude gave a tool and tries to quote it as JSON, a common text format for structured data. A tool is one of the actions Claude can take, such as running a command or editing a file. The helper gives one of four answers:\n\n- `quoted`, when the input was quoted\n\n- `too_long`, when the input is too long to quote\n\n- `not_json`, when the input is not valid JSON\n\n- `holds_secret`, when the input holds a value that would normally be hidden and that value does not also appear in a second piece of text it is compared against\n\nNothing in Claude Code calls this helper yet.\n\n**Why**\n\nThis looks like preparation for showing a tool's input inside other text, such as a transcript, while making sure a secret like a password or key is never copied out where it was not already visible.\n\n- Area: Permissions\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}