Skip to content

feat: add Claude Code and Codex CLI providers - #235

Closed
ashsanjay2005 wants to merge 1 commit into
interviewstreet:mainfrom
ashsanjay2005:codex/claude-codex-cli-providers
Closed

feat: add Claude Code and Codex CLI providers#235
ashsanjay2005 wants to merge 1 commit into
interviewstreet:mainfrom
ashsanjay2005:codex/claude-codex-cli-providers

Conversation

@ashsanjay2005

Copy link
Copy Markdown

Closes #204

Summary

  • Adds authenticated local CLI provider support for Claude Code and Codex.
  • Preserves the existing Ollama/Gemini provider behavior and keeps Ollama as the example default.
  • Routes CLI providers through the existing chat() contract so pipeline call sites stay unchanged.
  • Documents new environment variables and provider setup.
  • Adds smoke tests for structured-output normalization without requiring real CLI auth.

Testing

  • python -m unittest discover -s tests
  • python -m compileall -q models.py llm_utils.py prompt.py transform.py github.py tests/test_cli_provider_smoke.py
  • python -m black models.py llm_utils.py prompt.py transform.py github.py tests/test_cli_provider_smoke.py

Notes

There is overlapping upstream work in #205 for Claude/Gemini CLI support. This PR is narrower: it adds Claude Code and Codex CLI support without adding a new API dependency.

@ashsanjay2005
ashsanjay2005 marked this pull request as ready for review June 22, 2026 19:54
@sp2hari

sp2hari commented Jul 24, 2026

Copy link
Copy Markdown
Member

Thanks for this — the no-API-key angle (running on an existing Claude Code / SDK login) is a neat idea. We're standardizing on the config-driven provider layer from #298: Claude API access now lands via a providers.json block using Anthropic's OpenAI-compatible endpoint (#365), and we're not taking on subprocess/SDK-based providers at this time (extra dependencies + a separate code path outside the config model). Closing on that basis — not a reflection of the work, which was solid. Appreciate it.

@sp2hari sp2hari closed this Jul 24, 2026
pull Bot pushed a commit to BeeXD/hiring-agent that referenced this pull request Jul 24, 2026
Add an `anthropic` provider block to providers.json using Anthropic's
OpenAI-compatible endpoint (https://api.anthropic.com/v1). No new code is
needed — the config-driven OpenAICompatibleProvider (from interviewstreet#298) handles it,
the same way Gemini is wired via its OpenAI-compatible endpoint.

Registers claude-opus-4-8, claude-sonnet-5, and claude-haiku-4-5, keyed on
ANTHROPIC_API_KEY. structured_output is set to json_object (Anthropic's
OpenAI-compatible layer has limited json_schema support; the pipeline also
cleans up JSON via extract_json_from_response).

Supersedes the pre-interviewstreet#298 Claude-provider PRs that added bespoke provider
classes: interviewstreet#205, interviewstreet#224, interviewstreet#235, interviewstreet#279, interviewstreet#303, interviewstreet#330, interviewstreet#348.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

Add Claude/Gemini CLI and Anthropic Claude API as LLM backends

2 participants