Use an authenticated Claude Code CLI as a FastLLM provider. The adapter runs models through fastclaude and supports streaming, non-streaming calls, and client-owned tool loops.
Your application executes tool requests and supplies the results in the next call. FastLLM replays canonical history after each tool round. fastclaude continues that history in a fresh process.
Install from PyPI:
pip install fastllm_claude_codeOr install from conda:
conda install -c AnswerDotAI fastllm_claude_codeFor the latest source version:
pip install git+https://github.com/AnswerDotAI/fastllm-claude-code.gitSee the API documentation and source repository. Package listings are on PyPI and conda.
Installing the package registers the claude_code transport through FastLLM’s provider entry point. The Claude CLI must already be installed and authenticated for the current user.
Use the provider prefix in a FastLLM call:
from fastllm.acomplete import acomplete
answer = await acomplete('Answer briefly: what is 2+2?', model='claude_code/claude-sonnet-5')For a client-owned tool loop, pass standard Responses API or Chat Completions function schemas. A response containing tool calls ends the turn. Execute the requests in your application, extend the history with their results, and call again.
Calls do not return a response id or retain conversation state between processes:
first = await acomplete(messages, model='claude_code/claude-sonnet-5', tools=tools)
assert first.tool_calls and first.response_id is None
final = await acomplete(messages_with_results, model='claude_code/claude-sonnet-5', tools=tools)Set stream=True for FastLLM’s normalized async stream. Non-streaming calls collect the same stream into one Completion. The adapter never executes tool requests.