v3.10.45

ruvnet/ruflov3.10.45Jun 12, 2026by ruvnet

AI Summary

A patch release completing the hive-mind permissions fix by adding support for the `--no-auto-permissions` deny clause.

Key Highlights

  • Fixes `--dangerously-skip-permissions` and `--no-auto-permissions` CLI flag handling.
  • Adds a third deny clause to the permission skip predicate logic.
  • Adds regression tests to pin the new permission contract.

New Features

  • Hive-mind permissions deny clause support for `--no-auto-permissions`.

Full Release Notes

Patch release shipping the completion of the hive-mind permissions fix from v3.10.44's held PR.

## Fix

### #2301 — `hive-mind --dangerously-skip-permissions` now also honors `--no-auto-permissions`
Background: the arg parser converts kebab-case CLI flags to camelCase and stores only the normalized key. The original predicate in `hive-mind.ts` read only the kebab form for *both* the activation and deny halves, so:

- `--dangerously-skip-permissions` silently no-op'd (closed #2269 originally)
- `--no-auto-permissions` silently no-op'd (uncovered when validating the v3.10.44 batch)

The earlier patch (PR #2301 in JOhnsonKC201's branch) correctly fixed the activation half by accepting both kebab + camelCase keys, but the deny half still missed: the parser does NOT produce `noAutoPermissions: true` for `--no-auto-permissions` — it uses yargs-style negation and stores `autoPermissions: false`.

Net effect of the partial fix: after activation worked, `--dangerously-skip-permissions --no-auto-permissions` would have skipped permissions anyway — strictly more permissive than the pre-fix state where activation never even fired.

This release adds the third deny clause:
```ts
const skipPermissions =
  (flags['dangerously-skip-permissions'] === true || flags.dangerouslySkipPermissions === true) &&
  !(flags['no-auto-permissions'] || flags.noAutoPermissions || flags.autoPermissions === false);
```

Three new regression tests pin the contract:
- parser produces `autoPermissions: false` for `--no-auto-permissions`
- predicate denies on the parser-produced shape `{ dangerouslySkipPermissions: true, autoPermissions: false }`
- `autoPermissions: true` is NOT a deny signal (only `=== false` is)

Test suite: 9/9 pass. Closes #2269.

Co-authored: @JOhnsonKC201 (original PR), @rvrheenen (reporter who supplied the patch).

## Install / upgrade

```bash
npx ruflo@latest init        # 3.10.45
npx @claude-flow/cli@latest  # 3.10.45
```

All three packages (`@claude-flow/cli`, `claude-flow`, `ruflo`) and all three dist-tags (`latest`, `alpha`, `v3alpha`) verified at 3.10.45.

## Diff

main…v3.10.44 — PR #2301 plus the release bump.

🤖 Generated with [RuFlo](https://github.com/ruvnet/ruflo)