Provider that wraps the claude_code SDK — the local claude CLI driven by
an Anthropic subscription / OAuth token (CLAUDE_CODE_OAUTH_TOKEN) or a
logged-in CLI. No ANTHROPIC_API_KEY is required.
Unlike the HTTP providers, the Claude Code CLI is an autonomous coding agent:
it runs its own tools (Read/Edit/Bash/…) inside :cwd and manages its own
conversation. So this provider treats Claude as a self-contained agent:
native_tool_calls: false— ex_athena does not execute tools for it; the CLI does.Request.tools(JSON function schemas) are not forwarded; use claude_code's own:allowed_tools/:permission_modeviaprovider_opts.Request.messagesare flattened to a single prompt string (the CLI owns multi-turn state; pass:resume/:continuevia opts to continue).
Requires the optional :claude_code dependency; calls guard on its presence.
Summary
Functions
Like list_models/0, but with an explicit ExAthena.Providers.ClaudeCode.ModelSource.
Functions
Like list_models/0, but with an explicit ExAthena.Providers.ClaudeCode.ModelSource.
Maps the CLI's reported models down to a sorted, de-duplicated list of model identifier strings (dropping blanks), which is what the UI dropdown needs.