Hey everyone!
I'm excited to share Native Jules, an open-source Flutter app that gives the Jules API a native desktop/mobile experience.
If you're using Jules to review code sessions, chat with the agent, or inspect generated changes, Native Jules makes that workflow faster and more enjoyable — with multi-account support, offline caching, and a clean, responsive UI.
Highlights
- Multi-account API key support with fast account switching
- Session history grouped by repository, with built-in search
- Chat timeline showing prompts, plans, progress updates, and agent responses
- Resizable diff panel for reviewing code changes produced by Jules
- Local caching with background sync and offline-state awareness
- Light & dark themes with responsive layouts for smaller screens
Native Jules is built to feel like a first-class native app, not just a wrapper around the API.
Tech Stack
| Layer | Technology |
|---|---|
| Framework | Flutter |
| State management | Provider |
| Local persistence | Hive |
| HTTP client | http |
| Desktop shell (macOS) | window_manager |
| Supported platforms | macOS, iOS, Android, Web, Windows, Linux |
The project is organized into jules_flutter/ for the Flutter app and scripts/ for platform-specific launch helpers.
Getting Started
- Clone the repo
git clone https://github.com/CkCreative/jules.git
cd jules
- Install dependencies
cd jules_flutter
flutter pub get
cd ..
- Launch the app
npm run dev # runs the macOS app by default
-
On first launch, add an account name and your Jules API key (you'll need access to
https://jules.googleapis.com/v1alpha).
The Flutter project also targets iOS, Android, web, Windows, and Linux. See the Available Commands table for all platform-specific commands.
Screenshots
| Light mode | Dark mode |
|---|---|
![]() |
![]() |
(Click the images to view them full size — they give a quick sense of the UI.)
What's Next?
Native Jules is still young — the current flow is text-prompt based (attachments aren't supported by the Jules API yet), and new sessions are created against repositories returned by the Jules sources API.
I'd love to hear what the community thinks! Ideas, bug reports, and contributions are all welcome.
🔗 Links
- GitHub repo: github.com/CkCreative/jules
-
Jules API:
https://jules.googleapis.com/v1alpha
If you find Native Jules useful, a ⭐ on GitHub means a lot — and feel free to drop a comment below with any feedback or questions. Happy coding! 🚀
Jules
A polished Flutter client for the Jules API, built for reviewing sessions, chatting with the agent, and inspecting generated code changes in a native app experience.
Screenshots
Click either screenshot to view it full size
Highlights
- Multi-account API key support with fast account switching
- Session history grouped by repository with built-in search
- Chat timeline for prompts, plans, progress updates, and agent responses
- Resizable diff panel for reviewing code changes produced by Jules
- Local caching with background sync and offline-state awareness
- Light and dark themes with responsive layouts for smaller screens
Tech Stack
- Flutter
- Provider for state management
- Hive for local persistence
-
httpfor Jules API requests -
window_managerfor a desktop-style macOS shell
Requirements
- Flutter SDK
- Xcode for macOS and iOS builds
- Android Studio and Android SDK for Android builds
- A Jules API key with access to
https://jules.googleapis.com/v1alpha
Getting Started
From the repository root:
cd jules_flutter
flutter pub get
cd…


Top comments (0)