Skip to content

Support Claude Code OAuth login (no API key needed)#103

Open
prajapatimehul wants to merge 2 commits intoKeygraphHQ:mainfrom
prajapatimehul:oauth-login-support
Open

Support Claude Code OAuth login (no API key needed)#103
prajapatimehul wants to merge 2 commits intoKeygraphHQ:mainfrom
prajapatimehul:oauth-login-support

Conversation

@prajapatimehul
Copy link

@prajapatimehul prajapatimehul commented Feb 9, 2026

Lets you run Shannon with just claude login on the host — no API key needed.

What changed

  • docker-compose.yml — mount host ~/.claude into the worker container so the Claude Code subprocess can find OAuth credentials
  • shannon — fall back to ~/.claude/.credentials.json in the auth check before erroring out
  • README.md — document claude login as the easiest auth option
  • .env.example — add claude login as option 1

Why not read-only mount?

Claude Code writes debug logs to ~/.claude/debug/. A :ro mount crashes it with EROFS: read-only file system.

Tested

Ran ./shannon start with no API key in .env, just claude login credentials on the host. Workflow started and pre-recon agent ran 150+ turns successfully.

prajapatimehul and others added 2 commits February 9, 2026 08:18
Mount ~/.claude into Docker container so the Claude Agent SDK subprocess
can resolve credentials from the host's OAuth login. Also update the CLI
auth check to accept ~/.credentials.json as a valid auth source.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@klass-723
Copy link

What about in .env.example there was
CLAUDE_CODE_OAUTH_TOKEN

I located my .claude/.credentials.json file and retrieved the OAuth token, which I set when I configured Claude Code /login on WSL.

I just added that variable to .env and commented out the API.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants