{"repo":"NousResearch/hermes-agent","public_id":"18705","display_label":"Session token: .env vs injected env var priority","summary":"These items center on how HERMES_DASHBOARD_SESSION_TOKEN is handled when both a ~/.hermes/.env file and a runtime-injected environment variable are present. The recurring concern is that load_hermes_dotenv() uses override=True, causing the .env file to overwrite injected or spawned session tokens and violate 12-factor config precedence.","subsystem":"apps/desktop","counts":{"members":13,"open_issues":2,"open_issues_distinct":2,"open_prs":0,"closed_issues":3,"merged_prs":0,"attempt_prs":8},"landed_fix":null,"resolution":{"state":"unresolved","by":null},"freshness":{"state":"never_verified","last_verified_at":null,"is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.13846153846153844},"fix_edges":[],"members":[{"kind":"issue","number":18705,"title":"[Feature]: load_hermes_dotenv() uses override=True, breaking 12-factor env precedence and creating a credential-rotation footgun","url":null,"state":"open"},{"kind":"issue","number":19201,"title":"[Feature]: load_hermes_dotenv() overrides systemd / docker / runtime-injected env vars with ~/.hermes/.env (override=True) — breaks 12-factor config precedence and creates a credential-rotation footgun","url":null,"state":"open"},{"kind":"issue","number":38575,"title":"[Bug]: Pinned HERMES_DASHBOARD_SESSION_TOKEN in .env breaks Desktop LOCAL mode into SIGTERM boot loop","url":null,"state":"closed"},{"kind":"issue","number":39349,"title":"Desktop: ~/.hermes/.env overrides HERMES_DASHBOARD_SESSION_TOKEN and breaks /api/ws","url":null,"state":"closed"},{"kind":"issue","number":40680,"title":"Desktop local mode can inherit stale dashboard token after prior remote gateway setup","url":null,"state":"closed"},{"kind":"pr","number":18734,"title":"fix(cli): respect 12-factor env precedence in load_hermes_dotenv()","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#19201","number":19201},{"kind":"pr","value":"#18705","number":18705},{"kind":"pr","value":"#19677","number":19677},{"kind":"pr","value":"#36949","number":36949}],"category":"partial_fix","implication":"needs_llm"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":19677,"title":"fix(config): respect env vars over .env file for 12-factor precedence","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#18734","number":18734},{"kind":"pr","value":"#18734","number":18734},{"kind":"pr","value":"#18734","number":18734}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":38586,"title":"fix(env): preserve desktop session token despite pinned .env value","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#39652","number":39652},{"kind":"pr","value":"#39652","number":39652},{"kind":"pr","value":"#38586","number":38586},{"kind":"pr","value":"#39652","number":39652},{"kind":"pr","value":"#39652","number":39652}],"category":"superseded_by_pr","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":38931,"title":"fix(desktop): preserve HERMES_DASHBOARD_SESSION_TOKEN from parent process","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#39652","number":39652},{"kind":"pr","value":"#38575","number":38575},{"kind":"pr","value":"#38586","number":38586}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":39354,"title":"fix(desktop): preserve spawn-injected dashboard session token over ~/.hermes/.env","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"e96fe06e4968ebaf1c2df0a2a9c9fc9fc730b6cf","number":0},{"kind":"pr","value":"#39349","number":39349}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":39543,"title":"fix(dashboard): preserve injected session token","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"72290f0809ad5dec91a657cd4f4bcd4b999a692d","number":0},{"kind":"pr","value":"#39349","number":39349}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":39652,"title":"fix(config): migrate stale HERMES_DASHBOARD_SESSION_TOKEN from .env (v30)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"e96fe06e4968ebaf1c2df0a2a9c9fc9fc730b6cf","number":0}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":83688,"title":"fix(config): respect env vars over .env file for 12-factor precedence","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"82d94d192ffd9762db7d5bfa07b4effd34d28cbe","number":0},{"kind":"commit","value":"3ed495e9eb089f348c321bc785b4ae8ce5d34c1f","number":0},{"kind":"commit","value":"721a2e2deedfec6036e7aadb10b9b2c65fca28c0","number":0},{"kind":"commit","value":"e81aeb13ac03127d7b702d0b459024122a4e75cc","number":0},{"kind":"commit","value":"7eb8457322b30b6d09f02d6e55327b9f408afec3","number":0},{"kind":"commit","value":"df087ccced860f4edb0988cf072cf7ded554378b","number":0},{"kind":"commit","value":"82d94d192ffd9762db7d5bfa07b4effd34d28cbe","number":0},{"kind":"commit","value":"82d94d192ffd9762db7d5bfa07b4effd34d28cbe","number":0},{"kind":"commit","value":"82d94d192ffd9762db7d5bfa07b4effd34d28cbe","number":0}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}