INNER CODE UNIT · JavaScript
main
karanb192/claude-code-hooks · plugins/block-dangerous-commands/block-dangerous-commands.js:104
async function main() {
let input = '';
for await (const chunk of process.stdin) input += chunk;
try {
const data = JSON.parse(input);
const { tool_name, tool_input, session_id, cwd, permission_mode } = data;
if (tool_name !== 'Bash') return console.log('{}');
const cmd = tool_input?.command || '';
const result = checkCommand(cmd);
if (result.blocked) {
const p = result.pattern;
const shouldAsk = ASK[p.level] === true;
const decision = shouldAsk ? 'ask' : 'deny';
log({ level: shouldAsk ? 'ASK' : 'BLOCKED', id: p.id, priority: p.level, decision, cmd, session_id, cwd, permission_mode });
return console.log(JSON.stringify({