v0.2.4
Released on 2026-05-04. Full changelog
Bug Fixes
Section titled “Bug Fixes”runok check --input-format claude-code-hook no longer blocks Claude Code on runok-side failures (#328)
Section titled “runok check --input-format claude-code-hook no longer blocks Claude Code on runok-side failures (#328)”In hook mode, the following runok-side failures now exit with code 1 instead of 2: config load errors, rule pattern parse errors, unknown-flag errors, stdin JSON parse errors, and HookInput schema mismatches. Previously, any of these would cause every Bash tool call in Claude Code to be blocked, because Claude Code treats exit 2 from a PreToolUse hook as a blocking error. Exit 1 is the documented non-blocking failure mode and lets Claude Code fall back to its normal permission flow until the underlying issue is fixed.
Direct CLI usage (runok check without --input-format claude-code-hook) is unchanged.
See runok check exit codes for details.
New Features
Section titled “New Features”Global --config / -c flag (#315)
Section titled “Global --config / -c flag (#315)”All subcommands now accept a -c / --config flag to load a specific config file instead of the default config discovery (global + project). The flag can appear before or after the subcommand name.
runok check -c readonly-gh.yml -- gh api graphqlrunok -c custom.yml exec -- npm testrunok test -c my-rules.ymlThis replaces the previous per-subcommand --config flags on runok test and runok migrate. The flag now works identically on all subcommands including check and exec.
See Global Flags for details.