An AI-First IDE powered by Claude AI
A modern code editor designed for AI-assisted development, built with Electron and Monaco Editor.
Features β’ Installation β’ Usage β’ Contributing β’ License
- Monaco Editor - The same editor that powers VS Code
- Multi-Tab Support - Work on multiple files with keyboard shortcuts (
Cmd+Tab,Cmd+Shift+Tab) - Smart Tab Management - Close tabs with
Cmd+W, automatic next tab selection - Tab Context Menu - Right-click menu on tabs with 10+ operations (close, copy path, split, etc.)
- Syntax Highlighting - Support for 100+ programming languages
- IntelliSense - Intelligent code completion and suggestions
- Real-time Status Bar - Line/column position, file type, cursor tracking
- Breadcrumb Navigation - Quick path navigation in opened files
- AI Chat Panel - Integrated Claude AI assistance (
Cmd+Shift+L) - Inline Editing - AI-powered code editing with diff preview (
Cmd+K) - Smart Code Completion - Context-aware AI suggestions with Tab acceptance
- Session Management - Save and restore AI chat sessions with IndexedDB persistence
- Multi-Model Support - Switch between Claude models (Opus 4.1, Sonnet 3.5, Haiku)
- Chat History - Automatic conversation saving, search, and restore
- File Attachments - Upload and analyze files, images, code with AI
- Right-Click Integration - Quick file context menu for attachment handling
- Slash Commands -
/help,/clear,/modeland more - Command Auto-completion - Smart suggestions for slash commands
- Error Diagnostics - AI-powered error detection and auto-fix suggestions
- Context-Aware - Automatically includes file context in AI requests
- Project Explorer - Hierarchical file tree with real-time updates
- Quick File Search - Instant file access (
Cmd+P) - Advanced Search - Full-text search with regex support (
Cmd+Shift+F) - Search Options - Case-sensitive, whole-word matching, regex patterns
- File Click Navigation - Click search results to open in editor
- File Operations - Create, edit, delete files and folders
- Workspace State Memory - Automatically saves and restores open files and layouts
- Project Path Tracking - Persistent project directory
- Integrated Terminal - Built-in terminal with xterm.js, full shell support
- Terminal Features - 50,000 line scrollback, mouse wheel support, multi-terminal
- Code Checkpoints - Version control for code editing with diff preview
- Resizable Panels - Drag-to-resize sidebar and AI panel
- Toast Notifications - Non-intrusive status messages
- Customizable Layout - Panel visibility toggles
- Keyboard Shortcuts - Complete keyboard navigation
- Multi-Window Support - Open multiple projects independently
- Auto-Save - Work state saved every 30 seconds
- Session Restore - Recover your workspace on restart
- Dark Theme - Eye-friendly interface
- Smooth Animations - Polished UI transitions
- Diff Preview - Visual code change comparison
- Markdown Support - Formatted AI responses
- Chinese Localization - Full Chinese UI support for menus and commands
- Node.js 16.x or higher
- npm 7.x or higher
- Claude CLI (optional) - For AI features
# Clone the repository
git clone https://github.com/TaylorChen/claude-studio.git
cd claude-studio
# Install dependencies
npm install
# Rebuild native modules (required for terminal)
npm rebuild node-pty
# Start development mode
npm run devIf using custom Anthropic API endpoints:
# Set environment variables
export ANTHROPIC_BASE_URL="https://your-api-endpoint"
export ANTHROPIC_AUTH_TOKEN="your-token-here"
# Start with environment
npm run dev:anthropicOr use the startup script:
# Edit start-with-anthropic.sh with your credentials
./start-with-anthropic.sh# Start with DevTools
npm run dev
# Start with Anthropic custom endpoint
npm run dev:anthropic# Build for current platform
npm run build
# Output location:
# - macOS: dist/mac/CLAUDE-STUDIO.app
# - Windows: dist/win/CLAUDE-STUDIO.exe
# - Linux: dist/linux/claude-studio| Shortcut | Action |
|---|---|
Cmd+O |
Open project |
Cmd+P |
Quick file search |
Cmd+S |
Save file |
Cmd+Shift+L |
Toggle AI panel |
Cmd+` |
Toggle terminal |
Cmd+L |
Focus AI input (when AI panel open) |
| Shortcut | Action |
|---|---|
Cmd+W |
Close current tab |
Cmd+Tab |
Switch to next tab |
Cmd+Shift+Tab |
Switch to previous tab |
| Shortcut | Action |
|---|---|
Cmd+K |
Inline edit selected code |
Cmd+Shift+F |
Open advanced search |
Cmd+Shift+A |
Add file attachment |
Cmd+Shift+I |
Add image attachment |
Cmd+R |
Search command history |
Tab |
Accept AI code suggestion / auto-complete |
Esc |
Dismiss AI suggestion |
/ |
Open slash command menu |
- Ask questions about your code
- Get explanations and suggestions
- All conversations automatically saved with IndexedDB
- Access chat history with π button
- Support for Markdown-formatted responses
- Upload Files: Click π button or drag-and-drop files into chat
- Add from Explorer: Right-click files β "Add as Attachment"
- Image Support: Upload images for Claude to analyze
- Multi-attachment: Add multiple files to a single message
- Smart Paths: Automatic path resolution for local files
- Context Menu: Three attachment options:
- "Add as Attachment" - Add to current chat
- "Add as Attachment (New Chat)" - Create new session with attachment
- "Add as Image Attachment" - Mark as image type for analysis
- Select code in editor
- Press
Cmd+K - Describe changes (e.g., "add error handling")
- Review diff and apply changes
- Click π button to view sessions
- Restore previous conversations
- Delete unwanted sessions
- Rename sessions for better organization
- Sessions persist across restarts via IndexedDB
- Create new sessions with
+button
- Click βοΈ button to switch AI models
- Available: Opus 4.1 (latest), Sonnet 3.5, Haiku
- Model selection persists across sessions
/help- Show available commands/clear- Clear current conversation/model- Check or switch models/exit- Close chat session- Auto-completion for commands with arrow keys
- Current File Search: Search in currently open file
- Project Search: Search across all project files
- Result Navigation: Click results to jump to file/location
- Case-Sensitive: Toggle for case-sensitive matching
- Regex Support: Use regular expressions for advanced patterns
- Automatic error detection
- AI-powered fix suggestions
- One-click apply with diff preview
- Non-intrusive notifications
- Open files remembered on restart
- UI layout preserved
- Manual save/restore via πΎ button
- Automatic saves every 30 seconds
| Component | Technology |
|---|---|
| Framework | Electron 27.0 |
| Editor | Monaco Editor 0.44 |
| Terminal | xterm.js 5.3 |
| AI | Claude API / Claude CLI |
| Process | node-pty 1.0 |
| Storage | IndexedDB + localStorage |
claude-studio/
βββ src/
β βββ main.js # Electron main process
β βββ preload.js # Context bridge
β βββ renderer/
β β βββ app.js # Renderer entry point (all-in-one)
β βββ modules/
β β βββ ai/
β β β βββ ClaudeService.js # AI service manager
β β β βββ ChatHistoryManager.js # Conversation history
β β β βββ CommandParser.js # Slash command parser
β β β βββ CommandRegistry.js # Command definitions
β β β βββ CommandExecutor.js # Command execution
β β β βββ ErrorDiagnostics.js # Error analysis & fixes
β β βββ attachments/
β β β βββ AttachmentManager.js # Attachment handling
β β β βββ FileValidator.js # File validation
β β β βββ AttachmentProcessor.js # Attachment processing
β β βββ files/
β β β βββ FileManager.js # File operations
β β βββ storage/
β β βββ WorkspaceState.js # Workspace persistence
β β βββ IndexedDBManager.js # IndexedDB operations
β βββ components/ # Reusable UI components
β βββ utils/
β β βββ MarkdownRenderer.js # Markdown rendering
β β βββ Shortcuts.js # Keyboard shortcuts
β βββ ui/styles/ # Stylesheets
βββ index.html # Main HTML
βββ package.json
βββ start-with-anthropic.sh # Custom API startup script
For detailed architecture documentation, see ARCHITECTURE.md.
# Install Claude CLI
npm install -g @anthropics/claude-cli
# Login
claude login
# Start CLAUDE-STUDIO
npm run dev# Set environment variables
export ANTHROPIC_BASE_URL="https://your-endpoint"
export ANTHROPIC_AUTH_TOKEN="your-token"
# Start
npm run dev:anthropicConfigure in Settings panel (βοΈ) with your Anthropic API key.
The terminal uses your system's default shell:
- macOS/Linux:
/bin/bashor/bin/zsh - Windows:
cmd.exeor PowerShell
State is automatically saved to:
~/Library/Application Support/claude-studio/workspace-state.json
You can manually manage via πΎ button in top bar.
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See CHANGELOG.md for detailed version history and updates.
Latest: v2.3.0 - Multi-window support, PHP highlighting, Terminal enhancements, Checkpoints
- Menu bar shows "Electron" - Fixed in production build only
- Global shortcuts not working - Use the button alternatives
- Terminal requires Build Tools - Install Visual Studio Build Tools and Python
- Permission issues - May need
chmod +xfor scripts
For more issues, check the Issues page.
- Architecture Guide - System design and components
- Contributing Guide - How to contribute
- Changelog - Version history
- Integration Plan - Phase-based Claude CLI feature integration roadmap
This project is licensed under the MIT License - see the LICENSE file for details.
- Monaco Editor - Microsoft's powerful code editor
- Electron - Cross-platform desktop framework
- xterm.js - Terminal emulator component
- Anthropic - Claude AI platform
- VS Code - Design inspiration
- node-pty - Terminal process management
- markdown-it - Markdown parser
- highlight.js - Syntax highlighting
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Check the
/docsfolder for detailed guides
Phase 1: Session Management
- Multi-session chat support with tabs
- Session persistence with IndexedDB
- Session history search and restore
- Session export/import
Phase 2: System Prompt Customization
- Custom AI behavior and roles
- Multiple preset templates
- Real-time prompt switching
Phase 3: Slash Command System
- Command parser and registry
- Built-in commands (/help, /clear, /model, /exit)
- Command auto-completion
- Command history search (Ctrl+R / Cmd+R)
Phase 4: Code Checkpoints
- Automatic checkpoint creation
- Manual checkpoint creation
- Checkpoint comments and descriptions
- Checkpoint history and diff preview
- Rollback functionality
Phase 5: Tab Menu & Localization
- Tab context menu (10+ operations)
- File tree context menu
- Chinese localization
- Menu translations
Additional: Multi-Window & Enhancements
- Multi-window project support (completely isolated)
- PHP syntax highlighting
- Multi-language support (90+ languages)
- Terminal enhancements (50,000 line scrollback)
- xterm.js full integration
Phase 6: Permission Management (Planned)
- Tool permission control
- AI capability restrictions
- User role management
- Audit logging
Phase 7: Extended Features (Planned)
- Multi-line input
- Enhanced bash integration
- Image support improvements
- Keyboard customization
Phase 8: Performance Optimization (Planned)
- Large file handling
- Virtual scrolling
- Memory optimization
- Startup time optimization
Other Long-term Features
- Git integration (status, commit, push/pull)
- Split editor view
- Cloud sync for workspace settings
- Team collaboration features
- More AI models support
- Plugin system
Made with β€οΈ by the Claude Studio Team
β Star us on GitHub if you find this project useful!
Report Bug β’ Request Feature β’ Documentation