claude-api-desktop


Nameclaude-api-desktop JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryA modern desktop client for the Anthropic Claude API with streaming support and extended context capabilities
upload_time2025-09-05 19:25:25
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords claude anthropic ai chatbot api-client desktop-application streaming gui artificial-intelligence machine-learning natural-language-processing llm conversation-branching
VCS
bugtrack_url
requirements requests Pillow
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Claude API Desktop

A modern, feature-rich desktop client for the Anthropic Claude API with streaming support, extended context capabilities, and an intuitive graphical interface.


![Python](https://img.shields.io/badge/python-3.8%2B-blue)

![License](https://img.shields.io/badge/license-MIT-green)

![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey)


## Features

### Core Capabilities

- **Real-time Streaming**: Stream responses as they're generated for a responsive chat experience
- **Extended Context Support**: Automatically uses beta headers for:

  - 1M context window with Claude Sonnet 4
  - 128k output tokens with Claude Sonnet 3.7

- **Multi-Model Support**: Access all Claude models including:

  - Claude Opus 4.1 & 4.0
  - Claude Sonnet 4 & 3.7
  - Claude Haiku 3.5

### User Experience

- **File Attachments**: Attach images (PNG, JPG, JPEG, GIF, WebP) and text files directly in conversations
- **System Prompts**: Configure persistent system prompts for specialized assistants
- **Export Conversations**: Save chats as Markdown or JSON for documentation and sharing
- **Token & Cost Tracking**: Real-time display of token usage and estimated API costs
- **Keyboard Shortcuts**:  Detailed below.

### Technical Features

- **Configuration Persistence**: Saves API key, model preference, and system prompt in platform-appropriate directories
- **Clean GUI**: Built with tkinter for cross-platform compatibility  
- **Threaded API Calls**: Non-blocking UI during API requests
- **Comprehensive Error Handling**: Graceful handling of connection and API errors
- **Conversation Branching**: Create alternate conversation paths and switch between them
- **SQLite Database**: Reliable local storage for conversation history in user data directories

## Installation

### Prerequisites

- Python 3.8 or higher
- pip package manager

### Install from PyPI

```bash
   pip install claude-api-desktop
```
### Install from Source

1. Clone the repository:

```bash
   git clone https://github.com/anthony-maio/claude-api-desktop.git
   cd claude-api-desktop
```
2. Install using pip:

```bash
   pip install .
```
3. Run the application:

```bash
   claude-api-desktop
```
## Data Storage

The application stores all user data in platform-appropriate directories:

### Windows
- **Configuration**: `%LOCALAPPDATA%\claude-api-desktop\claude_client_config`
- **Database**: `%LOCALAPPDATA%\claude-api-desktop\conversations.db`
- **Full path**: `C:\Users\{username}\AppData\Local\claude-api-desktop\`

### macOS
- **Configuration**: `~/Library/Application Support/claude-api-desktop/claude_client_config`
- **Database**: `~/Library/Application Support/claude-api-desktop/conversations.db`

### Linux
- **Configuration**: `~/.local/share/claude-api-desktop/claude_client_config`
- **Database**: `~/.local/share/claude-api-desktop/conversations.db`

## Configuration

### API Key

1. Get your API key from `Anthropic Console <https://console.anthropic.com/>`_
2. Open Settings (⚙️ button or `Ctrl+,`)
3. Enter your API key in the API tab
4. The key is saved locally in platform-appropriate directories:
   - **Windows**: `%LOCALAPPDATA%\claude-api-desktop\claude_client_config`
   - **macOS**: `~/Library/Application Support/claude-api-desktop/claude_client_config`
   - **Linux**: `~/.local/share/claude-api-desktop/claude_client_config`

### Model Selection

Choose from the dropdown menu:

- **Claude Opus 4.1**: Most capable model for complex tasks
- **Claude Opus 4**: Previous generation Opus  
- **Claude Sonnet 4**: Balanced performance with 1M context window 
- **Claude Sonnet 3.7**: Fast with 128k output capability
- **Claude Haiku 3.5**: Fastest and cheapest

## Usage Examples

### Basic Chat

1. Enter your API key in Settings
2. Type your message
3. Press Send or `Ctrl+Enter`

### Using System Prompts *Optional*

1. Open Settings (⚙️ button)
2. Go to General tab
3. Enter instructions.

### Attaching Files *[Beta]*

1. Click the 📎 Attach button
2. Select image or text file
3. Multiple files are supported

### Conversation Branching *[Alpha]*

1. Start a conversation with Claude
2. Click 🌿 Branch button
3. Create "Alternative approach" branch
4. Continue conversation in new direction
5. Switch between branches anytime


## API Costs

**⚠️ IMPORTANT COST DISCLAIMER ⚠️**

The client displays estimated costs based on September 2025 Anthropic pricing **for reference only**. These values are:
- **NOT AUTHORITATIVE** - Always refer to your Anthropic Console for actual billing
- **ESTIMATES ONLY** - Actual costs may vary significantly
- **SUBJECT TO CHANGE** - Anthropic may update pricing at any time
- **NOT GUARANTEED ACCURATE** - Token counting is approximate

**YOU ARE SOLELY RESPONSIBLE FOR MONITORING YOUR ACTUAL API USAGE AND COSTS.** Always set spending limits in your Anthropic Console.

================= ==================== ======================
Model             Input (per 1M tokens) Output (per 1M tokens)
================= ==================== ======================
Claude Opus 4.1/4.0  $15.00              $75.00
Claude Sonnet 4/3.7   $3.00               $15.00
Claude Haiku 3.5      $0.80               $4.00
================= ==================== ======================

## Keyboard Shortcuts

**Messaging:**

* `Ctrl+Enter`: Send message
* `Escape`: Abort current request

**Conversation Management:**

* `Ctrl+N`: Start new conversation
* `Ctrl+S`: Save current conversation
* `Ctrl+H`: Open conversation history
* `Ctrl+L`: Clear current chat

**Interface:**

* `Ctrl+,`: Open Settings dialog
* `Ctrl+D`: Toggle dark/light theme
* `F1`: Show help dialog

**File Operations:**

* `Ctrl+E`: Export conversation

## License

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

## Acknowledgments

* Built with [Anthropic's Claude API](https://docs.anthropic.com/)
* GUI framework: [tkinter](https://docs.python.org/3/library/tkinter.html)
* HTTP client: [requests](https://requests.readthedocs.io/)

## Author

**Anthony Maio** (anthony.maio@gmail.com)

Passionate about AI/ML, software engineering, culture and leadership.

Follow or find me on [LinkedIn](https://www.linkedin.com/in/anthony-maio) - Open to work!
*Currently seeking opportunities in AI/ML engineering full-time US Remote*

## Privacy & Data Handling

**🔒 YOUR DATA STAYS ON YOUR DEVICE 🔒**

- **No Data Collection**: This application does NOT collect, transmit, or store any of your conversations, API keys, or personal data on external servers
- **Local Storage Only**: All data (conversations, settings, API keys) is stored locally on your device in platform-appropriate directories
- **Direct API Communication**: The app communicates directly with Anthropic's API - no intermediary servers
- **Open Source**: Full source code is available for inspection - verify our privacy claims yourself
- **No Analytics**: No usage tracking, telemetry, or analytics are collected
- **No Network Requests**: Except to Anthropic's official API endpoints for chat functionality

**Your privacy is paramount. This tool is designed to be a secure, private interface to Claude API.**

## Important Disclaimers

**⚠️ LEGAL DISCLAIMERS ⚠️**

- **Independent Project**: This software is NOT affiliated with, endorsed by, or officially connected to Anthropic in any way
- **No Warranty**: This software is provided "AS IS" without warranty of any kind, express or implied
- **User Responsibility**: You are solely responsible for your API usage, costs, and compliance with Anthropic's terms of service
- **Cost Estimates**: All cost calculations are estimates only and may be inaccurate - always monitor actual usage in your Anthropic Console
- **API Compliance**: Users must comply with all Anthropic usage policies and terms of service
- **Use at Your Own Risk**: The developers are not liable for any damages, costs, or issues arising from use of this software

## Support

Support is limited and generally submitted through Github in the issues section.
If you find this tool useful, please consider:

* Starring the repository
* Contributing improvements

---

**Note**: This is an independent project and is not affiliated with Anthropic. Always ensure you comply with Anthropic's [usage policies](https://www.anthropic.com/legal/aup) when using the API.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "claude-api-desktop",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "Anthony Maio <anthony.maio@gmail.com>",
    "keywords": "claude, anthropic, ai, chatbot, api-client, desktop-application, streaming, gui, artificial-intelligence, machine-learning, natural-language-processing, llm, conversation-branching",
    "author": null,
    "author_email": "Anthony Maio <anthony.maio@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/e2/fe/a46af265936e7e6b451a80805abb19b9ac7da65179e8a5d88bd63b42dfc0/claude_api_desktop-1.0.0.tar.gz",
    "platform": null,
    "description": "# Claude API Desktop\r\n\r\nA modern, feature-rich desktop client for the Anthropic Claude API with streaming support, extended context capabilities, and an intuitive graphical interface.\r\n\r\n\r\n![Python](https://img.shields.io/badge/python-3.8%2B-blue)\r\n\r\n![License](https://img.shields.io/badge/license-MIT-green)\r\n\r\n![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey)\r\n\r\n\r\n## Features\r\n\r\n### Core Capabilities\r\n\r\n- **Real-time Streaming**: Stream responses as they're generated for a responsive chat experience\r\n- **Extended Context Support**: Automatically uses beta headers for:\r\n\r\n  - 1M context window with Claude Sonnet 4\r\n  - 128k output tokens with Claude Sonnet 3.7\r\n\r\n- **Multi-Model Support**: Access all Claude models including:\r\n\r\n  - Claude Opus 4.1 & 4.0\r\n  - Claude Sonnet 4 & 3.7\r\n  - Claude Haiku 3.5\r\n\r\n### User Experience\r\n\r\n- **File Attachments**: Attach images (PNG, JPG, JPEG, GIF, WebP) and text files directly in conversations\r\n- **System Prompts**: Configure persistent system prompts for specialized assistants\r\n- **Export Conversations**: Save chats as Markdown or JSON for documentation and sharing\r\n- **Token & Cost Tracking**: Real-time display of token usage and estimated API costs\r\n- **Keyboard Shortcuts**:  Detailed below.\r\n\r\n### Technical Features\r\n\r\n- **Configuration Persistence**: Saves API key, model preference, and system prompt in platform-appropriate directories\r\n- **Clean GUI**: Built with tkinter for cross-platform compatibility  \r\n- **Threaded API Calls**: Non-blocking UI during API requests\r\n- **Comprehensive Error Handling**: Graceful handling of connection and API errors\r\n- **Conversation Branching**: Create alternate conversation paths and switch between them\r\n- **SQLite Database**: Reliable local storage for conversation history in user data directories\r\n\r\n## Installation\r\n\r\n### Prerequisites\r\n\r\n- Python 3.8 or higher\r\n- pip package manager\r\n\r\n### Install from PyPI\r\n\r\n```bash\r\n   pip install claude-api-desktop\r\n```\r\n### Install from Source\r\n\r\n1. Clone the repository:\r\n\r\n```bash\r\n   git clone https://github.com/anthony-maio/claude-api-desktop.git\r\n   cd claude-api-desktop\r\n```\r\n2. Install using pip:\r\n\r\n```bash\r\n   pip install .\r\n```\r\n3. Run the application:\r\n\r\n```bash\r\n   claude-api-desktop\r\n```\r\n## Data Storage\r\n\r\nThe application stores all user data in platform-appropriate directories:\r\n\r\n### Windows\r\n- **Configuration**: `%LOCALAPPDATA%\\claude-api-desktop\\claude_client_config`\r\n- **Database**: `%LOCALAPPDATA%\\claude-api-desktop\\conversations.db`\r\n- **Full path**: `C:\\Users\\{username}\\AppData\\Local\\claude-api-desktop\\`\r\n\r\n### macOS\r\n- **Configuration**: `~/Library/Application Support/claude-api-desktop/claude_client_config`\r\n- **Database**: `~/Library/Application Support/claude-api-desktop/conversations.db`\r\n\r\n### Linux\r\n- **Configuration**: `~/.local/share/claude-api-desktop/claude_client_config`\r\n- **Database**: `~/.local/share/claude-api-desktop/conversations.db`\r\n\r\n## Configuration\r\n\r\n### API Key\r\n\r\n1. Get your API key from `Anthropic Console <https://console.anthropic.com/>`_\r\n2. Open Settings (\u2699\ufe0f button or `Ctrl+,`)\r\n3. Enter your API key in the API tab\r\n4. The key is saved locally in platform-appropriate directories:\r\n   - **Windows**: `%LOCALAPPDATA%\\claude-api-desktop\\claude_client_config`\r\n   - **macOS**: `~/Library/Application Support/claude-api-desktop/claude_client_config`\r\n   - **Linux**: `~/.local/share/claude-api-desktop/claude_client_config`\r\n\r\n### Model Selection\r\n\r\nChoose from the dropdown menu:\r\n\r\n- **Claude Opus 4.1**: Most capable model for complex tasks\r\n- **Claude Opus 4**: Previous generation Opus  \r\n- **Claude Sonnet 4**: Balanced performance with 1M context window \r\n- **Claude Sonnet 3.7**: Fast with 128k output capability\r\n- **Claude Haiku 3.5**: Fastest and cheapest\r\n\r\n## Usage Examples\r\n\r\n### Basic Chat\r\n\r\n1. Enter your API key in Settings\r\n2. Type your message\r\n3. Press Send or `Ctrl+Enter`\r\n\r\n### Using System Prompts *Optional*\r\n\r\n1. Open Settings (\u2699\ufe0f button)\r\n2. Go to General tab\r\n3. Enter instructions.\r\n\r\n### Attaching Files *[Beta]*\r\n\r\n1. Click the \ud83d\udcce Attach button\r\n2. Select image or text file\r\n3. Multiple files are supported\r\n\r\n### Conversation Branching *[Alpha]*\r\n\r\n1. Start a conversation with Claude\r\n2. Click \ud83c\udf3f Branch button\r\n3. Create \"Alternative approach\" branch\r\n4. Continue conversation in new direction\r\n5. Switch between branches anytime\r\n\r\n\r\n## API Costs\r\n\r\n**\u26a0\ufe0f IMPORTANT COST DISCLAIMER \u26a0\ufe0f**\r\n\r\nThe client displays estimated costs based on September 2025 Anthropic pricing **for reference only**. These values are:\r\n- **NOT AUTHORITATIVE** - Always refer to your Anthropic Console for actual billing\r\n- **ESTIMATES ONLY** - Actual costs may vary significantly\r\n- **SUBJECT TO CHANGE** - Anthropic may update pricing at any time\r\n- **NOT GUARANTEED ACCURATE** - Token counting is approximate\r\n\r\n**YOU ARE SOLELY RESPONSIBLE FOR MONITORING YOUR ACTUAL API USAGE AND COSTS.** Always set spending limits in your Anthropic Console.\r\n\r\n================= ==================== ======================\r\nModel             Input (per 1M tokens) Output (per 1M tokens)\r\n================= ==================== ======================\r\nClaude Opus 4.1/4.0  $15.00              $75.00\r\nClaude Sonnet 4/3.7   $3.00               $15.00\r\nClaude Haiku 3.5      $0.80               $4.00\r\n================= ==================== ======================\r\n\r\n## Keyboard Shortcuts\r\n\r\n**Messaging:**\r\n\r\n* `Ctrl+Enter`: Send message\r\n* `Escape`: Abort current request\r\n\r\n**Conversation Management:**\r\n\r\n* `Ctrl+N`: Start new conversation\r\n* `Ctrl+S`: Save current conversation\r\n* `Ctrl+H`: Open conversation history\r\n* `Ctrl+L`: Clear current chat\r\n\r\n**Interface:**\r\n\r\n* `Ctrl+,`: Open Settings dialog\r\n* `Ctrl+D`: Toggle dark/light theme\r\n* `F1`: Show help dialog\r\n\r\n**File Operations:**\r\n\r\n* `Ctrl+E`: Export conversation\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## Acknowledgments\r\n\r\n* Built with [Anthropic's Claude API](https://docs.anthropic.com/)\r\n* GUI framework: [tkinter](https://docs.python.org/3/library/tkinter.html)\r\n* HTTP client: [requests](https://requests.readthedocs.io/)\r\n\r\n## Author\r\n\r\n**Anthony Maio** (anthony.maio@gmail.com)\r\n\r\nPassionate about AI/ML, software engineering, culture and leadership.\r\n\r\nFollow or find me on [LinkedIn](https://www.linkedin.com/in/anthony-maio) - Open to work!\r\n*Currently seeking opportunities in AI/ML engineering full-time US Remote*\r\n\r\n## Privacy & Data Handling\r\n\r\n**\ud83d\udd12 YOUR DATA STAYS ON YOUR DEVICE \ud83d\udd12**\r\n\r\n- **No Data Collection**: This application does NOT collect, transmit, or store any of your conversations, API keys, or personal data on external servers\r\n- **Local Storage Only**: All data (conversations, settings, API keys) is stored locally on your device in platform-appropriate directories\r\n- **Direct API Communication**: The app communicates directly with Anthropic's API - no intermediary servers\r\n- **Open Source**: Full source code is available for inspection - verify our privacy claims yourself\r\n- **No Analytics**: No usage tracking, telemetry, or analytics are collected\r\n- **No Network Requests**: Except to Anthropic's official API endpoints for chat functionality\r\n\r\n**Your privacy is paramount. This tool is designed to be a secure, private interface to Claude API.**\r\n\r\n## Important Disclaimers\r\n\r\n**\u26a0\ufe0f LEGAL DISCLAIMERS \u26a0\ufe0f**\r\n\r\n- **Independent Project**: This software is NOT affiliated with, endorsed by, or officially connected to Anthropic in any way\r\n- **No Warranty**: This software is provided \"AS IS\" without warranty of any kind, express or implied\r\n- **User Responsibility**: You are solely responsible for your API usage, costs, and compliance with Anthropic's terms of service\r\n- **Cost Estimates**: All cost calculations are estimates only and may be inaccurate - always monitor actual usage in your Anthropic Console\r\n- **API Compliance**: Users must comply with all Anthropic usage policies and terms of service\r\n- **Use at Your Own Risk**: The developers are not liable for any damages, costs, or issues arising from use of this software\r\n\r\n## Support\r\n\r\nSupport is limited and generally submitted through Github in the issues section.\r\nIf you find this tool useful, please consider:\r\n\r\n* Starring the repository\r\n* Contributing improvements\r\n\r\n---\r\n\r\n**Note**: This is an independent project and is not affiliated with Anthropic. Always ensure you comply with Anthropic's [usage policies](https://www.anthropic.com/legal/aup) when using the API.\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A modern desktop client for the Anthropic Claude API with streaming support and extended context capabilities",
    "version": "1.0.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/anthony-maio/claude-api-desktop/issues",
        "Changelog": "https://github.com/anthony-maio/claude-api-desktop/releases",
        "Documentation": "https://github.com/anthony-maio/claude-api-desktop#readme",
        "Feature Requests": "https://github.com/anthony-maio/claude-api-desktop/discussions",
        "Homepage": "https://github.com/anthony-maio/claude-api-desktop",
        "Repository": "https://github.com/anthony-maio/claude-api-desktop"
    },
    "split_keywords": [
        "claude",
        " anthropic",
        " ai",
        " chatbot",
        " api-client",
        " desktop-application",
        " streaming",
        " gui",
        " artificial-intelligence",
        " machine-learning",
        " natural-language-processing",
        " llm",
        " conversation-branching"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c6afd76488cd82135991e087b578ed784583800b155601b71e75772da6f01804",
                "md5": "e3fcbcb17ac2a26008042c1518cdaefc",
                "sha256": "89578783c78232c978eb7f8607885c0974b9f10d338aa8ba3dec471a3e2f3609"
            },
            "downloads": -1,
            "filename": "claude_api_desktop-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e3fcbcb17ac2a26008042c1518cdaefc",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 29626,
            "upload_time": "2025-09-05T19:25:24",
            "upload_time_iso_8601": "2025-09-05T19:25:24.651135Z",
            "url": "https://files.pythonhosted.org/packages/c6/af/d76488cd82135991e087b578ed784583800b155601b71e75772da6f01804/claude_api_desktop-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e2fea46af265936e7e6b451a80805abb19b9ac7da65179e8a5d88bd63b42dfc0",
                "md5": "dc9f25a0e3d29c0d802526f3df08d4e2",
                "sha256": "62799849ef9c9b4a63ea36af9ef99bdf77f3f8c9cd0d8530bded0cc320b9bfc7"
            },
            "downloads": -1,
            "filename": "claude_api_desktop-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "dc9f25a0e3d29c0d802526f3df08d4e2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 32879,
            "upload_time": "2025-09-05T19:25:25",
            "upload_time_iso_8601": "2025-09-05T19:25:25.987917Z",
            "url": "https://files.pythonhosted.org/packages/e2/fe/a46af265936e7e6b451a80805abb19b9ac7da65179e8a5d88bd63b42dfc0/claude_api_desktop-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-05 19:25:25",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "anthony-maio",
    "github_project": "claude-api-desktop",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "requests",
            "specs": [
                [
                    ">=",
                    "2.31.0"
                ]
            ]
        },
        {
            "name": "Pillow",
            "specs": [
                [
                    ">=",
                    "10.0.0"
                ]
            ]
        }
    ],
    "lcname": "claude-api-desktop"
}
        
Elapsed time: 1.02173s