Skip to content

hermes setup quick wizard silently advances when MiniMax OAuth fails #19336

@amitgaur

Description

@amitgaur

Summary

In the hermes setup quick-setup wizard, choosing "MiniMax via OAuth browser login" as the model provider produces no visible output at all -- no message, no browser launch, no error -- and the wizard immediately advances to the next prompt (e.g., "Connect a messaging platform?"). A user has no way to tell that auth failed and will assume MiniMax is configured.

Notably, the same MiniMax OAuth flow invoked from hermes model does surface auth errors correctly. So the bug is in the quick-setup wizard's error handling, not the OAuth code itself.

Repro

  1. Run hermes setup.
  2. At "What LLM provider do you want to use?", choose MiniMax via OAuth browser login.
  3. Observe: the wizard prints nothing about MiniMax (no portal URL, no device code, no browser-open message, no error), and immediately prompts the next step.

In our case the underlying root cause was an OAuth 307 redirect that httpx wasn't following (filed separately as a PR with the redirect fix). But even with that fixed, the silent-failure UX is its own bug -- any future OAuth-side error (network, server, expired client, etc.) will hit the same swallowed-exception path.

Expected behavior

The wizard should surface auth errors the same way hermes model does -- print the error, and either let the user retry or clearly mark the provider as not configured before moving on. At minimum, wizard exceptions in this code path shouldn't be silently caught and discarded.

Environment

  • Hermes installed via the official curl installer
  • macOS (Darwin 25.4.0)
  • Python 3.11

Notes

  • I'm not proposing a code fix here; I haven't traced exactly where the exception is being swallowed in the quick-setup wizard, only that hermes model takes a different path and works correctly.
  • Filing as a separate issue from the OAuth redirect PR per "one logical change per PR".

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium — degraded but workaround existsarea/authAuthentication, OAuth, credential poolscomp/cliCLI entry point, hermes_cli/, setup wizardprovider/minimaxMiniMax (Anthropic transport)sweeper:implemented-on-mainSweeper: behavior already present on current maintype/bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions