🚀 What is CopyToLLM?
CopyToLLM is a Chrome extension that extracts key debugging information from Rails error pages with a single click, formatted perfectly for AI assistants like Claude, ChatGPT, and others.
Instead of copying entire error pages that waste tokens and confuse AI models, this extension intelligently extracts only the essential information needed for debugging.
⚡
One-Click Extraction
Simply click the floating button to extract and copy error information to your clipboard
🎯
Smart Filtering
Extracts only relevant information: error type, file location, message, code context, and stack trace
🔧
Multiple Error Types
Works with standard Rails errors, Better Errors gem, and ActionView template errors
🛡️
Local Development Only
Restricted to localhost and local IP ranges for security
📖 How to Use
- Encounter a Rails Error: When you hit a Rails error page during local development
- Click the Button: Look for the floating "📋 Copy to LLM" button in the bottom right
- Paste to AI: The formatted error information is now in your clipboard - paste it into your AI assistant
Example Output
Rails Error: NoMethodError
File: app/controllers/users_controller.rb:15
Message: undefined method `confirmed?' for nil:NilClass
Code Context:
13: def show
14: @user = User.find(params[:id])
15: > if @user.confirmed? # <-- ERROR HERE
16: render :show
17: else
Stack Trace:
- app/controllers/users_controller.rb:15:in `show'
- app/middleware/auth.rb:12:in `call'
URL: http://localhost:3000/users/123
⚙️ Technical Details
Security Features
- Local Development Only: Extension only activates on localhost, 127.0.0.1, and private IP ranges
- Minimal Permissions: Only requires clipboard access and active tab permission
- No External Requests: All processing happens locally in your browser
Compatibility
- Rails Versions: Works with Rails 5.x, 6.x, and 7.x
- Error Gems: Compatible with Better Errors, standard Rails error pages
- Browsers: Chrome, Chromium, and other Chromium-based browsers
File Structure
copy-to-llm/
├── manifest.json # Extension configuration
├── content.js # Main extraction logic
├── styles.css # Button styling
├── icon16.png # Extension icons
├── icon48.png
├── icon128.png
└── README.md # Documentation
🤝 Contributing
Contributions are welcome! Here's how you can help:
- Bug Reports: Found an error type that isn't extracted properly? Open an issue!
- Feature Requests: Ideas for improving the extraction or adding support for other frameworks
- Code Contributions: Submit PRs for bug fixes or new features
- Documentation: Help improve this documentation or add examples
The extension is open source and available on GitHub. Feel free to fork, modify, and submit pull requests!
🚀 Coming Soon
We're working on expanding CopyToLLM to support more frameworks and error types:
⚛️
React/Next.js
JavaScript error extraction
🌐
Nginx
Server error log parsing
🐍
Django/Flask
Python error extraction
🔥
Laravel
PHP error handling
Want to help? Contribute to these features or suggest other frameworks on
GitHub Issues!