Skip to main content

LLM plugin for Claude Code SDK integration

Project description

llm-claude-code

PyPI Changelog Tests License

LLM plugin for Claude Code SDK integration

Overview

llm-claude-code is a plugin for Simon Willison's LLM tool that enables you to use Claude Code through the LLM command-line interface. This plugin leverages the Claude Code CLI to provide AI assistance with coding tasks.

Prerequisites

Before using this plugin, ensure you have:

  • Claude Code CLI installed: Install with npm install -g @anthropic-ai/claude-code
  • Node.js: Required for Claude Code CLI
  • Anthropic API Key configured: Set up through environment variables or Claude Code settings
  • Python 3.10 or higher

To install Claude Code, visit the official documentation.

Installation

Install this plugin in the same environment as LLM:

llm install llm-claude-code

Usage

Basic Usage

Use the claude-code model with the LLM command:

# Basic usage
llm -m claude-code "Write a Python function to calculate fibonacci numbers"

# Using the alias 'cc'
llm -m cc "Create a hello world script"

Features

  • Streaming Support: Real-time output display during generation
  • Color-coded Output: Different message types are displayed with distinct colors:
    • Tool messages: Blue
    • Error messages: Red
    • Success messages: Green
    • Regular messages: Default color
  • Error Handling: Comprehensive error reporting for CLI issues

Model Aliases

The plugin provides the following model identifiers:

  • Primary: claude-code
  • Alias: cc

Tool Usage

The initial implementation disables tool usage (--no-tools flag) to focus on text generation. Future versions may include configurable tool support.

Error Handling

The plugin includes comprehensive error handling for common issues:

  • CLINotFoundError: Raised when Claude Code CLI is not installed or not found in PATH
  • CLIConnectionError: Raised when there are connection issues with the Claude Code service
  • ProcessError: Raised when there are errors during command execution

Troubleshooting

SDK Import Errors

If you encounter import errors with the Claude Code SDK:

  1. Ensure you have Python 3.10 or higher
  2. Install the plugin with llm install llm-claude-code
  3. Verify that claude-code-sdk is properly installed

Connection Issues

If you experience connection timeouts:

  1. Check your internet connection
  2. Verify your Anthropic API key is valid
  3. Ensure you're not hitting rate limits

Development

To set up this plugin locally, first checkout the code:

cd llm-claude-code

Then create a new virtual environment and install the dependencies and test dependencies:

uv sync --extra test --extra dev

To run the tests:

uv run pytest

Future Enhancements

The plugin is designed with extensibility in mind. Planned future features include:

  • Tool Usage Configuration: Enable specific tools via command-line options
  • Advanced Options: Custom system prompts, max turns, working directory settings
  • Session Management: Conversation continuity and state preservation

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llm_claude_code-0.0.2.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llm_claude_code-0.0.2-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file llm_claude_code-0.0.2.tar.gz.

File metadata

  • Download URL: llm_claude_code-0.0.2.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for llm_claude_code-0.0.2.tar.gz
Algorithm Hash digest
SHA256 05f8c39d59870ddc757b0fa07c9969b20c8fdf0d7c59a226c860c9ddf25e801a
MD5 7e48249b8c0058b19f742b341d4863cd
BLAKE2b-256 785ffae6c1a26f7c54edfb29fdad34d3aee998f89ee1dda51448b8fd0b3f43eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_claude_code-0.0.2.tar.gz:

Publisher: publish.yml on ftnext/llm-claude-code

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_claude_code-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for llm_claude_code-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 765eb642aeccf9ad1e6f260deb1b98cde84035389c250f937b1a3ea1e999bdc2
MD5 5eb98abd5e47391fc5a7c213f18ee205
BLAKE2b-256 7c79eff7ff05d34276a6932f399b9667203030d4409576e0170bef36c0633c01

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_claude_code-0.0.2-py3-none-any.whl:

Publisher: publish.yml on ftnext/llm-claude-code

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page