WorkOS's auth.md Signals Shift in Agent Auth
WorkOS released auth.md, an open protocol for AI agent registration that uses OAuth standards and plain-text discovery, reshaping how agents authenticate to services.
auth.md signals a shift in how the industry thinks about agent authentication. WorkOS released the open protocol, and the announcement lands at a moment when autonomous agents are writing code, opening pull requests, and triaging tickets across enterprise systems. The core problem is simple: most products still have no real way for an agent to register. The workaround, giving an agent a raw API key or session token, produces credentials that are unscoped, hard to audit per session, and impossible to revoke selectively. WorkOS is proposing a structured alternative, and the choice to make it an open protocol rather than a proprietary service is the part industry watchers will study most carefully. It reads like a bet on architecture over feature development.
An Open Door for Agents
The protocol centers on a small Markdown file an application publishes at a well-known location, typically https://service.com/auth.md. The file tells agents how to register with that service: which flows are supported, which scopes exist, and how credentials are issued, audited, and revoked. Because it is plain-text Markdown, the same file works as documentation for human developers and as a runtime artifact agents can read programmatically. An agent fetches the file, reads the structured sections, picks the right flow, and registers without a human filling out a form. Discovery works in two hops. The machine-readable source of truth lives at the Protected Resource Metadata endpoint, which promotes the resource and points at the Authorization Server. The Authorization Server metadata carries the agent_auth block, the structured object that tells agents which flows are supported and what the register, claim, and revocation endpoint values are. On any 401 from the API, the service should return a WWW-Authenticate header so agents can bootstrap discovery without reading documentation first.
The file tells agents how to register with that service: which flows are supported, which scopes exist, and how credentials are issued, audited, and revoked. Because it is plain-text Markdown, the same file works as documentation for human developers and as a runtime artifact agents can read programmatically.
Why API Keys Broke Down
For years, authentication on the web followed one design assumption: a human sits behind a browser. Click a button. Fill out a form. Verify an email. Copy an API key and paste it somewhere else. That model does not work when the user is delegating work to an agent. Agents are already active across development pipelines. They query systems and update records. But the credentials they use remain primitive. Raw API keys grant overly broad access. Session tokens lack per-session audit granularity. Selective revocation is effectively impossible. The industry default has been to extend API key infrastructure with scoping, rotation policies, and layered monitoring.
Two Paths, One File
auth.md defines two primary registration flows, and an application can support either or both. The protocol does not force a single model. It offers a choice, and the choice itself reflects a nuanced reading of how enterprises actually deploy agents today. Some organizations work closely with trusted identity providers. Others need a path that requires no provider integration at all. This flexibility is not accidental. It anticipates a fragmented landscape where different teams operate under different trust models.

