usestrix/strix · error · InteractiveSetupUnavailableError

The interactive interface could not start: {exc}

Error message

The interactive interface could not start: {exc}

What it means

Raised by run_tui (strix/interface/interactive.py:30) when the underlying Bubble Tea TUI runtime fails during pre-activation — before the interactive UI can come up — wrapping the GoTuiPreActivationError as InteractiveSetupUnavailableError. Pre-activation failures are environment problems (terminal capability, binary/runtime setup), not scan failures; the original cause is preserved via `from exc`.

Source

Thrown at strix/interface/interactive.py:30

logger = logging.getLogger(__name__)


class InteractiveSetupUnavailableError(RuntimeError):
    """Raised when the interactive TUI cannot be launched."""


async def run_tui(args: argparse.Namespace) -> None:
    """Run the Bubble Tea TUI."""
    from strix.interface.tui.runtime import (
        GoTuiPreActivationError,
        run_go_tui,
    )

    try:
        await run_go_tui(args)
    except GoTuiPreActivationError as exc:
        raise InteractiveSetupUnavailableError(
            f"The interactive interface could not start: {exc}"
        ) from exc


__all__ = [
    "InteractiveSetupUnavailableError",
    "run_tui",
]

View on GitHub (pinned to 8551339130)

Solutions

  1. Run strix from a real interactive terminal (attach a TTY); avoid piping stdin/stdout.
  2. Fix the terminal environment: export TERM=xterm-256color and use a modern emulator.
  3. If no TTY is available at all, use the headless path instead: strix -n -t <target>, which skips the TUI entirely.
  4. Read the wrapped exc text — it names the exact pre-activation failure to fix.

Example fix

# before
$ strix -t ./ < script.sh   # InteractiveSetupUnavailableError

# after
$ strix -n -t ./            # headless, no TUI required
Defensive patterns

Strategy: fallback

Validate before calling

import sys, os
if not sys.stdout.isatty() or not os.environ.get('TERM'):
    print('no usable TTY; use headless mode: strix -n -t <target>')

Try / catch

from strix.interface.interactive import InteractiveSetupUnavailableError
try:
    await run_tui(args)
except InteractiveSetupUnavailableError as exc:
    logging.warning('TUI unavailable (%s); falling back to headless', exc)
    args.non_interactive = True
    await run_cli(args)  # headless path

Prevention

When it happens

Trigger: Launching `strix` (interactive TUI mode) in a terminal that lacks the capabilities the Go TUI needs (no TTY, unsupported TERM), over a degraded SSH/pipe session, or with a broken/missing TUI runtime binary — run_go_tui raises GoTuiPreActivationError (strix/interface/tui/runtime.py:51).

Common situations: Running strix inside CI, Docker exec, or a piped shell with no TTY; TERM unset or set to something terminfo does not know; old terminal emulators without truecolor/mouse support.

Related errors


AI-assisted analysis of usestrix/strix@8551339130 (2026-08-15). Data as JSON: /api/errors/452351bc8adfd962. Report an issue: GitHub.