{"id":49798936,"url":"https://github.com/agentrhq/authsome","last_synced_at":"2026-06-06T10:01:12.749Z","repository":{"id":352591117,"uuid":"1212456937","full_name":"agentrhq/authsome","owner":"agentrhq","description":"Credential vault for AI agents. Log in once via Oauth2 or API Key. Every agent stays authenticated — headless, no SaaS, agents never see your credentials.","archived":false,"fork":false,"pushed_at":"2026-06-02T11:41:46.000Z","size":10667,"stargazers_count":42,"open_issues_count":11,"forks_count":7,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-02T13:08:11.017Z","etag":null,"topics":["agent-identity","agent-security","ai-agents","api-keys","authentication","claude-code","cli","credential-manager","developer-tools","headless","hermes-agent","llm","local-first","mcp","oauth2","openclaw","python","secrets-management","security-tools","vault"],"latest_commit_sha":null,"homepage":"https://authsome.ai/docs","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agentrhq.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-16T11:55:49.000Z","updated_at":"2026-06-02T11:37:15.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/agentrhq/authsome","commit_stats":null,"previous_names":["agentr-labs/authsome","manojbajaj95/authsome","agentrhq/authsome"],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/agentrhq/authsome","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentrhq%2Fauthsome","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentrhq%2Fauthsome/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentrhq%2Fauthsome/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentrhq%2Fauthsome/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agentrhq","download_url":"https://codeload.github.com/agentrhq/authsome/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentrhq%2Fauthsome/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33977371,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-06T02:00:07.033Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-identity","agent-security","ai-agents","api-keys","authentication","claude-code","cli","credential-manager","developer-tools","headless","hermes-agent","llm","local-first","mcp","oauth2","openclaw","python","secrets-management","security-tools","vault"],"created_at":"2026-05-12T13:00:30.583Z","updated_at":"2026-06-06T10:01:12.743Z","avatar_url":"https://github.com/agentrhq.png","language":"Python","funding_links":[],"categories":["AI Agent Auth","Secrets Management \u0026 Isolation","Applications","Development Tools \u0026 Utilities"],"sub_categories":["\u003ca name=\"authZ-ruby\"\u003e\u003c/a\u003eRuby","Tools"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"assets/authsome-logo-dark.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"assets/authsome-logo-light.svg\"\u003e\n    \u003cimg alt=\"Authsome\" src=\"assets/authsome-logo-light.svg\" height=\"60\"\u003e\n  \u003c/picture\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://pypi.org/project/authsome/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/v/authsome.svg\" alt=\"PyPI version\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/authsome/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/pyversions/authsome.svg\" alt=\"Python 3.13+\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://opensource.org/licenses/MIT\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"License: MIT\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/authsome/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/dm/authsome.svg\" alt=\"PyPI downloads\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/agentrhq/authsome/actions/workflows/python-test.yml\"\u003e\u003cimg src=\"https://github.com/agentrhq/authsome/actions/workflows/python-test.yml/badge.svg\" alt=\"Tests\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://codecov.io/gh/agentrhq/authsome\"\u003e\u003cimg src=\"https://codecov.io/gh/agentrhq/authsome/branch/main/graph/badge.svg\" alt=\"codecov\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://discord.gg/9YP2C9tvMp\"\u003e\u003cimg src=\"https://img.shields.io/badge/Discord-Join-5865F2?logo=discord\u0026logoColor=white\" alt=\"Discord\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eCredential broker and vault for AI Agents\u003c/b\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://authsome.ai/docs\"\u003eDocs\u003c/a\u003e ·\n  \u003ca href=\"https://authsome.ai\"\u003eWebsite\u003c/a\u003e ·\n  \u003ca href=\"https://discord.gg/9YP2C9tvMp\"\u003eDiscord\u003c/a\u003e ·\n  \u003ca href=\"https://github.com/agentrhq/authsome/issues\"\u003eIssues\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\nAn open-source credential broker that sits between your agents and the services they call. Instead of sharing credentials with every agent, log in once via OAuth2 or API keys. Authsome stores credentials securely and injects them via an HTTP proxy. You get one place to manage access, rotate keys, and see what every agent is doing.\n\nBundled providers out of the box — OAuth2 and API key. [See the full list](https://authsome.ai/docs/reference/bundled-providers).\n\n---\n\n## Demo\n\nhttps://github.com/user-attachments/assets/27f9b229-baf4-4889-be9a-378a133654dc\n\n---\n\n## Why Agents Need Authsome\n\nAgents run beyond interactive sessions. They live in CI, over SSH, in cron jobs, in background workers, and in parallel pipelines. They need API access that survives without a human in the loop.\n\nHardcoded environment tokens leak or go stale, and building auth flow logic, token storage, refresh handling, and per-provider config into every project rebuilds the same plumbing every time.\n\nAuthsome is the credential broker agents call at runtime.\n\n- **No credential sprawl.** One encrypted store. Every provider, every agent, one place.\n- **Agents never see credentials.** Auth is handled outside the agent process — no exfiltration risk, no secrets in environment variables.\n- **No browser required at runtime.** Setup can use browser PKCE, device code, or a browser bridge for secure API key entry. After that, agents run headlessly.\n\n---\n\n## How It Works\n\nThe CLI is the agent's interface: setup once, then inject fresh credentials whenever a tool runs.\n\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"assets/authsome-how-it-works-dark.svg\"\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"assets/authsome-how-it-works-light.svg\"\u003e\n  \u003cimg alt=\"Authsome Architecture\" src=\"assets/authsome-how-it-works-light.svg\" width=\"100%\"\u003e\n\u003c/picture\u003e\n\nAuthenticate once:\n\n```bash\nauthsome login github\n# This opens a browser on user's machine\n# user completes login without sharing the creds with the agent.\n```\n\nThen agents get valid credentials on demand when they try to access external services.\nAll they need to do is use `authsome run --` before the command they want to run:\n\n```bash\nauthsome run -- curl -s \"https://api.github.com/user/repos?per_page=10\"\n# runs behind an auth proxy that injects headers at request time\n# without exposing secrets in the child process environment.\n# matched automatically via provider api_url (e.g. api.openai.com)\n```\n\nCredentials are encrypted at rest and refreshed before expiry.\n\n---\n\n## Why Authsome\n\n| | authsome | Hardcoded env tokens | DIY |\n|--|:--------:|:--------------------:|:---:|\n| Automatic token refresh | ✅ | ❌ | build it |\n| OAuth2 + API keys | ✅ | ❌ | build it |\n| Runtime headless use | ✅ | ✅ | varies |\n| Built-in providers, zero config | ✅ | ❌ | ❌ |\n| Multi-account per provider | ✅ | ❌ | build it |\n| Agents never see credentials | ✅ | ❌ | build it |\n\nAuthsome gives agents one command for a valid token, without scattering long-lived secrets across every project.\n\n---\n\n## Install\n\nRequires Python 3.13+.\n\n```bash\nuv tool install authsome\n```\n\n## Self-hosting\n\nRun a persistent daemon in Docker — no Python required on the host:\n\n```bash\ndocker compose up -d\nexport AUTHSOME_BASE_URL=http://localhost:7998\n```\n\nSee the [self-hosting guide](docs/guides/self-hosting.md) for volume backup, TLS termination, and environment variable reference.\n\n## Quick Start\n\nAdd the authsome skill to your agent (claude, codex, cursor, hermes, etc.):\n\n```bash\nnpx skills add agentrhq/authsome\n```\n\nAnd try a sample task that requires access to external services:\n\n```\nStar the repo agentrhq/authsome\n```\n```\nGet my last 5 emails from gmail\n```\n```\nCheck my stripe balance\n```\n\nThe agent will use authsome to login into external services and perform the task.\n\n## Agent Integrations\n\nAuthsome ships with adapters for the most common agent frameworks and CLIs:\n\n- [Claude Code](https://authsome.ai/docs/integrations/agents/claude-code)\n- [Codex](https://authsome.ai/docs/integrations/agents/codex)\n- [Cursor](https://authsome.ai/docs/integrations/agents/cursor)\n- [OpenCode](https://authsome.ai/docs/integrations/agents/opencode)\n- [LangChain](https://authsome.ai/docs/integrations/agents/langchain)\n- [LlamaIndex](https://authsome.ai/docs/integrations/agents/llamaindex)\n- [OpenAI Agents SDK](https://authsome.ai/docs/integrations/agents/openai-agents-sdk)\n- [Anthropic SDK](https://authsome.ai/docs/integrations/agents/anthropic-sdk)\n\nFull list at [authsome.ai/docs/integrations](https://authsome.ai/docs/integrations/agents/index).\n\n## Community\n\n- **[Discord](https://discord.gg/9YP2C9tvMp)** for questions, help, and showing what you're building.\n- **[GitHub Issues](https://github.com/agentrhq/authsome/issues)** for bugs and feature requests.\n\n## Roadmap\n\nSee [authsome.ai/docs/roadmap](https://authsome.ai/docs/roadmap) for what's shipped, what's next, and what's out of scope.\n\n## Contributing\n\n- **Found a bug?** [Open an issue](https://github.com/agentrhq/authsome/issues/new?template=bug_report.md)\n- **Have an idea?** [Start a discussion](https://github.com/agentrhq/authsome/discussions/new?category=ideas)\n- **Want to contribute?** Read [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, testing, and the engineering principles we follow.\n\n## Links\n\n- **Website:** [authsome.ai](https://authsome.ai)\n- **Docs:** [authsome.ai/docs](https://authsome.ai/docs)\n- **Discord:** [discord.gg/9YP2C9tvMp](https://discord.gg/9YP2C9tvMp)\n- **Issues:** [github.com/agentrhq/authsome/issues](https://github.com/agentrhq/authsome/issues)\n\n## Star History\n\n\u003ca href=\"https://star-history.com/#agentrhq/authsome\u0026Date\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=agentrhq/authsome\u0026type=Date\u0026theme=dark\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=agentrhq/authsome\u0026type=Date\"\u003e\n    \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=agentrhq/authsome\u0026type=Date\"\u003e\n  \u003c/picture\u003e\n\u003c/a\u003e\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagentrhq%2Fauthsome","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagentrhq%2Fauthsome","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagentrhq%2Fauthsome/lists"}