claude-openrouter-tool


Nameclaude-openrouter-tool JSON
Version 0.2.1 PyPI version JSON
download
home_pageNone
SummaryA tool to manage OpenRouter integration with Claude Code.
upload_time2025-08-01 02:17:45
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords openrouter claude ai llm cli
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Claude OpenRouter Tool

[![CI](https://github.com/belyak/claude-open-router-tool/actions/workflows/ci.yml/badge.svg)](https://github.com/belyak/claude-open-router-tool/actions/workflows/ci.yml)
[![PyPI version](https://badge.fury.io/py/claude-openrouter-tool.svg)](https://badge.fury.io/py/claude-openrouter-tool)
[![Python](https://img.shields.io/pypi/pyversions/claude-openrouter-tool.svg)](https://pypi.org/project/claude-openrouter-tool/)

Command-line utility for OpenRouter integration with Claude Code. Automates installation and configuration of `@musistudio/claude-code-router` npm package.

## Installation is simple:

```bash
pipx install claude-openrouter-tool
```

## Requirements

- Python 3.9+
- Node.js/npm
- OpenRouter API key

## Commands

### setup
```bash
claude-openrouter-tool setup
```
Interactive configuration wizard. Performs npm verification, package installation, API key input, model selection, and configuration file creation.

### check
```bash
claude-openrouter-tool check
```
Validates npm installation, router package status, configuration file structure, and API key functionality.

### update
```bash
claude-openrouter-tool update
```
Updates `@musistudio/claude-code-router` to latest version.

### config
```bash
claude-openrouter-tool config
```
Interactive configuration management. Supports viewing settings, editing API keys, managing models, and setting defaults.

### models
```bash
claude-openrouter-tool models [OPTIONS]
```
Fetch and display available models from OpenRouter API.

**Options:**
- `--category TEXT` - Filter models by category (e.g., programming)
- `--limit INTEGER` - Limit number of models displayed
- `--free` - Show only free models
- `--json` - Output as JSON format

**Examples:**
```bash
# List all available models
claude-openrouter-tool models

# Show only free models
claude-openrouter-tool models --free

# Filter by programming category with limit
claude-openrouter-tool models --category programming --limit 10

# JSON output for scripting
claude-openrouter-tool models --free --json
```

## Supported Models

| Model | Parameters | Application |
|-------|------------|-------------|
| `deepseek/deepseek-r1:free` | 671B | Complex reasoning (default) |
| `deepseek/deepseek-v3-0324:free` | 685B MoE | General coding |
| `qwen/qwen-2.5-coder-32b-instruct:free` | 32B | Code generation |
| Llama/Mistral variants | Various | Lightweight operations |

## Configuration

File location: `~/.claude-code-router/config.json`

```json
{
  "Providers": [{
    "name": "openrouter",
    "api_base_url": "https://openrouter.ai/api/v1/chat/completions",
    "api_key": "sk-or-...",
    "models": ["deepseek/deepseek-r1:free"]
  }],
  "Router": {
    "default": "openrouter,deepseek/deepseek-r1:free"
  }
}
```

## Usage

1. Install: `pipx install claude-openrouter-tool`
2. Obtain API key: [OpenRouter.ai](https://openrouter.ai)
3. Configure: `claude-openrouter-tool setup`
4. Verify: `claude-openrouter-tool check`

## Model Management

### Discovering Available Models

Browse all available models from OpenRouter:
```bash
# View all available models
claude-openrouter-tool models

# Find free models for development
claude-openrouter-tool models --free

# Search programming-focused models
claude-openrouter-tool models --category programming
```

### Adding Models to Configuration

Add models via the interactive configuration menu:
```bash
claude-openrouter-tool config
```

Popular model additions:
- `anthropic/claude-3-haiku:beta`
- `google/gemini-pro-1.5`
- `openai/gpt-4o-mini`

Change default model via "Set Default Model" menu option.

## Integration

Router package proxies API requests to OpenRouter. Configured models appear automatically in Claude Code interface.

## Troubleshooting

### Issues and Solutions

| Problem | Solution |
|---------|----------|
| npm not found | Install Node.js from nodejs.org, verify PATH |
| Permission denied | Use `sudo npm install -g @musistudio/claude-code-router` |
| Invalid API key | Verify `sk-or-...` format, check account credits |
| Configuration missing | Execute `claude-openrouter-tool setup` |
| Models not visible | Verify package status, restart Claude Code |

### Diagnostics

```bash
claude-openrouter-tool check
```

Reports npm status, package version, configuration validity, and API key functionality.

### References

- [OpenRouter documentation](https://openrouter.ai/docs)
- [Router repository](https://github.com/musistudio/claude-code-router)

## Alternative Commands

```bash
ortool-claude setup|check|config|update|models
```

## Development

### Technology Stack
- Python 3.9+, Click framework
- pytest with pexpect testing
- uv package management

### Environment Setup
```bash
git clone https://github.com/belyak/claude-open-router-tool.git
cd claude-open-router-tool
uv sync --extra dev
```

### Testing
```bash
uv run pytest
```

### Architecture Components
- JSON configuration management
- Automated npm package handling
- Interactive CLI with inquirer prompts
- Comprehensive validation system

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "claude-openrouter-tool",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "Andrei Beliak <andrei.beliak@yahoo.com>",
    "keywords": "openrouter, claude, ai, llm, cli",
    "author": null,
    "author_email": "Andrei Beliak <andrei.beliak@yahoo.com>",
    "download_url": "https://files.pythonhosted.org/packages/35/d7/508402b748045208d09e23de7609811c22a4556e2902e58eccf1d4d50595/claude_openrouter_tool-0.2.1.tar.gz",
    "platform": null,
    "description": "# Claude OpenRouter Tool\n\n[![CI](https://github.com/belyak/claude-open-router-tool/actions/workflows/ci.yml/badge.svg)](https://github.com/belyak/claude-open-router-tool/actions/workflows/ci.yml)\n[![PyPI version](https://badge.fury.io/py/claude-openrouter-tool.svg)](https://badge.fury.io/py/claude-openrouter-tool)\n[![Python](https://img.shields.io/pypi/pyversions/claude-openrouter-tool.svg)](https://pypi.org/project/claude-openrouter-tool/)\n\nCommand-line utility for OpenRouter integration with Claude Code. Automates installation and configuration of `@musistudio/claude-code-router` npm package.\n\n## Installation is simple:\n\n```bash\npipx install claude-openrouter-tool\n```\n\n## Requirements\n\n- Python 3.9+\n- Node.js/npm\n- OpenRouter API key\n\n## Commands\n\n### setup\n```bash\nclaude-openrouter-tool setup\n```\nInteractive configuration wizard. Performs npm verification, package installation, API key input, model selection, and configuration file creation.\n\n### check\n```bash\nclaude-openrouter-tool check\n```\nValidates npm installation, router package status, configuration file structure, and API key functionality.\n\n### update\n```bash\nclaude-openrouter-tool update\n```\nUpdates `@musistudio/claude-code-router` to latest version.\n\n### config\n```bash\nclaude-openrouter-tool config\n```\nInteractive configuration management. Supports viewing settings, editing API keys, managing models, and setting defaults.\n\n### models\n```bash\nclaude-openrouter-tool models [OPTIONS]\n```\nFetch and display available models from OpenRouter API.\n\n**Options:**\n- `--category TEXT` - Filter models by category (e.g., programming)\n- `--limit INTEGER` - Limit number of models displayed\n- `--free` - Show only free models\n- `--json` - Output as JSON format\n\n**Examples:**\n```bash\n# List all available models\nclaude-openrouter-tool models\n\n# Show only free models\nclaude-openrouter-tool models --free\n\n# Filter by programming category with limit\nclaude-openrouter-tool models --category programming --limit 10\n\n# JSON output for scripting\nclaude-openrouter-tool models --free --json\n```\n\n## Supported Models\n\n| Model | Parameters | Application |\n|-------|------------|-------------|\n| `deepseek/deepseek-r1:free` | 671B | Complex reasoning (default) |\n| `deepseek/deepseek-v3-0324:free` | 685B MoE | General coding |\n| `qwen/qwen-2.5-coder-32b-instruct:free` | 32B | Code generation |\n| Llama/Mistral variants | Various | Lightweight operations |\n\n## Configuration\n\nFile location: `~/.claude-code-router/config.json`\n\n```json\n{\n  \"Providers\": [{\n    \"name\": \"openrouter\",\n    \"api_base_url\": \"https://openrouter.ai/api/v1/chat/completions\",\n    \"api_key\": \"sk-or-...\",\n    \"models\": [\"deepseek/deepseek-r1:free\"]\n  }],\n  \"Router\": {\n    \"default\": \"openrouter,deepseek/deepseek-r1:free\"\n  }\n}\n```\n\n## Usage\n\n1. Install: `pipx install claude-openrouter-tool`\n2. Obtain API key: [OpenRouter.ai](https://openrouter.ai)\n3. Configure: `claude-openrouter-tool setup`\n4. Verify: `claude-openrouter-tool check`\n\n## Model Management\n\n### Discovering Available Models\n\nBrowse all available models from OpenRouter:\n```bash\n# View all available models\nclaude-openrouter-tool models\n\n# Find free models for development\nclaude-openrouter-tool models --free\n\n# Search programming-focused models\nclaude-openrouter-tool models --category programming\n```\n\n### Adding Models to Configuration\n\nAdd models via the interactive configuration menu:\n```bash\nclaude-openrouter-tool config\n```\n\nPopular model additions:\n- `anthropic/claude-3-haiku:beta`\n- `google/gemini-pro-1.5`\n- `openai/gpt-4o-mini`\n\nChange default model via \"Set Default Model\" menu option.\n\n## Integration\n\nRouter package proxies API requests to OpenRouter. Configured models appear automatically in Claude Code interface.\n\n## Troubleshooting\n\n### Issues and Solutions\n\n| Problem | Solution |\n|---------|----------|\n| npm not found | Install Node.js from nodejs.org, verify PATH |\n| Permission denied | Use `sudo npm install -g @musistudio/claude-code-router` |\n| Invalid API key | Verify `sk-or-...` format, check account credits |\n| Configuration missing | Execute `claude-openrouter-tool setup` |\n| Models not visible | Verify package status, restart Claude Code |\n\n### Diagnostics\n\n```bash\nclaude-openrouter-tool check\n```\n\nReports npm status, package version, configuration validity, and API key functionality.\n\n### References\n\n- [OpenRouter documentation](https://openrouter.ai/docs)\n- [Router repository](https://github.com/musistudio/claude-code-router)\n\n## Alternative Commands\n\n```bash\nortool-claude setup|check|config|update|models\n```\n\n## Development\n\n### Technology Stack\n- Python 3.9+, Click framework\n- pytest with pexpect testing\n- uv package management\n\n### Environment Setup\n```bash\ngit clone https://github.com/belyak/claude-open-router-tool.git\ncd claude-open-router-tool\nuv sync --extra dev\n```\n\n### Testing\n```bash\nuv run pytest\n```\n\n### Architecture Components\n- JSON configuration management\n- Automated npm package handling\n- Interactive CLI with inquirer prompts\n- Comprehensive validation system\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A tool to manage OpenRouter integration with Claude Code.",
    "version": "0.2.1",
    "project_urls": {
        "Documentation": "https://github.com/belyak/claude-open-router-tool#readme",
        "Homepage": "https://github.com/belyak/claude-open-router-tool",
        "Issues": "https://github.com/belyak/claude-open-router-tool/issues",
        "Repository": "https://github.com/belyak/claude-open-router-tool"
    },
    "split_keywords": [
        "openrouter",
        " claude",
        " ai",
        " llm",
        " cli"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "820081c22f4c0f9015cc1b6fabcb05759fcb1dd979c671500ff83f41ba0451f7",
                "md5": "e46ee9816e829bad9ac07d0b3da4b9aa",
                "sha256": "2cba9a79b85775112c14421041e0e0387542f02160ab64a202a40fb1d4f72618"
            },
            "downloads": -1,
            "filename": "claude_openrouter_tool-0.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e46ee9816e829bad9ac07d0b3da4b9aa",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 11453,
            "upload_time": "2025-08-01T02:17:43",
            "upload_time_iso_8601": "2025-08-01T02:17:43.583099Z",
            "url": "https://files.pythonhosted.org/packages/82/00/81c22f4c0f9015cc1b6fabcb05759fcb1dd979c671500ff83f41ba0451f7/claude_openrouter_tool-0.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "35d7508402b748045208d09e23de7609811c22a4556e2902e58eccf1d4d50595",
                "md5": "12df060384b61f9543b541756bee55e1",
                "sha256": "3d2d97da5274eab802e84bb4c6b9e0221b429d6178bba6f6320fb9995994d77a"
            },
            "downloads": -1,
            "filename": "claude_openrouter_tool-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "12df060384b61f9543b541756bee55e1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 17165,
            "upload_time": "2025-08-01T02:17:45",
            "upload_time_iso_8601": "2025-08-01T02:17:45.132190Z",
            "url": "https://files.pythonhosted.org/packages/35/d7/508402b748045208d09e23de7609811c22a4556e2902e58eccf1d4d50595/claude_openrouter_tool-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-01 02:17:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "belyak",
    "github_project": "claude-open-router-tool#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "claude-openrouter-tool"
}
        
Elapsed time: 0.96717s