How cloud integration works
Cloud integration is opt-in and query-specific. Here’s how it works:- Default: All queries run locally on your Mac
- When you need more: Explicitly request a cloud model for that specific conversation
- What gets sent: Only the current conversation and relevant context—never your entire indexed data
- Pricing: Pay per use, typically $0.01-0.05 per conversation
Privacy promise: Your indexed data (emails, notes, files) stays on your Mac. When you use a cloud model, jo only sends the specific conversation and relevant snippets you’re discussing.
Supported cloud models
jo integrates with four major AI providers:OpenAI GPT-5.2
Best for: General reasoning, coding, creative writingCost: ~$0.02-0.05 per conversationSpeed: Fast (2-5 seconds)
Anthropic Claude
Best for: Long-form analysis, nuanced reasoning, detailed explanationsCost: ~$0.03-0.05 per conversationSpeed: Medium (3-7 seconds)
Google Gemini
Best for: Multimodal tasks, image understanding, research synthesisCost: ~$0.01-0.03 per conversationSpeed: Fast (2-4 seconds)
xAI Grok
Best for: Real-time information, current events, unconventional takesCost: ~$0.02-0.04 per conversationSpeed: Fast (2-5 seconds)
Connecting cloud models
You can connect cloud models during initial setup or anytime later:Open cloud settings
In jo, click the gear icon (or press Cmd+,) to open Settings, then navigate to the Cloud Models tab.
Choose a provider
Click Connect next to the cloud provider you want to add. Each provider has slightly different setup steps.
Add your API key
- OpenAI GPT
- Anthropic Claude
- Google Gemini
- xAI Grok
- Visit platform.openai.com/api-keys
- Click Create new secret key
- Name it “jo” and click Create
- Copy the key (starts with
sk-) - Paste it into jo’s API Key field
- Click Verify & Save
When to use cloud models
Use local AI for most queries. Call in cloud models when you need:Complex reasoning and analysis
Complex reasoning and analysis
Use case: Multi-step problem solving, strategy, planningExample queries:
- “Help me prep for this salary negotiation” (after sharing context)
- “Analyze the pros and cons of these three contractor quotes”
- “Create a project plan based on my meeting notes”
Creative and generative tasks
Creative and generative tasks
Use case: Writing, brainstorming, content creationExample queries:
- “Draft a professional response to this client email”
- “Help me brainstorm names for this project”
- “Write a summary of my conference notes”
Technical or specialized knowledge
Technical or specialized knowledge
Use case: Coding, technical explanations, domain expertiseExample queries:
- “Explain this error message in my code file”
- “What legal considerations should I know for this contract?”
- “Help me understand this medical report”
Long-form synthesis
Long-form synthesis
Use case: Summarizing large amounts of informationExample queries:
- “Summarize everything I learned at that conference last year”
- “Create a comprehensive client profile from all my notes and emails with them”
Using cloud models in queries
There are three ways to invoke a cloud model:Method 1: Explicit request (recommended)
Simply mention the model in your query:Method 2: Quick action button
When viewing a local response, click the Enhance with Cloud button that appears above the answer. Select your preferred model from the dropdown.Method 3: Auto-detection (optional)
In Settings > Cloud Models, enable Auto-detect complex queries. jo will suggest using a cloud model when it detects:- Requests for creative writing
- Multi-step reasoning
- Technical explanations beyond local capability
Cost transparency
jo shows costs before and after cloud queries:Before sending
When you request a cloud model, jo displays an estimated cost:“This query will use GPT-5.2. Estimated cost: $0.03” [Confirm] [Cancel]Click Confirm to proceed or Cancel to stick with local processing.
After the response
The actual cost appears at the bottom of each cloud response:✓ Response generated by GPT-5.2 in 3.2s · Cost: $0.027
Monthly tracking
View your cloud usage in Settings > Cloud Models > Usage:
- Current month spending
- Cost per provider
- Query count and average cost
- Spending limit warnings
Setting spending limits
Prevent surprise charges by setting monthly limits:Set monthly budget
Enter your desired monthly limit (e.g., $10). jo will warn you at 80% and stop using cloud models at 100%.
What gets sent to the cloud
When you use a cloud model, jo sends: ✅ What is sent:- Your current query
- The conversation history (within this session)
- Relevant snippets from your data (e.g., the specific email you’re asking about)
- Your complete email archive
- All your notes or files
- Your search index
- Metadata about your data sources
jo sends the minimum context needed to answer your question. For example, if you ask about an email, jo sends that email—not your entire inbox.
Privacy and security
Provider data policies
Each provider has different data retention policies:| Provider | Data Retention | Training on Your Data |
|---|---|---|
| OpenAI GPT | 30 days | No (API data not used for training) |
| Anthropic Claude | Not retained | No (API data not used for training) |
| Google Gemini | 18 months | No (if using Gemini API, not AI Studio) |
| xAI Grok | 30 days | No (API data not used for training) |
Disabling cloud integration
You can disable cloud models entirely:- Go to Settings > Cloud Models
- Click Disconnect All
- Confirm the action
Troubleshooting
'Invalid API key' error
'Invalid API key' error
Solutions:
- Verify you copied the entire key (they’re long!)
- Check that the API key is active in the provider’s console
- Ensure your provider account has credits or an active payment method
- Try generating a new API key
Cloud queries are slow
Cloud queries are slow
Possible causes:
- Network latency (cloud queries require internet)
- Provider API slowdowns (check status.openai.com, etc.)
- Large context being sent (reduce conversation length)
Unexpected charges
Unexpected charges
Review:
- Check Settings > Cloud Models > Usage for a breakdown
- Look for auto-detection settings (may be enabled)
- Review recent queries in the history panel
'Rate limit exceeded' message
'Rate limit exceeded' message
Cause: You’ve hit the provider’s usage limits (usually temporary)Solution:
- Wait a few minutes and try again
- Check your API tier with the provider (some have stricter limits)
- Upgrade your provider account for higher limits
Next steps
Your first queries
Learn how to ask jo questions effectively
Keyboard shortcuts
Master jo’s keyboard shortcuts for efficiency