Fix viewer-only installs registering as agents
Previously, any installation with the protocol handler registered would default to running as an agent. This caused admin/technician machines (viewer-only) to appear in the sessions list. Changes: - Add Config::has_agent_config() to check for explicit agent config - Only run as agent when: explicit 'agent' command, support code provided, OR agent config file exists - Viewer-only installs (protocol handler but no config) now exit silently when launched without arguments 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -221,14 +221,23 @@ fn main() -> Result<()> {
|
||||
if let Some(code) = cli.support_code {
|
||||
run_agent_mode(Some(code))
|
||||
} else {
|
||||
// No args: check if protocol handler is installed
|
||||
// If not, run install mode (user likely downloaded from web)
|
||||
// No args: check what mode to run
|
||||
if !install::is_protocol_handler_registered() {
|
||||
// Protocol handler not registered - user likely downloaded from web
|
||||
// Run installer to set up protocol handler
|
||||
info!("Protocol handler not registered, running installer");
|
||||
run_install(false)
|
||||
} else {
|
||||
// Protocol handler exists, run as agent
|
||||
} else if config::Config::has_agent_config() {
|
||||
// Protocol handler exists AND agent config exists
|
||||
// This is an agent installation - run as agent
|
||||
info!("Agent config found, running as agent");
|
||||
run_agent_mode(None)
|
||||
} else {
|
||||
// Protocol handler exists but NO agent config
|
||||
// This is a viewer-only installation - just exit silently
|
||||
// The protocol handler will launch the viewer when needed
|
||||
info!("Viewer-only installation, exiting (use 'guruconnect agent' to run as agent)");
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user