{"record":{"id":"2521c3b3265c46d5","repo":"NousResearch/hermes-agent","slug":"openrouter-api-key-not-in-environment-run-set-a","errorCode":null,"errorMessage":"OPENROUTER_API_KEY not in environment. Run: set -a; source ~/.hermes/.env; set +a  — then relaunch.","messagePattern":"OPENROUTER_API_KEY not in environment\\. Run: set -a; source ~/\\.hermes/\\.env; set \\+a  — then relaunch\\.","errorType":"console","errorClass":"SystemExit","httpStatus":null,"severity":"error","filePath":"evals/readtool/runner.py","lineNumber":163,"sourceCode":"    ap.add_argument(\"--model\", required=True)\n    ap.add_argument(\"--provider\", required=True)\n    ap.add_argument(\"--reps\", type=int, default=3)\n    ap.add_argument(\"--label\", required=True, help=\"e.g. baseline, feat-fifo-guard\")\n    ap.add_argument(\"--tasks\", default=\"\", help=\"comma-separated task ids (default all)\")\n    ap.add_argument(\"--timeout-mult\", type=float, default=1.0)\n    ap.add_argument(\n        \"--toolsets\",\n        default=\"file,terminal,search\",\n        help=(\n            \"Comma-separated toolsets. Use 'file' alone for the \"\n            \"discriminative arm (no terminal escape hatch — the read tool \"\n            \"must handle the hostile file itself).\"\n        ),\n    )\n    args = ap.parse_args()\n\n    if not os.environ.get(\"OPENROUTER_API_KEY\"):\n        raise SystemExit(\n            \"OPENROUTER_API_KEY not in environment. Run: set -a; \"\n            \"source ~/.hermes/.env; set +a  — then relaunch.\"\n        )\n\n    slate = (\n        [TASKS_BY_ID[t] for t in args.tasks.split(\",\") if t]\n        if args.tasks\n        else TASKS\n    )\n    slug = args.model.replace(\"/\", \"_\")\n    out_dir = EVAL_DIR / \"results\" / args.label / slug\n    out_dir.mkdir(parents=True, exist_ok=True)\n\n    for rep in range(1, args.reps + 1):\n        rep_path = out_dir / f\"rep{rep}.json\"\n        if rep_path.exists():\n            print(f\"rep{rep} exists, skipping\")\n            continue","sourceCodeStart":145,"sourceCodeEnd":181,"githubUrl":"https://github.com/NousResearch/hermes-agent/blob/c896c09c42910c584c4c7d2325b58c14713ea42c/evals/readtool/runner.py#L145-L181","documentation":"Error \"OPENROUTER_API_KEY not in environment. Run: set -a; source ~/.hermes/.env; set +a  — then relaunch.\" thrown in NousResearch/hermes-agent.","triggerScenarios":"Thrown at evals/readtool/runner.py:163 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Export OPENROUTER_API_KEY (e.g. `set -a; source ~/.hermes/.env; set +a`) and relaunch the eval."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c896c09c42910c584c4c7d2325b58c14713ea42c","analyzedAt":"2026-08-14T17:18:01.089Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}