A modern desktop client for the Anthropic Claude API with streaming support and extended context capabilities
Project description
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.
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
pip install claude-api-desktop
Install from Source
- Clone the repository:
git clone https://github.com/anthony-maio/claude-api-desktop.git
cd claude-api-desktop
- Install using pip:
pip install .
- Run the application:
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
- Get your API key from
Anthropic Console <https://console.anthropic.com/>_ - Open Settings (⚙️ button or
Ctrl+,) - Enter your API key in the API tab
- 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
- Windows:
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
- Enter your API key in Settings
- Type your message
- Press Send or
Ctrl+Enter
Using System Prompts Optional
- Open Settings (⚙️ button)
- Go to General tab
- Enter instructions.
Attaching Files [Beta]
- Click the 📎 Attach button
- Select image or text file
- Multiple files are supported
Conversation Branching [Alpha]
- Start a conversation with Claude
- Click 🌿 Branch button
- Create "Alternative approach" branch
- Continue conversation in new direction
- 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 messageEscape: Abort current request
Conversation Management:
Ctrl+N: Start new conversationCtrl+S: Save current conversationCtrl+H: Open conversation historyCtrl+L: Clear current chat
Interface:
Ctrl+,: Open Settings dialogCtrl+D: Toggle dark/light themeF1: Show help dialog
File Operations:
Ctrl+E: Export conversation
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Built with Anthropic's Claude API
- GUI framework: tkinter
- HTTP client: requests
Author
Anthony Maio (anthony.maio@gmail.com)
Passionate about AI/ML, software engineering, culture and leadership.
Follow or find me on LinkedIn - 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 when using the API.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file claude_api_desktop-1.0.0.tar.gz.
File metadata
- Download URL: claude_api_desktop-1.0.0.tar.gz
- Upload date:
- Size: 32.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62799849ef9c9b4a63ea36af9ef99bdf77f3f8c9cd0d8530bded0cc320b9bfc7
|
|
| MD5 |
dc9f25a0e3d29c0d802526f3df08d4e2
|
|
| BLAKE2b-256 |
e2fea46af265936e7e6b451a80805abb19b9ac7da65179e8a5d88bd63b42dfc0
|
File details
Details for the file claude_api_desktop-1.0.0-py3-none-any.whl.
File metadata
- Download URL: claude_api_desktop-1.0.0-py3-none-any.whl
- Upload date:
- Size: 29.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89578783c78232c978eb7f8607885c0974b9f10d338aa8ba3dec471a3e2f3609
|
|
| MD5 |
e3fcbcb17ac2a26008042c1518cdaefc
|
|
| BLAKE2b-256 |
c6afd76488cd82135991e087b578ed784583800b155601b71e75772da6f01804
|