Skip to content

[scanner] attach: --dangerous passes nonexistent --non-interactive to goose; goose session exits on unknown argument #362

Closed

Description

@hivecommons-hive

Summary

pluk attach --cli=goose --dangerous builds the command goose session --non-interactive, but the goose CLI has no --non-interactive flag on any subcommand. clap rejects it (error: unexpected argument '--non-interactive' found) and goose exits before starting, so the freshly created tmux session dies immediately.

Evidence

  • src/attach.ts:168 — goose: '--non-interactive' in DANGEROUS_FLAGS; src/attach.ts:155 — the command is goose session.
  • README.md:133 documents --non-interactive for goose.
  • block/goose crates/goose-cli/src/cli.rs (main): zero occurrences of non-interactive/non_interactive; the Session subcommand flattens Identifier, SessionOptions, ExtensionOptions, ModelOptions — none define such a flag.
  • goose's auto-approve switch is the GOOSE_MODE setting (crates/goose/src/config/base.rs get_goose_mode_strict reads env GOOSE_MODE first, then config); GooseMode::Auto is the value that skips tool-approval prompts. goose configure prints "Notice: GOOSE_MODE environment variable is set and will override the configuration here."

Expected

With --dangerous, goose should start with approvals disabled, i.e. the launched command should be GOOSE_MODE=auto goose session (env prefix on the tmux command line) rather than an unknown flag.

Proposed fix

DANGEROUS_FLAGS is a flag map appended after the command; goose needs an env-var prefix instead. Smallest additive change: let the mapping express an env prefix for goose (e.g. a parallel DANGEROUS_ENV: { goose: 'GOOSE_MODE=auto' } prepended to fullCmd, shell-quoted), keep the existing flag path for the other CLIs, update the README --dangerous row, add a cli-support-matrix / attach-orchestration test asserting the goose command starts with GOOSE_MODE=auto goose session and contains no --non-interactive, and add a changelog.d/fixed-<n>.md fragment.

Decision taken by hive: use an env-prefix mapping rather than dropping goose from --dangerous, because goose does support non-interactive approval, just not via a flag.

Found while sweeping the #360 follow-up (gemini/aider mappings); this is the remaining incorrect entry in the same table.

— hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88

Activity

  1. added
    help wantedDenotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.
    on Oct 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent/scannerCreated by Hive for agent-filed issue provenancehelp wantedDenotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.hive/claimed-by-scanner

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions