If you use Claude Code, you have probably hit this wall: the browser stores your login as a sessionKey cookie, but Claude Code wants ~/.claude/.credentials.json. Two different files, same login.
I built claudecookie.com to bridge the gap. Three tools, one place:
cookies.txt, Cookie-Editor JSON, Puppeteer format, key-value or a raw Cookie header into each other. Runs entirely in your browser; the paste never leaves your device.~/.claude/.credentials.json Claude Code actually reads.
Every one of those three exists as a public JSON API. No API key, CORS is *, everything over HTTPS:
curl https://claudecookie.com/api/v1/convert \
-H "Content-Type: application/json" \
-d '{"input":"sessionKey=sk-ant-sid01-...","target":"cookie-editor"}'
curl https://claudecookie.com/api/v1/check \
-H "Content-Type: application/json" \
-d '{"cookie":"sessionKey=sk-ant-sid01-..."}'
curl https://claudecookie.com/api/v1/credential \
-H "Content-Type: application/json" \
-d '{"cookie":"sessionKey=sk-ant-sid01-..."}'
Batch check accepts up to 10 cookies in one request ({"cookies": ["...", "..."]}).
| Route | Budget |
|---|---|
All /api/v1/* |
10 req/s per IP (burst 20) |
POST /convert |
60/min per IP |
POST /check |
20/min per IP |
POST /credential |
5/min and 20/hour per IP; 3/hour per sessionKey |
A 429 response carries a Retry-After header in seconds.
examples/curl.sh, examples/check.py, examples/convert.mjs)
It does not log you out, and it does not rotate your cookie on purpose. Treat a live session cookie like a password: only paste a session you control.
The site also has Russian and Chinese versions. Not made by or endorsed by Anthropic.
If you end up using the API, tell me what is missing. The whole point of publishing it with no keys is that agents and scripts can just call it.