{"record":{"id":"24cd839251ae7a05","repo":"headroomlabs-ai/headroom","slug":"error-vibe-not-found-in-path","errorCode":null,"errorMessage":"Error: 'vibe' not found in PATH.","messagePattern":"Error: 'vibe' not found in PATH\\.","errorType":"console","errorClass":"SystemExit","httpStatus":null,"severity":"error","filePath":"headroom/cli/wrap.py","lineNumber":6190,"sourceCode":"    \"\"\"Launch Mistral Vibe through Headroom proxy.\n\n    \\b\n    Sets VIBE_PROVIDERS to route all Mistral API calls through Headroom.\n\n    \\b\n    Examples:\n        headroom wrap vibe                         # Start proxy + vibe\n        headroom wrap vibe -- \"fix the bug\"        # Pass prompt to vibe\n        headroom wrap vibe --port 9999             # Custom proxy port\n    \"\"\"\n    if prepare_only:\n        return\n\n    vibe_bin = shutil.which(\"vibe\")\n    if not vibe_bin:\n        click.echo(\"Error: 'vibe' not found in PATH.\")\n        click.echo(\"Install Mistral Vibe: https://github.com/mistralai/mistral-vibe\")\n        raise SystemExit(1)\n\n    env, env_vars_display = _build_mistral_vibe_launch_env(\n        port, os.environ, project=_project_name_from_cwd()\n    )\n\n    _launch_tool(\n        binary=vibe_bin,\n        args=vibe_args,\n        env=env,\n        port=port,\n        no_proxy=no_proxy,\n        tool_label=\"VIBE\",\n        env_vars_display=env_vars_display,\n        learn=learn,\n        memory=memory,\n        agent_type=\"vibe\",\n        code_graph=code_graph,\n        openai_api_url=\"https://api.mistral.ai\",","sourceCodeStart":6172,"sourceCodeEnd":6208,"githubUrl":"https://github.com/headroomlabs-ai/headroom/blob/322425c43bffde1ed0b64fecf3cf5951565dd82b/headroom/cli/wrap.py#L6172-L6208","documentation":"Before wrapping Mistral Vibe, Headroom resolves the `vibe` binary with shutil.which('vibe'). If missing, it prints this error with the mistral-vibe GitHub URL and raises SystemExit(1) before building the vibe launch environment or starting the proxy. Guarded by the prepare_only early return.","triggerScenarios":"Running `headroom wrap vibe` (without --prepare-only) where the `vibe` executable is not installed or its install dir is not on PATH — e.g. cloned the repo but didn't install, or installed under a tool-specific bin dir absent from PATH.","commonSituations":"Vibe not installed; installed via npm/pip from the mistral-vibe repo but the shell wasn't reloaded; name collision where 'vibe' exists only as an alias/function not visible to shutil.which (which only finds real executables on PATH).","solutions":["Install Mistral Vibe per https://github.com/mistralai/mistral-vibe","Verify with `which vibe` in the launching shell; shell aliases are invisible to subprocess resolution — install a real executable","Add the install bin dir to PATH and open a fresh shell or `hash -r`","Use --prepare-only if you only want the proxy/config prepared without launching vibe"],"exampleFix":"# before\nheadroom wrap vibe\n# Error: 'vibe' not found in PATH.\n\n# after\n# install per github.com/mistralai/mistral-vibe, then:\nwhich vibe && headroom wrap vibe -- \"fix the bug\"","handlingStrategy":"type-guard","validationCode":"import shutil\n\nif not shutil.which(\"vibe\"):\n    raise SystemExit(\"Install Mistral Vibe first: https://github.com/mistralai/mistral-vibe\")","typeGuard":"import shutil\n\ndef vibe_available() -> bool:\n    \"\"\"True when the Mistral Vibe binary is resolvable on PATH.\"\"\"\n    return shutil.which(\"vibe\") is not None","tryCatchPattern":null,"preventionTips":["Install vibe as a real executable; shell aliases are invisible to shutil.which","Reload the shell or `hash -r` after installation","Verify `which vibe` in the same shell that runs headroom"],"tags":["path","installation","vibe","mistral","cli","headroom"],"backgroundTag":null,"analyzedSha":"322425c43bffde1ed0b64fecf3cf5951565dd82b","analyzedAt":"2026-08-15T01:03:05.481Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}