Skip to content

fix(auth): support removing all pooled credentials - #49079

Open
tt-a1i wants to merge 1 commit into
NousResearch:mainfrom
tt-a1i:codex/auth-remove-all
Open

fix(auth): support removing all pooled credentials#49079
tt-a1i wants to merge 1 commit into
NousResearch:mainfrom
tt-a1i:codex/auth-remove-all

Conversation

@tt-a1i

@tt-a1i tt-a1i commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add hermes auth remove <provider> all to remove every pooled credential for a provider
  • reuse the existing credential source cleanup/suppression path for each removed entry so env/device-code sources stay removed
  • update CLI/help text and cover exact-label/ambiguous-label all cases

Refs #49002 (adjacent auth remove all CLI gap; this does not fix the Copilot scope-validation behavior described by the main issue).

Tests

  • pytest tests/hermes_cli/test_auth_commands.py tests/agent/test_credential_pool.py -q
  • python -m hermes_cli.main auth remove --help
  • git diff --check

@alt-glitch alt-glitch added type/feature New feature or request comp/cli CLI entry point, hermes_cli/, setup wizard area/auth Authentication, OAuth, credential pools P3 Low — cosmetic, nice to have labels Jun 19, 2026
@teknium1

Copy link
Copy Markdown
Contributor

Thanks for preserving the existing removal and suppression path for each deleted entry. The current-main implementation only removes one resolved target at hermes_cli/auth_commands.py:442-477, so the command gap is real; the PR's reverse-order loop avoids index shifting and the all collision guard aligns with CredentialPool.resolve_target() precedence at agent/credential_pool.py:1707-1730.

Problems

  • Public docs remain index-only at website/docs/reference/cli-commands.md:501-514 and website/docs/user-guide/features/credential-pools.md:107-118, despite this adding a user-facing destructive command form.

Suggested changes

  • Document hermes auth remove <provider> all in both references, alongside the existing single-index form.

Automated hermes-sweeper review.

@teknium1 teknium1 added sweeper:risk-security-boundary Sweeper risk: may affect sandboxing, auth, credentials, or sensitive data sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades sweeper:blast-contained Sweeper blast radius: contained — one narrow path / opt-in / few users labels Jul 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/auth Authentication, OAuth, credential pools comp/cli CLI entry point, hermes_cli/, setup wizard P3 Low — cosmetic, nice to have sweeper:blast-contained Sweeper blast radius: contained — one narrow path / opt-in / few users sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades sweeper:risk-security-boundary Sweeper risk: may affect sandboxing, auth, credentials, or sensitive data type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants