Authsome runs a small HTTP daemon onDocumentation Index
Fetch the complete documentation index at: https://authsome.agentr.dev/docs/llms.txt
Use this file to discover all available pages before exploring further.
127.0.0.1:7998. The daemon coordinates browser-based flows, holds short-lived auth sessions in memory, and serves the dashboard UI. CLI commands talk to the daemon rather than driving flows themselves.
Why a daemon
Earlier versions of authsome ran every flow in-process. That made three things awkward:- Browser bridges (the local form used to collect API keys and OAuth client secrets) need a single long-running HTTP listener. Spinning one up per CLI invocation produced port conflicts.
- OAuth callbacks need to land on the same process that started the flow. A short-lived CLI exits before the user can finish authorizing.
- Multi-step UIs like the dashboard need persistent state across requests, which a one-shot CLI can’t provide.
What runs on 7998
| Route prefix | Purpose |
|---|---|
/auth/... | Browser bridges for OAuth client credentials and API-key collection. OAuth callback handlers. |
/connections/... | Read and write connection records through the AuthLayer. |
/providers/... | List, inspect, register, and remove provider definitions. |
/proxy/... | Per-request credential resolution for the local HTTP proxy started by authsome run. |
/health | Liveness and readiness probes. |
/ui/, /ui/connections, /ui/apps/... | The interactive dashboard UI. |
127.0.0.1 only. It is not reachable from other machines on the network.
Lifecycle
The CLI starts the daemon on demand. If127.0.0.1:7998 is already in use by another authsome process, the CLI reuses it. If the port is held by something else, the command fails with a clear error.
uvx authsome run shares the daemon with the rest of the CLI. The local HTTP proxy started by run calls back to the daemon’s /proxy/... routes to resolve fresh credentials on every intercepted request. This keeps decryption logic in one place and avoids handing the proxy direct vault access.
Override the daemon URL
Two environment variables control daemon discovery. Both are documented in Environment variables.| Variable | Set on | Purpose |
|---|---|---|
AUTHSOME_DAEMON_URL | Client (CLI, proxy) | Point the CLI at a daemon that runs elsewhere. When set to a non-local host, the CLI does not auto-start a local daemon. |
AUTHSOME_SERVER_BASE_URL | Daemon host | The canonical external URL the daemon advertises. Browser-facing URLs and OAuth callbacks are built from this. |
The dashboard
The daemon serves a small interactive dashboard at:- All bundled and custom providers with their connection state.
- Per-provider detail panes for OAuth and API-key connections.
- Live connection lifecycle actions (log in, log out, revoke, refresh).
Limitations in v1
- The only access control is loopback binding. There is no bearer token between the CLI/proxy and the daemon yet.
- Browser-rendered forms do not include per-session CSRF tokens yet.
- Active auth sessions live only in daemon memory. A restart loses any login that is mid-flight.
- The proxy caches resolved credentials in memory for the lifetime of
authsome run.
What’s next
Daemon trust boundary
What the loopback-only model protects against and what it doesn’t.
Hosted deployment model
Running a shared daemon on a trusted private network.
HTTP daemon API
Every route the daemon exposes.
Daemon issues
Port conflicts, restart loses session, and similar.