Environment Configuration
Tabby uses environment variables for core configuration across three components:Frontend Application
Configure the Electron app infrontend/.env.local:
Next.js Backend
Configure the API backend innextjs-backend/.env.local:
Memory Backend
Configure the Python backend inbackend/.env:
Application Branding
Customize the application name and icon:| Variable | Default | Description |
|---|---|---|
NEXT_PUBLIC_APP_NAME | Tabby | Application name shown in UI |
NEXT_PUBLIC_APP_ICON | /logos/tabby-logo.png | Path to app icon |
Branding changes require restarting the frontend and Next.js backend.
Keyboard Shortcuts
Tabby provides global keyboard shortcuts for quick access to features.Global Shortcuts
| Shortcut | Action | Description |
|---|---|---|
Ctrl+\ | Action Menu | Open/close AI action menu |
Ctrl+Space | AI Suggestion | Get context-aware AI completion |
Ctrl+Shift+B | Brain Panel | Toggle memory dashboard |
Ctrl+Alt+I | Interview Ghost | Interview mode ghost text |
Ctrl+Alt+J | Voice Agent | Activate voice assistant |
Ctrl+Shift+X | Stop Autotyping | Stop AI typewriter mode |
Ctrl+Shift+T | Cycle Transcribe | Switch transcription modes |
Ctrl+Alt+T | Toggle Transcription | Enable/disable voice transcription |
Copilot Mode (Coding Interview)
| Shortcut | Action | Description |
|---|---|---|
Alt+X | Analyze Problem | Capture screen & analyze coding problem |
Alt+Shift+X | Update Analysis | Add new constraints to analysis |
Alt+N | Code Suggestions | Get code improvements |
Ctrl+1-6 | Switch Tabs | Navigate between Chat, Idea, Code, Walkthrough, Test Cases, Memories |
Action Menu
| Shortcut | Action | Description |
|---|---|---|
Ctrl+\ | Open Menu | Show action menu with selected text |
Tab | Quick Chat | Switch to quick AI chat mode |
Alt+[Key] | Trigger Action | Execute specific action (e.g., Fix Grammar) |
Window Controls
| Shortcut | Action | Description |
|---|---|---|
Ctrl+Arrow | Move Window | Reposition floating windows |
Esc | Back/Close | Close panels or go back |
Enter | Accept | Accept result and paste |
Keyboard shortcuts are currently hardcoded. Future versions may support customization.
System Tray
Tabby runs in the system tray for quick access. Right-click the tray icon for:- Show Actions Menu - Open AI action menu
- Brain Panel - View memory dashboard
- Settings - Application preferences (future)
- Quit - Exit application
Text Output Modes
Tabby supports two modes for AI-generated text output:Paste Mode (Default)
Standard clipboard paste. AI responses are copied to clipboard and pasted normally.- Speed: Instant
- Detection: Standard paste operation
- Use Case: General use, quick insertions
Typewriter Mode
AI types character-by-character, simulating human typing.- Speed: Character-by-character
- Detection: Undetectable as AI-generated
- Use Case: Situations requiring human-like input
- Shortcut:
Ctrl+Shift+Xto stop
Service Ports
Default ports for Tabby services:| Service | Port | URL |
|---|---|---|
| Frontend (Electron) | 3000 | http://localhost:3000 |
| Next.js Backend | 3001 | http://localhost:3001 |
| Memory API (Python) | 8000 | http://localhost:8000 |
| Windows MCP Server | 8001 | http://localhost:8001 |
| Supabase API | 54321 | http://127.0.0.1:54321 |
| Supabase Studio | 54323 | http://localhost:54323 |
| Supabase DB | 54322 | postgresql://[email protected]:54322/postgres |
Port conflicts can be resolved by modifying the respective service configurations.
Email Configuration (Optional)
Tabby supports email notifications via Resend:nextjs-backend/.env.local
- Get Resend API Key
- Configure
- Visit Resend
- Create an account or sign in
- Navigate to API Keys
- Create a new API key
- Add a verified domain (or use Resend’s test domain)
Windows MCP Integration (Optional)
Tabby supports Windows desktop automation via the Windows MCP server:- Start MCP Server
- Features
http://localhost:8001Windows MCP requires Python and
uvx. Install via: pip install uvxBuilt-in Actions
Tabby includes pre-configured AI actions accessible viaCtrl+\:
Text Transformation
- Fix Grammar - Correct grammatical errors
- Shorten - Make text more concise
- Expand - Add more detail and context
Tone Adjustment
- Professional - Formal business tone
- Casual - Friendly, relaxed tone
- Friendly - Warm and approachable
Content Generation
- Email Writer - Compose professional emails
- Custom Prompts - Create your own actions
Custom actions and prompts will be configurable in future releases.
Copilot Tabs
When using coding interview mode (Alt+X), switch between tabs:
| Tab | Shortcut | Content |
|---|---|---|
| Chat | Ctrl+1 | Free-form conversation with context |
| Idea | Ctrl+2 | Problem breakdown, observations, approach |
| Code | Ctrl+3 | Clean, commented implementation |
| Walkthrough | Ctrl+4 | Step-by-step solution explanation |
| Test Cases | Ctrl+5 | Edge cases with input/output/reasoning |
| Memories | Ctrl+6 | Retrieved memories about your preferences |
AI Suggestions
Tabby provides two modes for AI suggestions:Hotkey Mode (Default)
Manual trigger viaCtrl+Space:
- No automatic monitoring
- Privacy-friendly
- On-demand completions
Auto Mode (Clipboard Watcher)
Automatic suggestions based on clipboard:- Monitors clipboard for context
- Automatic completions
- More proactive assistance
Production Deployment
Frontend (Windows Executable)
frontend/dist/Tabby-Setup.exe
Next.js Backend (Vercel)
Automatic deployment frommain branch:
- Platform: Vercel
- URL: tabby-api-psi.vercel.app
- Trigger: Push to
main
Memory Backend (Azure)
Automatic deployment via GitHub Actions:- Platform: Azure Container Apps
- URL: tabby-backend.azurecontainerapps.io
- Trigger: Push to
backend/directory
Production deployments require setting up GitHub secrets for credentials and API keys.
Troubleshooting
Keyboard shortcuts not working
Keyboard shortcuts not working
- Check if another app is using the same shortcuts
- Restart the Electron application
- Verify the app is running (check system tray)
- Run as administrator if on Windows
Services won't start
Services won't start
- Verify Docker Desktop is running (for Supabase)
- Check for port conflicts (3000, 3001, 8000)
- Review environment variables in
.env.localfiles - Check console logs for specific error messages
AI responses not working
AI responses not working
- Verify API keys are set in
nextjs-backend/.env.local - Check Next.js backend is running on port 3001
- Review browser console for network errors
- Ensure AI provider has credits/quota available
Memory not persisting
Memory not persisting
- Verify memory backend is running on port 8000
- Check
MEMORY_API_URLin frontend and backend configs - Ensure Supabase is running (
npx supabase status) - Review memory backend logs for errors
Best Practices
Development Workflow
- Start Docker Desktop first
- Run
npx supabase startand note credentials - Configure all
.env.localfiles with Supabase keys - Start services in order: Memory backend → Next.js backend → Frontend
- Use system tray for quick access to features
Security
- Keep
.envfiles out of version control - Use
.env.exampleas templates - Rotate API keys regularly
- Use local Supabase for development
- Secure production deployments with proper authentication
Performance
- Use Groq for fast inference when speed is critical
- Reserve powerful models for complex tasks
- Monitor memory usage in Brain Panel
- Clean up old memories periodically
- Optimize vector store indexes for your data size
Next Steps
AI Providers
Configure OpenAI, Groq, and other AI providers
Memory Backend
Set up persistent memory with Mem0