{"repo":"NousResearch/hermes-agent","public_id":"30631","display_label":"CLI exit code propagation and silent failure bugs","summary":"These issues and PRs address cases where CLI commands return exit code 0 despite failures, including skills install resolution errors and integer exit statuses being dropped by the command dispatcher.","subsystem":"hermes_cli","counts":{"members":9,"open_issues":2,"open_issues_distinct":2,"open_prs":1,"closed_issues":0,"merged_prs":1,"attempt_prs":6},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":133068},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-10-05T23:00:49+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.20444444444444446},"fix_edges":[{"issue_number":30631,"pr_number":133068,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":101670,"pr_number":133068,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":118301,"pr_number":133068,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":30631,"title":"[Bug]: `hermes skills install <unresolvable>` exits 0 on resolution failure (silent failure)","url":null,"state":"open"},{"kind":"issue","number":62810,"title":"[Bug]: CLI exit-status compatibility: boolean handler success exits 1","url":null,"state":"open"},{"kind":"pr","number":30633,"title":"Fix skills install resolution exit code","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"23a68610a5","number":0},{"kind":"pr","value":"#133068","number":133068},{"kind":"pr","value":"#133068","number":133068}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":30784,"title":"fix(cli): quote .env writes, widen Gemini vision allowlist, propagate skills install exit code","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#30357","number":30357},{"kind":"pr","value":"#30724","number":30724},{"kind":"pr","value":"#30712","number":30712},{"kind":"pr","value":"#30633","number":30633}],"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":43645,"title":"fix: propagate CLI command exit codes","url":null,"state":"closed","close_reason":{"category":"wontfix_bydesign","implication":"wontfix"},"merged":false},{"kind":"pr","number":62832,"title":"fix(console): preserve integer command-handler exit statuses (#62810)","url":null,"state":"open","close_reason":{"refs":[{"kind":"pr","value":"#62844","number":62844},{"kind":"pr","value":"#43645","number":43645},{"kind":"pr","value":"#62810","number":62810}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":104432,"title":"fix(cli): treat bool handler results as success, not exit 1","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#62810","number":62810},{"kind":"pr","value":"#62826","number":62826},{"kind":"pr","value":"#103272","number":103272}],"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":106957,"title":"fix(skills): exit non-zero when skills install fails to resolve","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"23a68610a5","number":0},{"kind":"pr","value":"#133068","number":133068},{"kind":"pr","value":"#133068","number":133068}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":133068,"title":"Installing a built-in skill by name (computer-use, pdf, …) makes it available instead of always failing; failed hub installs exit non-zero (#118301, salvage #128140)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/src/store/hub-actions.blocked.test.ts","apps/desktop/src/store/hub-actions.ts","contributors/emails/[redacted:email]","hermes_cli/main_agent_cmds.py","hermes_cli/skills_hub.py","tests/hermes_cli/test_skills_failure_exit_code.py","tests/hermes_cli/test_skills_hub.py","tools/connectors/catalog.py","tools/skills_sync_bundled_ops.py","tui_gateway/methods_tools.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}