hermes-agent/hermes_cli
Teknium 437feabb74
fix(gateway): launchd_stop uses bootout so KeepAlive doesn't respawn (#7119)
launchd_stop() previously used `launchctl kill SIGTERM` which only
signals the process. Because the plist has KeepAlive.SuccessfulExit=false,
launchd immediately respawns the gateway — making `hermes gateway stop`
a no-op that prints '✓ Service stopped' while the service keeps running.

Switch to `launchctl bootout` which unloads the service definition so
KeepAlive can't trigger. The process exits and stays stopped until
`hermes gateway start` (which already handles re-bootstrapping unloaded
jobs via error codes 3/113).

Also adds _wait_for_gateway_exit() after bootout to ensure the process
is fully gone before returning, and tolerates 'already unloaded' errors.

Fixes: .env changes not taking effect after gateway stop+restart on macOS.
The root cause was that stop didn't actually stop — the respawned process
loaded the old env before the user's restart command ran.
2026-04-10 03:45:34 -07:00
..
__init__.py
auth_commands.py
auth.py fix: remove 115 verified dead code symbols across 46 production files 2026-04-10 03:44:43 -07:00
banner.py fix: remove 115 verified dead code symbols across 46 production files 2026-04-10 03:44:43 -07:00
callbacks.py
claw.py
clipboard.py
codex_models.py
colors.py
commands.py fix: remove 115 verified dead code symbols across 46 production files 2026-04-10 03:44:43 -07:00
config.py fix: STT provider-model mismatch — whisper-1 fed to faster-whisper (#7113) 2026-04-10 03:27:30 -07:00
copilot_auth.py fix: remove 115 verified dead code symbols across 46 production files 2026-04-10 03:44:43 -07:00
cron.py
curses_ui.py
default_soul.py
doctor.py fix: update Kimi Coding User-Agent to KimiCLI/1.30.0 2026-04-10 02:37:28 -07:00
dump.py fix: remove 115 verified dead code symbols across 46 production files 2026-04-10 03:44:43 -07:00
env_loader.py
gateway.py fix(gateway): launchd_stop uses bootout so KeepAlive doesn't respawn (#7119) 2026-04-10 03:45:34 -07:00
logs.py
main.py Refresh OpenRouter model catalog 2026-04-10 02:57:39 -07:00
mcp_config.py
memory_setup.py
model_normalize.py fix: remove 115 verified dead code symbols across 46 production files 2026-04-10 03:44:43 -07:00
model_switch.py fix: remove 115 verified dead code symbols across 46 production files 2026-04-10 03:44:43 -07:00
models.py fix: remove 115 verified dead code symbols across 46 production files 2026-04-10 03:44:43 -07:00
nous_subscription.py
pairing.py
plugins_cmd.py
plugins.py
profiles.py feat: add 'hermes dump' command for copy-pasteable setup summary (#6550) 2026-04-09 04:00:41 -07:00
providers.py fix: remove 115 verified dead code symbols across 46 production files 2026-04-10 03:44:43 -07:00
runtime_provider.py fix: skip stale Nous pool entry when agent_key is expired 2026-04-09 21:48:50 -07:00
setup.py fix: remove 115 verified dead code symbols across 46 production files 2026-04-10 03:44:43 -07:00
skills_config.py fix(bluebubbles): add missing integration points and documentation (#6460) 2026-04-09 00:19:05 -07:00
skills_hub.py
skin_engine.py
status.py fix: deduplicate _is_termux() into hermes_constants.is_termux() 2026-04-09 16:24:53 -07:00
tools_config.py
uninstall.py fix(cli): add missing os and platform imports in uninstall.py (#7034) 2026-04-10 02:41:33 -07:00
webhook.py