From d07f5eadaa260efc97bc15a837084ab9ae9517a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Fri, 15 May 2026 13:12:12 +0200 Subject: [PATCH 1/2] dashboard: needs-login badge links to per-agent ui --- hive-c0re/src/dashboard.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hive-c0re/src/dashboard.rs b/hive-c0re/src/dashboard.rs index 14428a37..06e47f92 100644 --- a/hive-c0re/src/dashboard.rs +++ b/hive-c0re/src/dashboard.rs @@ -225,9 +225,11 @@ fn render_containers( let port = lifecycle::agent_web_port(name); let claude_dir = Coordinator::agent_claude_dir(name); let login_badge = if claude_has_session(&claude_dir) { - "" + String::new() } else { - " needs login" + format!( + " needs login →", + ) }; let _ = writeln!( out, From 1cbfacda20900b2a2bce6abc784e0a3f93d99a1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Fri, 15 May 2026 13:14:28 +0200 Subject: [PATCH 2/2] agent + manager: put claude-code on the harness service PATH --- nix/templates/agent-base.nix | 4 ++++ nix/templates/manager.nix | 3 +++ 2 files changed, 7 insertions(+) diff --git a/nix/templates/agent-base.nix b/nix/templates/agent-base.nix index c633925a..17262a7c 100644 --- a/nix/templates/agent-base.nix +++ b/nix/templates/agent-base.nix @@ -15,6 +15,10 @@ description = "hive-ag3nt harness"; wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; + # The harness shells out to `claude` (turn loop + login flow). systemd + # units get a minimal PATH by default, so we have to put claude-code on + # it explicitly even though it's in environment.systemPackages above. + path = [ pkgs.claude-code ]; serviceConfig = { ExecStart = "${pkgs.hyperhive}/bin/hive-ag3nt serve"; Restart = "on-failure"; diff --git a/nix/templates/manager.nix b/nix/templates/manager.nix index 7920ec46..13ad1919 100644 --- a/nix/templates/manager.nix +++ b/nix/templates/manager.nix @@ -27,6 +27,9 @@ HIVE_PORT = "8000"; HIVE_LABEL = "hm1nd"; }; + # See note in agent-base.nix — `claude` has to be on the service PATH + # explicitly for the harness to shell out to it. + path = [ pkgs.claude-code ]; serviceConfig = { ExecStart = "${pkgs.hyperhive}/bin/hive-m1nd serve"; Restart = "on-failure";