{"record":{"id":"452351bc8adfd962","repo":"usestrix/strix","slug":"the-interactive-interface-could-not-start-exc","errorCode":null,"errorMessage":"The interactive interface could not start: {exc}","messagePattern":"The interactive interface could not start: (.+?)","errorType":"exception","errorClass":"InteractiveSetupUnavailableError","httpStatus":null,"severity":"error","filePath":"strix/interface/interactive.py","lineNumber":30,"sourceCode":"\nlogger = logging.getLogger(__name__)\n\n\nclass InteractiveSetupUnavailableError(RuntimeError):\n    \"\"\"Raised when the interactive TUI cannot be launched.\"\"\"\n\n\nasync def run_tui(args: argparse.Namespace) -> None:\n    \"\"\"Run the Bubble Tea TUI.\"\"\"\n    from strix.interface.tui.runtime import (\n        GoTuiPreActivationError,\n        run_go_tui,\n    )\n\n    try:\n        await run_go_tui(args)\n    except GoTuiPreActivationError as exc:\n        raise InteractiveSetupUnavailableError(\n            f\"The interactive interface could not start: {exc}\"\n        ) from exc\n\n\n__all__ = [\n    \"InteractiveSetupUnavailableError\",\n    \"run_tui\",\n]\n","sourceCodeStart":12,"sourceCodeEnd":39,"githubUrl":"https://github.com/usestrix/strix/blob/85513391305171ecc6faffe03da4a8bda5e3febb/strix/interface/interactive.py#L12-L39","documentation":"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`.","triggerScenarios":"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).","commonSituations":"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.","solutions":["Run strix from a real interactive terminal (attach a TTY); avoid piping stdin/stdout.","Fix the terminal environment: export TERM=xterm-256color and use a modern emulator.","If no TTY is available at all, use the headless path instead: strix -n -t <target>, which skips the TUI entirely.","Read the wrapped exc text — it names the exact pre-activation failure to fix."],"exampleFix":"# before\n$ strix -t ./ < script.sh   # InteractiveSetupUnavailableError\n\n# after\n$ strix -n -t ./            # headless, no TUI required","handlingStrategy":"fallback","validationCode":"import sys, os\nif not sys.stdout.isatty() or not os.environ.get('TERM'):\n    print('no usable TTY; use headless mode: strix -n -t <target>')","typeGuard":null,"tryCatchPattern":"from strix.interface.interactive import InteractiveSetupUnavailableError\ntry:\n    await run_tui(args)\nexcept InteractiveSetupUnavailableError as exc:\n    logging.warning('TUI unavailable (%s); falling back to headless', exc)\n    args.non_interactive = True\n    await run_cli(args)  # headless path","preventionTips":["Check isatty() before launching interactive mode.","In CI/containers, default to strix -n headless runs.","Set TERM=xterm-256color in minimal SSH sessions."],"tags":["tui","terminal","environment","startup"],"backgroundTag":null,"analyzedSha":"85513391305171ecc6faffe03da4a8bda5e3febb","analyzedAt":"2026-08-15T05:03:57.275Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}