Frequently Asked Questions
Common questions about JetWings, answered.
General
What is JetWings?
JetWings is a plugin for JetBrains IDEs that pairs with a mobile app, allowing you to monitor IDE activity and trigger commands remotely. Think of it as a remote control for your IDE, perfect for monitoring builds when you're away from your desk.
Which IDEs are supported?
JetWings supports JetBrains IDEs version 2025.3.1 or later, including:
- IntelliJ IDEA Community Edition
- IntelliJ IDEA Ultimate
- PyCharm, WebStorm, GoLand, CLion, Rider
- Other JetBrains IDEs with IntelliJ Platform 2025.3.1+
Which mobile platforms are supported?
- iOS: 18.2 or later
- Android: API 26 (Android 8.0) or later
- Desktop: macOS, Windows, and Linux
- Web: Modern browsers (Chrome, Firefox, Safari, Edge)
Is JetWings free?
Yes, the plugin and mobile app are free to use.
Do I need a cloud account?
No. The backend infrastructure is provided as part of the JetWings service. You just need to install the plugin and mobile app.
Setup and Pairing
How do I pair my mobile device?
- Install the JetWings plugin in your JetBrains IDE
- Install the JetWings mobile app on your device
- In the IDE: Tools > JetWings > Show Pairing Code
- Enter the 6-digit code in the mobile app
- Pairing completes in ~5 seconds
See Pairing Guide for detailed steps.
How long does pairing last?
Pairing lasts 90 days by default. You'll receive a notification in both the IDE and mobile app 7 days before expiration, prompting you to re-pair.
Can I pair multiple devices?
Yes. You can pair multiple mobile devices with the same IDE. Each device maintains its own secure connection, allowing you (or your team) to monitor the IDE from a phone, tablet, or another device simultaneously.
Can I pair one mobile device with multiple IDEs?
Yes. The mobile app shows all paired IDEs. You can switch between them to monitor different projects or trigger commands on different machines.
What if I lose my phone?
If your mobile device is lost or stolen:
- Unpair immediately from your IDE settings when you regain access to your computer.
- This immediately revokes access. The lost device can no longer receive events or trigger commands.
- If you cannot unpair immediately, the pairing will automatically expire after your chosen duration (30-90 days typically).
What if I lose both my phone and computer?
If both devices are lost or stolen:
- Automatic Expiration: The pairing connection stored in our backend will automatically expire and be deleted after the duration you selected (30-90 days).
- Data Safety: We do not store your source code or sensitive data on our servers. Only the "handshake" metadata exists, which is useless without the devices.
- No Action Needed: Since you cannot unpair manually, you must rely on the automatic expiration. The risk is minimal as physical access to both devices would be required to exploit the connection.
How do I unpair a device?
From mobile app:
Settings > Paired IDEs > Select IDE > Unpair
Connection and Monitoring
What is the difference between pairing and connecting?
- Pairing: One-time setup that establishes trust between IDE and mobile device (lasts 30-365 days depending on your choice)
- Connection: Active monitoring session initiated by mobile when IDE has connections enabled
The separation allows you to:
- Stay paired permanently
- Control when your IDE accepts connections (Open/Closed status)
- Connect from mobile only when you need remote monitoring
How do I enable connections?
- In IDE: Tools > JetWings > Enable Connections (changes status to "Open")
- On mobile: Tap the IDE card showing "Open" status
The IDE controls whether it accepts connections. The mobile app initiates connections.
When should I enable connections in the IDE?
Enable connections when:
- Starting your workday (leave open for flexibility)
- Before leaving your desk for > 5 minutes
- Starting long builds (10+ minutes)
- Running extensive test suites
- Deploying to remote environments
Disable connections when:
- Done for the day
- Want to work without potential interruptions
- Conserving resources
Does connection stay active when I lock my phone?
iOS: Connection stays alive for ~30 seconds after app goes to background, then switches to push notifications.
Android: If using foreground service mode, connection stays alive. Otherwise, same as iOS.
Recommendation: Keep the app in the foreground when actively monitoring. Push notifications deliver important events when the app is in the background.
How much battery does JetWings use?
IDE (laptop):
- Connections enabled (Open): ~5-10% additional battery drain per hour
- Connections disabled (Closed): Negligible (plugin is idle)
Mobile:
- Connected and foreground: ~3-5% per hour
- Connected and background: ~1-2% per hour
- Not connected: < 1% per hour
Does JetWings work offline?
No. JetWings requires internet connectivity for:
- IDE to cloud
- Mobile to cloud
Both must be online for events and commands to work.
Events and Notifications
What events does JetWings publish?
- Build events: Build started, completed, failed
- Test events: Tests started, completed, failed
- Git events: Commits, pushes, pulls
- Project events: Project opened, closed
Build, test, git, and project events are supported.
Can I filter which events trigger notifications?
Yes. In the mobile app:
Settings > Notifications > Event Filters
Configure by:
- Event type (builds only, tests only, etc.)
- Project name
- Success vs. failure only
- Priority level
Why am I not receiving notifications?
Check connection status:
- IDE: Status bar should show green "Connected" icon
- Mobile: App should show IDE as "Online"
Check notification permissions:
- iOS: Settings > Notifications > JetWings > Allow Notifications
- Android: Settings > Apps > JetWings > Notifications > Enabled
Check event filters:
- Verify you haven't filtered out the event type
- Check quiet hours settings
See Common Issues > Events Not Arriving for more.
Can I customize notifications?
You can configure which event types trigger notifications in the mobile app under Settings > Notifications. Per-event sound customization is planned for a future release.
Commands and Remote Control
What commands can I trigger from mobile?
- Run configurations: Execute any run configuration available in the IDE
- Terminal commands: Send text to IDE terminal (including Claude Code)
- Git operations: Pull, push, commit, status, fetch, log, branch management
How do I run a configuration from mobile?
All run configurations in your IDE are automatically available in the mobile app. Select your IDE, then navigate to the Run Configurations section to see and execute them.
Can I trigger builds for multiple projects?
Yes. If you have multiple projects open in the IDE, each appears separately in the mobile app with its own run configurations.
Is there a limit to how many commands I can queue?
No hard limit, but commands execute sequentially. If you queue 10 builds, they run one after another.
Can I cancel a running command?
Yes. In the mobile app:
Tap running command > Cancel
The IDE receives cancellation request and stops the process.
How do input prompts work?
When a command requires input (e.g., "Deploy to which environment?"), you can configure the behavior:
- AUTO: Use defaults automatically (recommended)
- PROMPT_MOBILE: Show dialog on mobile for user input
- FAIL_ON_INPUT: Cancel command if input is required
Configure this in your run configuration settings.
Claude Code Integration
Does JetWings work with Claude Code?
JetWings can send terminal commands to your IDE, including commands to Claude Code. You can type commands in the mobile terminal view and they are executed in the IDE terminal.
Enhanced AI assistant integration with dedicated UI and quick actions is planned for a future release. Currently, you can interact with Claude Code through the terminal feature.
Security and Privacy
Is my code sent to the cloud?
No. Only event metadata is sent:
- Build status (success/failure)
- Test counts
- Project name
- File names (not contents)
Your actual source code never leaves your IDE.
Is communication encrypted?
Yes. All communication uses:
- TLS 1.2+ for encryption in transit
- Secure encrypted connections
- Secure tokens for authentication
Who can see my IDE events?
Only devices you've explicitly paired. Events are routed using your unique userId and ideId pair.
Can someone else trigger commands on my IDE?
No. Commands require:
- Valid pairing (from your pairing session)
- Unexpired authentication token
- Active secure connection
Even if someone intercepts a message, they can't forge the authentication token.
What data is stored in the cloud?
- Pairing metadata (IDE ID, user ID, pairing expiration)
- Active connection state (temporary)
- Authentication tokens (encrypted)
Not stored:
- Source code
- Full build logs
- Terminal output
- File contents
Can I self-host the backend?
Not currently. The backend is provided as a managed service. Self-hosting may be supported in future versions.
How do I delete my data?
Unpair all devices:
Tools > JetWings > Unpair All Devices
This removes all pairing records and authentication tokens from our servers within 24 hours.
Does JetWings access my personal data?
No. JetWings respects your privacy and does not access or store:
- Location data
- Camera or Microphone
- Contacts
- Photos or Files (outside the app's own storage)
Why does the app need permissions?
- Notifications: Required to alert you about build completions and test results.
- Network: Required to connect to the secure cloud backend.
Performance and Reliability
Does JetWings slow down my IDE?
No. JetWings is designed to be lightweight:
- Events are processed efficiently without impacting IDE responsiveness
- Minimal memory footprint (~10-20 MB)
- No impact on code indexing or compilation
If you experience slowdowns, see Common Issues > IDE Performance.
What happens if the connection drops?
IDE behavior:
- Automatically retries the connection
- Shows "Connection Lost" status
- Queues events locally until reconnected
Mobile behavior:
- Shows "IDE Offline" status
- Switches to push notification fallback (if configured)
- Reconnects automatically when network returns
How reliable is event delivery?
JetWings provides at-least-once delivery:
- Events typically arrive within 500ms
- Network issues may cause brief delays (2-3s)
- Duplicate events are automatically filtered out
What if the IDE crashes?
Connection is lost. Mobile app detects missed heartbeats (90s timeout) and shows "IDE Disconnected". When IDE restarts, manual reconnection required.
What if my network is slow?
JetWings works on slow networks, but:
- Event delivery may be delayed
- Heartbeat timeout may trigger false disconnections
- Consider increasing heartbeat timeout in settings (default: 30s)
Troubleshooting
Plugin won't install
Check IDE version:
Help > About > IntelliJ IDEA 2025.3.1 or later
JetWings requires 2025.3.1 minimum.
Check internet connectivity:
Plugin downloads from JetBrains Marketplace. Ensure firewall allows access.
Pairing code doesn't work
Verify code expiration:
Pairing codes expire after 5 minutes. Request a new code if expired.
Check network:
Both IDE and mobile must be online during pairing.
Try again:
Close pairing dialog, wait 10 seconds, then request new code.
Commands not executing
See Common Issues > Commands Not Executing for detailed troubleshooting.
Integration and CI/CD
Can I trigger deployments from mobile?
Yes. Create a JetWings-enabled run configuration that executes your deployment script. For safety, use inputMode: PROMPT_MOBILE to require confirmation.
Mobile App
Why is the IDE showing as "Offline" in the app?
Check IDE is running:
- Make sure the IDE application is open
Check connections are enabled:
- IDE: Tools > JetWings > Enable Connections
- Status bar should show "Open"
Check pairing:
- Verify pairing has not expired
- Re-pair if necessary
Check network:
- IDE must have active internet connection
- Mobile app must have internet access
Refresh:
- Pull down to refresh IDE list in mobile app
Can I use JetWings on tablet?
Yes. The mobile app works on:
- iPad (iOS 18.2+)
- Android tablets
- Large-screen phones
The UI adapts to screen size.
Does mobile app work on desktop?
Yes. Download the desktop version for macOS, Windows, or Linux.
Why use desktop app?
- Side-by-side monitoring while coding in different IDE
- Team members monitoring shared IDE
- Multiple monitors setup
Pricing and Licensing
Is JetWings open source?
The plugin will be open source upon initial release. Backend code is proprietary.
Are there enterprise features?
Not currently. JetWings is designed for individual developers. Team features may be added in future versions.
Are there any usage limits?
For typical personal use (1 IDE + 1 mobile device), JetWings is completely free with no practical limits. The free tier supports up to 20 simultaneous connections and 20,000 messages per day, which is more than enough for most users.
Version and Updates
How do I check plugin version?
Settings > Plugins > Installed > JetWings > Version
How do I update the plugin?
Settings > Plugins > JetWings > Update
Or enable auto-updates:
Settings > Plugins > ☑ Update plugins automatically
What's the minimum IDE version?
IntelliJ Platform 2025.3.1 or later
This includes:
- IntelliJ IDEA 2025.3.1+
- PyCharm, WebStorm, GoLand, CLion, Rider 2025.3.1+
- Other JetBrains IDEs with IntelliJ Platform 2025.3.1+
Are older IDE versions supported?
No. JetWings requires modern IntelliJ Platform APIs introduced in 2025.3.1.
Support
Where do I report bugs?
GitHub Issues: https://github.com/edgafner/jetwings/issues
Please include:
- Plugin version
- IDE version
- Mobile app version
- Steps to reproduce
- Logs (if applicable)
How do I request features?
Same as bug reports, use GitHub Issues with "enhancement" label.
Is there a community forum?
Check the GitHub repository for discussion links and community resources.
How do I get logs?
IDE logs:
Help > Show Log in Finder (macOS)
Help > Show Log in Explorer (Windows)
Help > Show Log in Files (Linux)
Search for: "JetWings"
Mobile app logs:
Check the app's About screen for version information. If you encounter issues, include your app version when reporting bugs.
Learn More
- Getting Started - Get started
- Common Issues - Troubleshooting
- GitHub Issues - Report bugs