Desktop IDE for automation with built-in Claude AI, web scraper, and task scheduler.
Built in Python (tkinter). Dark theme, two panels: tools on the left, Python editor on the right.
- Claude — chat with Claude Code CLI, full communication view (prompts + responses)
- Scraper — web scraping via Crawl4AI (local, no API keys)
- Context Keeper — automatic context injection into every Claude call
- Scheduler — run code from the editor on schedule (once, daily, every N minutes, weekdays)
- Discord — webhook notifications (scheduler results, Claude responses)
- Python Editor — with syntax highlighting, output console, F5 to run
- CLI — console mode (
automate) for running scripts and scheduler without GUI - Project config loading — open a project's
config.jsonto load settings + linked script into the editor
- Python 3.10+
- python3-venv (
sudo apt install python3-venvon Debian/Ubuntu) - Claude Code CLI installed and configured
- tkinter (
sudo apt install python3-tk) — required only for GUI
git clone https://github.com/DexterFromLab/ClaudeCodeIde.git
cd ClaudeCodeIde
bash install.shThe installer (install.sh):
- Requires no sudo — installs per-user to
~/.local/ - Creates a venv, installs dependencies (Crawl4AI, Firecrawl), runs
crawl4ai-setup - Creates
automateandautomate-guicommands in~/.local/bin/ - On update, overwrites .py files but preserves existing
config.json
If ~/.local/bin is not in PATH, add to ~/.bashrc:
export PATH="$HOME/.local/bin:$PATH"bash uninstall.shautomate-guiUse Open (Ctrl+O) and select a project's config.json file. The IDE will:
- Load all settings (scheduler, Discord, context keeper) into the GUI tabs
- Automatically find and open the script referenced in the scheduler job (e.g.
exec(open('analyse.py').read())) - Set the working directory to the project folder
- Future saves (Ctrl+S) will write back to both the script and config
This allows the IDE to act as a launcher for any project that follows the config.json + script convention.
cd ~/your-project
automate --run script.pycd ~/your-project
automateThe scheduler reads config.json from the current directory. You can specify a different file:
automate --config ~/other-project/config.json| Shortcut | Action |
|---|---|
F5 |
Run code from editor |
Ctrl+S |
Save script + config |
Ctrl+O |
Open file (.py or .json config) |
Ctrl+Shift+S |
Save config only |
Ctrl+Shift+L |
Reload config |
| File | Description |
|---|---|
main.py |
Main GUI application |
cli.py |
Console runner / scheduler |
claude_code.py |
Claude Code CLI wrapper (ClaudeCode, ClaudeResponse) |
config_manager.py |
JSON configuration management |
scraper.py |
Local scraper based on Crawl4AI |
firecrawl_tool.py |
Optional scraper via Firecrawl API |
discord_notifier.py |
Discord webhook notifications |
demo_code.py |
Demo script loaded in the editor |
install.sh |
Per-user installer |
uninstall.sh |
Uninstaller |
from claude_code import ClaudeCode
claude = ClaudeCode()
resp = claude.ask("Write a sorting function")
print(resp.text)from scraper import Scraper
scraper = Scraper()
page = scraper.scrape("https://example.com")
print(page.markdown)- Discord → Channel Settings → Integrations → Webhook → New → Copy URL
- Paste the URL in the Discord tab in IDE (or in
config.json) - Click "Test" (GUI) or check CLI logs
- Stock Analyser Signal — automated NASDAQ market analysis tool that produces scored buy/sell recommendations with bilingual Discord reports