Where this stands
| Surface | Status | Why |
|---|---|---|
| Claude Code | Proven live | A real session signed in through the consent page on 27 September 2026 using the loopback callback. No hosted tool is yet recorded as working end to end. |
| Claude.ai, Claude Desktop, mobile, Cowork | Unproven | These use the hosted callback https://claude.ai/api/mcp/auth_callback, which is not registered with Fleet's identity provider yet, and the endpoint does not yet advertise OAuth discovery. Both are in Fleet's readiness work. |
Claude Code
Add Fleet as a remote server over HTTP. Claude Code runs its own OAuth flow on your machine and listens on a loopback port for the callback.
claude mcp add --transport http fleet https://fleet-api-fleet-api.up.railway.app/mcp claude mcp list
- Start a conversation and call a tool.
The first call answers 401, which starts sign-in. Your browser opens the Fleet consent page.
- Sign in.
Email and password, or an emailed sign-in link that returns to the same tab.
- Read the consent.
Client: Claude Code. Redirect: a loopback address on your machine, which the page names. Then your email, your organization and the scopes.
- Approve.
Claude Code stores the token for you. Sessions last 8 hours; the next 401 starts the flow again.
Claude.ai and Claude Desktop
Settings, then Connectors, then Add custom connector, paste the endpoint, and choose Connect. Claude reads the server's OAuth metadata, opens the consent page and returns to claude.ai. Until the discovery and callback work above lands, this does not complete. Nothing here is a promise of a date.
Use cases
Five prompts that exercise the read and write tools. Replace the angle-bracketed values with your own. A write tool may ask you to confirm before it runs.
Check a validation before you merge
Check the status of Fleet validation <id> and tell me which lane failed and why.
Validate the exact commit you are about to ship
Submit commit <sha> of <owner>/<repo> to Fleet for validation, wait for the receipt, and summarise what it binds.
Ask what Fleet has learned about this kind of work
Before I start, ask Fleet for lessons about "<task in one sentence>" in <owner>/<repo>.
Publish a receipt as a check on the pull request
Request publication of Fleet receipt <id> so it appears as a check on the commit.
Run a bounded job and come back later
Submit a Fleet job for <owner>/<repo>: "<task>", budget 150 cents. Give me the job id; I will check on it later.
What Fleet refuses, on purpose
- A call with no token, an expired token, or a token issued to another client id:
401. - A job, validation or receipt in another organization: not found, never a hint that it exists.
- A budget outside 1 to 2,000 cents, or one that would exceed your organization's ceiling: refused as invalid or
over_cap, nothing admitted. - A commit that changes its own verification policy:
policy_changed. - A repository that is not connected to your organization: refused; Fleet never fetches on speculation.
Troubleshooting
- "Couldn't reach the MCP server" in Claude.ai
- Expected today: see Where this stands. Claude found the endpoint but could not find the authorization server from it.
- Claude Code loops on sign-in
- Check that the browser that opened is the one where you signed in, and that the consent tab was not closed before Approve. Run
claude mcp listto see the connection state. - A tool answers
validator_unavailable (ref …) - Nothing ran. Quote the ref to support.
The general list is on the documentation page.