Agent Verified Flow
The agent verified flow leans on identity providers like OpenAI, Anthropic, or Cursor. The agent's provider attests to the user's identity at registration time. The agent requests an audience-specific ID-JAG from its provider, then POSTs it to the application's /agent/auth endpoint. The application decodes the ID-JAG header, looks up the issuer in its trusted providers list, fetches the provider's JWKS, verifies the signature, validates claims, and returns credentials synchronously. No OTP. No email round-trip. No human interaction required. The result is a delegation record per issuer, subject, and audience that the provider can revoke at any time by POSTing a logout token to the service's revocation endpoint. One important constraint applies: access tokens issued from ID-JAG verification must not include a refresh token. The agent must present a fresh ID-JAG to extend access. Apps that already JIT-provision users from OIDC or SAML will recognize this pattern. It is the same shape with a different issuer.
User Claimed Flow
The user claimed flow requires no agent provider participation. The agent registers with the application, and the user binds the registration by reading a one-time code from an email back to the agent. This path has two starting shapes:
- In the anonymous start variant, the agent self-registers without identity and receives a credential immediately, scoped to pre-claim permissions the application defines. At any point before the registration expires, the agent runs the OTP ceremony to bind the credential to a real user and upgrade scopes. The API key is not rotated on claim. Scopes upgrade in place.
- In the email required variant, the agent supplies a user email at registration and the credential is withheld entirely until the OTP ceremony completes. Use this when any pre-claim usage is unacceptable.
The Audit Trail Question
When credentials are issued, the service needs to match the registration to an existing user or provision a new one. The recommended resolution order is telling: match on a prior delegation record for the same issuer and subject pair first, then match on a verified email, then JIT-provision a new user per the application's policy, or reject if the product requires manual onboarding. For observability, the documentation recommends recording a standard set of audit events:
- registration.created
- claim.requested
- otp.generated
- claim.confirmed
- registration.expired
- registration.revoked
For ID-JAG flows, operators should include the issuer, subject, and agent platform so they can correlate with provider-side logs. This is not a casual suggestion. It reflects an understanding that agent credentials will proliferate quickly and that security teams will demand traceability across every delegation boundary. Auditability becomes a first-class concern, not an afterthought bolted onto an API key management system.
Built on OAuth, Not a Walled Garden
Read alongside recent industry announcements, the picture clarifies. The protocol composes existing OAuth standards, specifically RFC 9728 and the ID-JAG specification, and is not tied to WorkOS infrastructure. This is the strategic signal. WorkOS could have built a proprietary agent authentication service. It chose an open protocol instead. That choice positions auth.md as infrastructure, not as a product feature. The competitive reading is straightforward: the market for agent authentication is still forming, and the first mover that establishes a standard gains architectural influence that outlasts any single product cycle. Whether this protocol gains adoption will depend on how many services publish an auth.md file at their well-known locations and how many agent platforms support the ID-JAG flow natively. But the direction of travel is clear. Agent identity is becoming a distinct category. It sits separate from user identity and separate from API key management. The protocol draws a boundary line where none existed before.
What Comes Next
The specification is open. The two flows are documented. Adoption is anticipated to involve applications choosing to host the file, agent platforms building support for the discovery path, and security teams integrating the audit events into their existing observability pipelines. The deeper shift is conceptual. Authentication is no longer just about proving a human is who they say they are. It is about proving an agent is acting on behalf of who it claims to represent, with scoped permissions, auditability, and revocation that works at the delegation level. That is a hard problem. auth.md is one proposed answer, and it arrives at a moment when the question is becoming urgent. The protocol will succeed or fail on whether the industry treats it as infrastructure worth adopting, not on whether the specification is elegant. Elegance is table stakes. Adoption is everything.
Frequently Asked Questions
What is auth.md and what is its primary purpose?
auth.md is an open protocol released by WorkOS, embodied as a small Markdown file published at a well-known location. Its primary purpose is to tell autonomous agents how to register with a service, outlining supported flows, available scopes, and methods for credential issuance, auditing, and revocation. This file serves as both human documentation and a machine-readable runtime artifact.
Why are traditional API keys and session tokens inadequate for agent authentication, leading to the development of auth.md?
Traditional API keys and session tokens produce credentials that are unscoped, difficult to audit per session, and impossible to revoke selectively. These methods were designed to identify a developer's script or a human behind a browser, not to mediate trust in a delegation relationship between a human, an agent, and a service. This structural gap makes them inadequate for the growing use of autonomous agents.
How does an agent discover and use an auth.md file to register with a service?
An agent discovers an auth.md file by fetching it from a well-known location, typically https://service.com/auth.md. The agent then reads the structured sections of the plain-text Markdown file, selects the appropriate registration flow, and proceeds to register programmatically without human intervention. Discovery can also be bootstrapped via a WWW-Authenticate header on a 401 API response.
What are the two primary registration flows defined by the auth.md protocol?
The auth.md protocol defines two primary registration flows: the Agent Verified Flow and the User Claimed Flow. The Agent Verified Flow relies on identity providers for user identity attestation, where the agent POSTs an ID-JAG to the application. In contrast, the User Claimed Flow requires no agent provider participation, with the user binding the registration by providing a one-time code from an email to the agent.
What is the strategic significance of WorkOS releasing auth.md as an open protocol rather than a proprietary service?
WorkOS chose to release auth.md as an open protocol, composing existing OAuth standards, rather than a proprietary service to position it as infrastructure. This strategic decision aims to establish a standard in the nascent market for agent authentication, gaining architectural influence that will likely outlast any single product cycle. It signals a bet on architecture over feature development, defining agent identity as a distinct category.
๐ฌ Comments (0)
No comments yet. Be the first!












