claude-bedrock-setup


Nameclaude-bedrock-setup JSON
Version 0.1.0 PyPI version JSON
download
home_pagehttps://github.com/christensen143/claude-bedrock-setup
SummaryCLI tool to configure Claude Code for AWS Bedrock
upload_time2025-08-05 00:24:18
maintainerNone
docs_urlNone
authorChris Christensen
requires_python>=3.10
licenseMIT License Copyright (c) 2024 Chris Christensen Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords claude anthropic aws bedrock cli configuration setup ai llm chatbot
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # claude-bedrock-setup

[![PyPI version](https://badge.fury.io/py/claude-bedrock-setup.svg)](https://badge.fury.io/py/claude-bedrock-setup)
[![Python Versions](https://img.shields.io/pypi/pyversions/claude-bedrock-setup.svg)](https://pypi.org/project/claude-bedrock-setup/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Tests](https://github.com/christensen143/claude-bedrock-setup/actions/workflows/ci.yml/badge.svg)](https://github.com/christensen143/claude-bedrock-setup/actions/workflows/ci.yml)
[![Coverage](https://img.shields.io/badge/coverage-98%25-brightgreen.svg)](https://github.com/christensen143/claude-bedrock-setup)

A command-line tool to configure Claude Desktop to use AWS Bedrock as its AI provider. This tool simplifies the process of discovering available Claude models in your AWS account and automatically configures Claude Desktop with the appropriate settings.

## Features

- 🔐 **Automatic AWS authentication detection** - Verifies your AWS credentials before proceeding
- 🔍 **Model discovery** - Automatically lists all available Claude models in your AWS Bedrock account
- ⚙️ **Simple configuration** - Interactive setup wizard guides you through the process
- 🌍 **Multi-region support** - Works with any AWS region that supports Bedrock
- 🔒 **Secure** - Credentials are handled by AWS SDK, settings are stored locally
- 🚀 **Fast setup** - Get up and running in under 30 seconds

## Prerequisites

- Python 3.10 or higher
- AWS CLI configured with valid credentials
- AWS account with access to Amazon Bedrock
- Claude Desktop application installed

## Installation

### Via pip (recommended)

```bash
pip install claude-bedrock-setup
```

### Via pipenv

```bash
pipenv install claude-bedrock-setup
```

### From source

```bash
git clone https://github.com/christensen143/claude-bedrock-setup.git
cd claude-bedrock-setup
pip install -e .
```

## Quick Start

1. **Ensure AWS authentication is configured:**

   ```bash
   aws configure
   # or
   aws sso login --profile your-profile
   ```

2. **Run the setup wizard:**

   ```bash
   claude-bedrock-setup setup
   ```

3. **Follow the interactive prompts** to select your preferred Claude model

That's it! Claude Desktop is now configured to use AWS Bedrock.

## Usage

### Interactive Setup (Recommended)

The easiest way to configure Claude is using the interactive setup wizard:

```bash
claude-bedrock-setup setup
```

This will:

1. Verify your AWS authentication
2. List available Claude models in your account
3. Let you select your preferred model
4. Save the configuration for Claude Desktop

### Manual Configuration

If you prefer to configure specific settings manually:

```bash
claude-bedrock-setup configure --model <model-arn> --region us-west-2
```

### Check Current Configuration

To view your current configuration:

```bash
claude-bedrock-setup status
```

Example output:

```
Claude Bedrock Configuration Status
===================================

✅ AWS Authentication: Valid
   Account: 123456789012
   User: user@example.com

✅ Configuration File: .claude/settings.local.json

Current Settings:
- AWS_REGION: us-west-2
- Model: Claude 3.5 Sonnet v2
- Max Output Tokens: 4096
```

### Reset Configuration

To reset your configuration:

```bash
claude-bedrock-setup reset
```

## Configuration Details

The tool creates a `.claude/settings.local.json` file in your current directory with the following settings:

```json
{
  "CLAUDE_CODE_USE_BEDROCK": "1",
  "AWS_REGION": "us-west-2",
  "ANTHROPIC_MODEL": "arn:aws:bedrock:...",
  "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "4096",
  "MAX_THINKING_TOKENS": "1024"
}
```

The tool also automatically updates your `.gitignore` to exclude the settings file.

## AWS Authentication

claude-bedrock-setup supports all standard AWS authentication methods:

- **AWS CLI profiles**: `aws configure`
- **AWS SSO**: `aws sso login --profile your-profile`
- **Environment variables**: `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`
- **IAM roles**: When running on EC2 or with assumed roles

### Required AWS Permissions

Your AWS credentials need the following permissions:

```json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "bedrock:ListInferenceProfiles",
        "bedrock:GetInferenceProfile"
      ],
      "Resource": "*"
    }
  ]
}
```

## Troubleshooting

### "No Claude models found"

This usually means your AWS account doesn't have access to Claude models in Bedrock. To fix:

1. Log into AWS Console
2. Navigate to Amazon Bedrock
3. Go to Model Access
4. Request access to Anthropic Claude models
5. Wait for approval (usually immediate)
6. Run `claude-bedrock-setup setup` again

### "Access Denied" errors

If you're using AWS SSO or assumed roles, ensure your profile is active:

```bash
aws sso login --profile your-profile
export AWS_PROFILE=your-profile
claude-bedrock-setup setup
```

### Region-specific issues

Some AWS regions don't support Bedrock. Supported regions include:

- us-east-1 (N. Virginia)
- us-west-2 (Oregon)
- eu-west-1 (Ireland)
- ap-southeast-1 (Singapore)

Use the `--region` flag to specify a different region:

```bash
claude-bedrock-setup setup --region us-east-1
```

## Development

### Setting up for development

```bash
git clone https://github.com/christensen143/claude-bedrock-setup.git
cd claude-bedrock-setup
make install-dev
```

### Running tests

```bash
make test                 # Run tests
make test-coverage        # Run tests with coverage report
make lint                 # Run linting
make format              # Format code
make check               # Run all checks
```

### Building for distribution

```bash
make build               # Build distribution packages
make upload-test         # Upload to TestPyPI
make upload              # Upload to PyPI
```

## Contributing

Contributions are welcome! Please follow these steps:

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Make your changes
4. Run tests (`make check`)
5. Commit your changes (`git commit -m 'Add amazing feature'`)
6. Push to the branch (`git push origin feature/amazing-feature`)
7. Open a Pull Request

Please ensure:

- All tests pass
- Code coverage remains above 95%
- Code follows the project style (run `make format`)
- Commit messages are clear and descriptive

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Acknowledgments

- Built with [Click](https://click.palletsprojects.com/) for the CLI interface
- Uses [Rich](https://rich.readthedocs.io/) for beautiful terminal output
- AWS SDK ([boto3](https://boto3.amazonaws.com/)) for AWS interactions

## Support

- **Issues**: [GitHub Issues](https://github.com/christensen143/claude-bedrock-setup/issues)
- **Discussions**: [GitHub Discussions](https://github.com/christensen143/claude-bedrock-setup/discussions)
- **Security**: For security issues, please email security@nexusweblabs.com

## Changelog

See [CHANGELOG.md](CHANGELOG.md) for a detailed history of changes.

## Roadmap

- [ ] Support for multiple configuration profiles
- [ ] Configuration templates for different use cases
- [ ] Direct integration with Claude Desktop API
- [ ] Support for other AI providers
- [ ] Configuration validation and testing

---

Made with ❤️ by the Claude Setup team

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/christensen143/claude-bedrock-setup",
    "name": "claude-bedrock-setup",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "Chris Christensen <chris@nexusweblabs.com>",
    "keywords": "claude, anthropic, aws, bedrock, cli, configuration, setup, ai, llm, chatbot",
    "author": "Chris Christensen",
    "author_email": "Chris Christensen <chris@nexusweblabs.com>",
    "download_url": "https://files.pythonhosted.org/packages/80/66/7ad9a507494820d02f011d54b704886461fe180f206192235fd87f945333/claude_bedrock_setup-0.1.0.tar.gz",
    "platform": null,
    "description": "# claude-bedrock-setup\n\n[![PyPI version](https://badge.fury.io/py/claude-bedrock-setup.svg)](https://badge.fury.io/py/claude-bedrock-setup)\n[![Python Versions](https://img.shields.io/pypi/pyversions/claude-bedrock-setup.svg)](https://pypi.org/project/claude-bedrock-setup/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Tests](https://github.com/christensen143/claude-bedrock-setup/actions/workflows/ci.yml/badge.svg)](https://github.com/christensen143/claude-bedrock-setup/actions/workflows/ci.yml)\n[![Coverage](https://img.shields.io/badge/coverage-98%25-brightgreen.svg)](https://github.com/christensen143/claude-bedrock-setup)\n\nA command-line tool to configure Claude Desktop to use AWS Bedrock as its AI provider. This tool simplifies the process of discovering available Claude models in your AWS account and automatically configures Claude Desktop with the appropriate settings.\n\n## Features\n\n- \ud83d\udd10 **Automatic AWS authentication detection** - Verifies your AWS credentials before proceeding\n- \ud83d\udd0d **Model discovery** - Automatically lists all available Claude models in your AWS Bedrock account\n- \u2699\ufe0f **Simple configuration** - Interactive setup wizard guides you through the process\n- \ud83c\udf0d **Multi-region support** - Works with any AWS region that supports Bedrock\n- \ud83d\udd12 **Secure** - Credentials are handled by AWS SDK, settings are stored locally\n- \ud83d\ude80 **Fast setup** - Get up and running in under 30 seconds\n\n## Prerequisites\n\n- Python 3.10 or higher\n- AWS CLI configured with valid credentials\n- AWS account with access to Amazon Bedrock\n- Claude Desktop application installed\n\n## Installation\n\n### Via pip (recommended)\n\n```bash\npip install claude-bedrock-setup\n```\n\n### Via pipenv\n\n```bash\npipenv install claude-bedrock-setup\n```\n\n### From source\n\n```bash\ngit clone https://github.com/christensen143/claude-bedrock-setup.git\ncd claude-bedrock-setup\npip install -e .\n```\n\n## Quick Start\n\n1. **Ensure AWS authentication is configured:**\n\n   ```bash\n   aws configure\n   # or\n   aws sso login --profile your-profile\n   ```\n\n2. **Run the setup wizard:**\n\n   ```bash\n   claude-bedrock-setup setup\n   ```\n\n3. **Follow the interactive prompts** to select your preferred Claude model\n\nThat's it! Claude Desktop is now configured to use AWS Bedrock.\n\n## Usage\n\n### Interactive Setup (Recommended)\n\nThe easiest way to configure Claude is using the interactive setup wizard:\n\n```bash\nclaude-bedrock-setup setup\n```\n\nThis will:\n\n1. Verify your AWS authentication\n2. List available Claude models in your account\n3. Let you select your preferred model\n4. Save the configuration for Claude Desktop\n\n### Manual Configuration\n\nIf you prefer to configure specific settings manually:\n\n```bash\nclaude-bedrock-setup configure --model <model-arn> --region us-west-2\n```\n\n### Check Current Configuration\n\nTo view your current configuration:\n\n```bash\nclaude-bedrock-setup status\n```\n\nExample output:\n\n```\nClaude Bedrock Configuration Status\n===================================\n\n\u2705 AWS Authentication: Valid\n   Account: 123456789012\n   User: user@example.com\n\n\u2705 Configuration File: .claude/settings.local.json\n\nCurrent Settings:\n- AWS_REGION: us-west-2\n- Model: Claude 3.5 Sonnet v2\n- Max Output Tokens: 4096\n```\n\n### Reset Configuration\n\nTo reset your configuration:\n\n```bash\nclaude-bedrock-setup reset\n```\n\n## Configuration Details\n\nThe tool creates a `.claude/settings.local.json` file in your current directory with the following settings:\n\n```json\n{\n  \"CLAUDE_CODE_USE_BEDROCK\": \"1\",\n  \"AWS_REGION\": \"us-west-2\",\n  \"ANTHROPIC_MODEL\": \"arn:aws:bedrock:...\",\n  \"CLAUDE_CODE_MAX_OUTPUT_TOKENS\": \"4096\",\n  \"MAX_THINKING_TOKENS\": \"1024\"\n}\n```\n\nThe tool also automatically updates your `.gitignore` to exclude the settings file.\n\n## AWS Authentication\n\nclaude-bedrock-setup supports all standard AWS authentication methods:\n\n- **AWS CLI profiles**: `aws configure`\n- **AWS SSO**: `aws sso login --profile your-profile`\n- **Environment variables**: `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`\n- **IAM roles**: When running on EC2 or with assumed roles\n\n### Required AWS Permissions\n\nYour AWS credentials need the following permissions:\n\n```json\n{\n  \"Version\": \"2012-10-17\",\n  \"Statement\": [\n    {\n      \"Effect\": \"Allow\",\n      \"Action\": [\n        \"bedrock:ListInferenceProfiles\",\n        \"bedrock:GetInferenceProfile\"\n      ],\n      \"Resource\": \"*\"\n    }\n  ]\n}\n```\n\n## Troubleshooting\n\n### \"No Claude models found\"\n\nThis usually means your AWS account doesn't have access to Claude models in Bedrock. To fix:\n\n1. Log into AWS Console\n2. Navigate to Amazon Bedrock\n3. Go to Model Access\n4. Request access to Anthropic Claude models\n5. Wait for approval (usually immediate)\n6. Run `claude-bedrock-setup setup` again\n\n### \"Access Denied\" errors\n\nIf you're using AWS SSO or assumed roles, ensure your profile is active:\n\n```bash\naws sso login --profile your-profile\nexport AWS_PROFILE=your-profile\nclaude-bedrock-setup setup\n```\n\n### Region-specific issues\n\nSome AWS regions don't support Bedrock. Supported regions include:\n\n- us-east-1 (N. Virginia)\n- us-west-2 (Oregon)\n- eu-west-1 (Ireland)\n- ap-southeast-1 (Singapore)\n\nUse the `--region` flag to specify a different region:\n\n```bash\nclaude-bedrock-setup setup --region us-east-1\n```\n\n## Development\n\n### Setting up for development\n\n```bash\ngit clone https://github.com/christensen143/claude-bedrock-setup.git\ncd claude-bedrock-setup\nmake install-dev\n```\n\n### Running tests\n\n```bash\nmake test                 # Run tests\nmake test-coverage        # Run tests with coverage report\nmake lint                 # Run linting\nmake format              # Format code\nmake check               # Run all checks\n```\n\n### Building for distribution\n\n```bash\nmake build               # Build distribution packages\nmake upload-test         # Upload to TestPyPI\nmake upload              # Upload to PyPI\n```\n\n## Contributing\n\nContributions are welcome! Please follow these steps:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Make your changes\n4. Run tests (`make check`)\n5. Commit your changes (`git commit -m 'Add amazing feature'`)\n6. Push to the branch (`git push origin feature/amazing-feature`)\n7. Open a Pull Request\n\nPlease ensure:\n\n- All tests pass\n- Code coverage remains above 95%\n- Code follows the project style (run `make format`)\n- Commit messages are clear and descriptive\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- Built with [Click](https://click.palletsprojects.com/) for the CLI interface\n- Uses [Rich](https://rich.readthedocs.io/) for beautiful terminal output\n- AWS SDK ([boto3](https://boto3.amazonaws.com/)) for AWS interactions\n\n## Support\n\n- **Issues**: [GitHub Issues](https://github.com/christensen143/claude-bedrock-setup/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/christensen143/claude-bedrock-setup/discussions)\n- **Security**: For security issues, please email security@nexusweblabs.com\n\n## Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for a detailed history of changes.\n\n## Roadmap\n\n- [ ] Support for multiple configuration profiles\n- [ ] Configuration templates for different use cases\n- [ ] Direct integration with Claude Desktop API\n- [ ] Support for other AI providers\n- [ ] Configuration validation and testing\n\n---\n\nMade with \u2764\ufe0f by the Claude Setup team\n",
    "bugtrack_url": null,
    "license": "MIT License\n        \n        Copyright (c) 2024 Chris Christensen\n        \n        Permission is hereby granted, free of charge, to any person obtaining a copy\n        of this software and associated documentation files (the \"Software\"), to deal\n        in the Software without restriction, including without limitation the rights\n        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n        copies of the Software, and to permit persons to whom the Software is\n        furnished to do so, subject to the following conditions:\n        \n        The above copyright notice and this permission notice shall be included in all\n        copies or substantial portions of the Software.\n        \n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n        SOFTWARE.",
    "summary": "CLI tool to configure Claude Code for AWS Bedrock",
    "version": "0.1.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/christensen143/claude-bedrock-setup/issues",
        "Changelog": "https://github.com/christensen143/claude-bedrock-setup/blob/main/CHANGELOG.md",
        "Documentation": "https://github.com/christensen143/claude-bedrock-setup#readme",
        "Homepage": "https://github.com/christensen143/claude-bedrock-setup",
        "Source Code": "https://github.com/christensen143/claude-bedrock-setup"
    },
    "split_keywords": [
        "claude",
        " anthropic",
        " aws",
        " bedrock",
        " cli",
        " configuration",
        " setup",
        " ai",
        " llm",
        " chatbot"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "556b9cb3fa9d77b7da2b0891fb11ec79af40f1904dde5d74144b3156877b87da",
                "md5": "dd689fa540e226bf250be92bee1df954",
                "sha256": "e9ff7463636330d2c79d8de45cea41fca5d2bee745007f246b19634e177859bf"
            },
            "downloads": -1,
            "filename": "claude_bedrock_setup-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "dd689fa540e226bf250be92bee1df954",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 12234,
            "upload_time": "2025-08-05T00:24:16",
            "upload_time_iso_8601": "2025-08-05T00:24:16.898794Z",
            "url": "https://files.pythonhosted.org/packages/55/6b/9cb3fa9d77b7da2b0891fb11ec79af40f1904dde5d74144b3156877b87da/claude_bedrock_setup-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "80667ad9a507494820d02f011d54b704886461fe180f206192235fd87f945333",
                "md5": "72b125cbbf15426a03676ea4cfdb5b31",
                "sha256": "545584d150f889723ba0e44f704743cb11863312c2b080b08aaf851728ed2ab4"
            },
            "downloads": -1,
            "filename": "claude_bedrock_setup-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "72b125cbbf15426a03676ea4cfdb5b31",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 56021,
            "upload_time": "2025-08-05T00:24:18",
            "upload_time_iso_8601": "2025-08-05T00:24:18.314638Z",
            "url": "https://files.pythonhosted.org/packages/80/66/7ad9a507494820d02f011d54b704886461fe180f206192235fd87f945333/claude_bedrock_setup-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-05 00:24:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "christensen143",
    "github_project": "claude-bedrock-setup",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "claude-bedrock-setup"
}
        
Elapsed time: 1.81839s