Skip to content

bug(cli): raven tui reports node too low when a newer node exists later on PATH #198

Closed

Description

@0xKT

Summary

raven tui fails with "Node version too low (found 20.20.1, need >= 22)" on
machines that DO have a recent Node installed (e.g. Homebrew node 26), while
raven agent works fine.

Root cause

find_node() in raven/cli/tui_commands.py has two defects:

  1. No minimum-version filtering: it returned the first candidate whose
    --version parsed, ignoring _MIN_NODE_VERSION. The caller then rejected
    it if < 22 without asking for the next candidate, so a too-old node in an
    earlier priority tier shadowed a valid newer one.
  2. PATH was probed via shutil.which("node"), which returns only the first
    hit. A stale < 22 node earlier on PATH (an old /usr/local/bin/node, an
    nvm/asdf shim, etc.) hid a newer node later on PATH.

raven agent needs no Node, so it was unaffected, which made this look like a
TUI/streaming problem.

Expected

find_node() returns the first node >= 22 across all PATH entries, in
priority order (RAVEN_NODE -> venv -> PATH -> private runtime); when nothing
qualifies it still reports the real version instead of "not found".

Environment

  • OS: macOS
  • Node on PATH: an older 20.x earlier, a 26.x later

Activity

  1. added a commit that references this issue on Jul 23, 2026
    1745c14
  2. added a commit that references this issue on Sep 14, 2026
    b48ce90
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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions