No Claude session in ~/.claude/. The harness is up and reachable on this UI, but the turn loop is paused until you log in.
░▒▓█▓▒░ {label} ░▒▓█▓▒░ hyperhive ag3nt ░▒▓█▓▒░\n▓█▓▒░ harness alive ▓█▓▒░
\n\n\n\n", + "\n\n\n\n\n░▒▓█▓▒░ {label} ░▒▓█▓▒░ hyperhive ag3nt ░▒▓█▓▒░\n{status_label}
\n{body_extra}\n\n\n", label = state.label, )) } @@ -71,5 +93,8 @@ const STYLE: &str = r#" margin-bottom: 0.5em; } .meta { color: var(--muted); font-size: 0.85em; } + .status-online { color: #66ff99; text-shadow: 0 0 6px rgba(102, 255, 153, 0.5); } + .status-needs-login { color: #ffb84d; text-shadow: 0 0 6px rgba(255, 184, 77, 0.6); } + code { background: rgba(204, 102, 255, 0.1); padding: 0.05em 0.3em; border-radius: 2px; } "#; diff --git a/hive-c0re/src/dashboard.rs b/hive-c0re/src/dashboard.rs index e42f325..14428a3 100644 --- a/hive-c0re/src/dashboard.rs +++ b/hive-c0re/src/dashboard.rs @@ -223,9 +223,15 @@ fn render_containers( ); } else if let Some(name) = container.strip_prefix(AGENT_PREFIX) { let port = lifecycle::agent_web_port(name); + let claude_dir = Coordinator::agent_claude_dir(name); + let login_badge = if claude_has_session(&claude_dir) { + "" + } else { + " needs login" + }; let _ = writeln!( out, - "