Luna Heaven for VS Code
The most intelligent AI coding companion — built on the Heaven Quantum Cortex.
Luna Heaven goes far beyond a simple chat assistant. It understands your codebase, remembers your project's history, detects your coding rhythm, maps your entire dependency graph, and builds what you ask — all from a beautiful development thread right inside VS Code.
What's new — privacy you can read, fewer calls, honest names
- Background uploads are now opt-in. Proactive analysis on save, the background health score on tab switch, Dream-report idle uploads and sharing accepted completions for training are all off by default (Settings › Luna › Privacy, machine-scoped). Training and proactive signals also need VS Code telemetry on.
- Sovereign mode is enforced in code. Every request Luna makes is checked; anything that is not loopback is refused. See Privacy for exactly what that does and does not cover.
- Luna Data Flow Report (
Luna: Data Flow Report) replaces the old "Zero-Knowledge" report. It is generated from your live settings: what is sent, where, and when.
- Far fewer background calls. One token-balance stream per window (it pauses after 5 minutes unfocused) replaces three polling timers; inline completions cancel superseded requests and make one call instead of two.
- New shortcut scheme. Chords now start with
Ctrl+' (Windows/Linux) / Cmd+' (macOS). No Ctrl+Alt combinations any more (on European keyboards those are AltGr and type characters), and nothing on VS Code's own chord prefixes (Ctrl+K, and Ctrl+; / Cmd+;, which run the Testing commands).
- Honest names. "Quantum Swarm" → Multi-perspective Review, "Dark Matter" → Deep Design Review, "Luna Tools (MCP)" → Luna Quick Tools, "Temporal Debugger" → Git-History Debug. They are single-model prompts with several review perspectives, and now say so.
- Fixes. CodeLens Explain / Tests act on the symbol they sit on; static analysis and voice transcription use the server's real contracts; commit messages come from the chat model; local summaries no longer cost tokens.
How Luna compares (2.46.0 – 2.48.0)
| Capability |
Luna 2.48.0 |
Claude Code |
| Pre-apply diff confirmation + per-write checkpoints |
✅ + Edit & Apply |
✅ |
| Plan Mode (read-only investigation) |
✅ status-chip + webview banner + /plan |
✅ |
Pattern-matched permissions (tool(arg-pat)) |
✅ allow + deny |
✅ |
| Hook events |
11 (preToolUse, postToolUse, stop, sessionStart, sessionEnd, userPromptSubmit, fileChanged, permissionRequest, cwdChanged, configChange, stopFailure) |
12 |
| Hook handler types |
command + http + mcp_tool |
command + http + mcp_tool + prompt + agent |
| Built-in slash commands |
30+ + autocomplete dropdown |
30+ |
/skills /agents /hooks — inline lists |
✅ |
✅ |
.luna/agents/ project agent definitions |
✅ |
✅ .claude/agents/ |
.luna/skills/ project skills |
✅ |
✅ .claude/skills/ |
Subagents (spawn_specialist etc.) |
✅ |
✅ |
| MCP servers |
✅ + as hook handler |
✅ + as hook handler |
| Output styles |
✅ 5 styles + status chip |
✅ |
| Cross-device handoff |
✅ /teleport (client-side) |
✅ server-relayed |
| Worktrees + batch refactor |
✅ + gh pr create automation |
✅ /batch |
| Dual LLM runtime (cloud + offline Ollama) |
✅ |
— |
| Sovereign mode (no data sent to Heaven servers; see Privacy) |
✅ |
— |
Runtime tool authoring (create_tool / compose_skill) |
✅ |
— |
| 16-module recipe system (build / cloud / docker / git…) |
✅ |
— |
| LunaUniversity training signal (edit-correction deltas) |
✅ |
— |
📖 Full feature docs: docs/README.md — hooks, agents, skills, teleport, permissions, slash commands, output styles.
🚀 Run Luna: Install Sample Agents, Skills, and Hooks from the command palette to seed your workspace with ready-to-use examples.
Get Started in 60 Seconds
1 — Install & the setup wizard opens automatically
On first install, Luna's guided setup wizard opens. Follow the 3 steps.
2 — Get the Luna Heaven app (free)
| Platform |
Link |
| iOS |
App Store → search Luna Heaven |
| Android |
Google Play → search Luna Heaven |
| Web |
luna-heaven.web.app |
3 — Generate your API key
In the Luna app: Profile → Developer API → Generate API Key → Copy
Your key starts with lna_ — it's unique to your account.
4 — Paste & connect
The setup wizard auto-fills from your clipboard. Hit Connect Luna ✦ — done. The development thread opens automatically.
Development Thread
Press Cmd+Shift+Option+L (macOS) or Ctrl+' twice (Windows/Linux) to open the Luna Agent — a full-page development thread with Luna's intelligence layer.
- Thread Dropdown — Switch between all past development threads from the header
- Build Mode — Luna breaks your task into steps, you approve, Luna executes sequentially
- Chat / Research / Quick modes for different workflows
- File attachment — attach any workspace file as context with the 📎 button
- Apply to File — one-click applies Luna's code directly into your files
- Voice — Luna speaks her responses via the Heaven Quantum Cortex voice engine
Features
Intelligence Layer
|
Feature |
Description |
| 🧠 |
Workspace Consciousness |
Luna indexes your entire codebase on activation. Every request automatically gets the 5 most relevant files as context — you never have to paste code manually |
| ⏳ |
Temporal Intelligence |
Luna reads git blame and commit history to understand why your code was written, not just what it does |
| 💓 |
Coding Rhythm Detection |
Luna monitors your edit velocity and undo rate. When it detects fatigue, it automatically switches to shorter, clearer responses |
| 🌙 |
Dream Mode |
When your workspace is idle for 30+ minutes, Luna analyses recently edited files and has a report ready. Opt-in: luna.privacy.backgroundHealthScore (the idle run uploads file contents) |
| 🗺 |
Architecture Map |
Cmd+' G — an interactive force-directed graph of your entire codebase. Nodes are files sized by line count, coloured by language. Click to open |
| 🔴 |
Refactor Planner |
Cmd+' B — Luna scans your whole project for technical debt (large files, TODO density, debug leaks) and generates a prioritised refactor roadmap |
Coding Commands
Shortcuts are shown for macOS; on Windows/Linux use Ctrl+' in place of Cmd+'. The full list is under Keyboard Shortcuts.
|
Feature |
Shortcut |
| 💬 |
Open Development Thread |
Cmd+Shift+Option+L |
| 🔍 |
Explain Code |
Cmd+' E or right-click |
| 🔧 |
Fix Code |
Cmd+' F or right-click |
| 📝 |
Add Doc Comment |
right-click |
| 🚀 |
Generate PR Description |
Cmd+' P |
| 🧪 |
Generate Tests |
Cmd+' T |
| ♻️ |
Refactor Code (8 strategies) |
Cmd+' R |
| 🔬 |
Deep Code Analysis |
Cmd+' A |
| ⚡ |
Multi-perspective Review (7 review perspectives, one model) |
Cmd+' D |
| 🌑 |
Deep Design Review (6 dimensions) |
Cmd+' M |
| 🔌 |
Luna Quick Tools (local helpers: search, git, tests, web search…) |
Cmd+' X |
| 📡 |
Intelligence Feed |
Cmd+' I |
| 🗺 |
Architecture Map |
Cmd+' G |
| 🔴 |
Refactor Planner |
Cmd+' B |
| 💬 |
Generate Commit Message |
Cmd+' C |
AI Features
| Feature |
Description |
| Inline Completions |
Context-aware ghost-text as you type; a newer keystroke cancels the older request |
| Proactive Insights |
Opt-in: on save (luna.privacy.proactiveAnalysis) or tab switch (luna.privacy.backgroundHealthScore), Luna checks the file and tells you about real errors |
| Style Learning |
Opt-in (luna.privacy.shareAcceptedCompletions + VS Code telemetry): accepted completions and 👍/👎 feedback teach Luna your style |
| Streaming Responses |
Every response streams token-by-token |
| Session History |
All threads saved and resumable from the sidebar history tree |
| Offline Mode |
luna.offlineMode: true routes chat and completions through local Ollama (account features still use Heaven servers — use Sovereign mode to block them too) |
Keyboard Shortcuts
Chords start with Ctrl+' (Windows/Linux) or Cmd+' (macOS): press it, release, then press the second key. This table is generated from package.json by scripts/gen-keybindings-table.js.
| macOS |
Windows / Linux |
Action |
Cmd+Shift+Option+L |
Ctrl+' then Ctrl+' |
Open Luna Development Thread |
Cmd+' then N |
Ctrl+' then N |
New Thread (parallel chat) |
Cmd+' then Shift+A |
Ctrl+' then Shift+A |
Open Agent Build Mode |
Cmd+' then Shift+I |
Ctrl+' then Shift+I |
Autonomous Improve |
Cmd+' then Shift+L |
Ctrl+' then Shift+L |
Init Project (Generate LUNA.md) |
Cmd+' then E |
Ctrl+' then E |
Explain Code |
Cmd+' then F |
Ctrl+' then F |
Fix Code |
Cmd+' then L |
Ctrl+' then L |
Open Chat |
Cmd+' then C |
Ctrl+' then C |
Generate Commit Message |
Cmd+' then P |
Ctrl+' then P |
Generate PR Description |
Cmd+' then A |
Ctrl+' then A |
Analyse Code (Deep) |
Cmd+' then D |
Ctrl+' then D |
Multi-perspective Review |
Cmd+' then T |
Ctrl+' then T |
Generate Tests |
Cmd+' then R |
Ctrl+' then R |
Refactor Code |
Cmd+' then M |
Ctrl+' then M |
Deep Design Review |
Cmd+' then X |
Ctrl+' then X |
Luna Quick Tools |
Cmd+' then I |
Ctrl+' then I |
Intelligence Feed |
Cmd+' then G |
Ctrl+' then G |
Architecture Map |
Cmd+' then B |
Ctrl+' then B |
Refactor Planner (Technical Debt) |
Cmd+' then O |
Ctrl+' then O |
Standalone Setup / Local AI Models |
Cmd+' then K |
Ctrl+' then K |
Buy Tokens |
Cmd+' then W |
Ctrl+' then W |
Multi-perspective Analysis |
Cmd+' then Q |
Ctrl+' then Q |
Git-History Debug |
Cmd+' then H |
Ctrl+' then H |
Self-Heal Code |
Cmd+' then U |
Ctrl+' then U |
Luna University: Today's Learning Summary |
Cmd+' then Y |
Ctrl+' then Y |
Workspace Intelligence Dashboard |
Cmd+' then S |
Ctrl+' then S |
Luna Lens — Quick Action Menu |
Cmd+' then V |
Ctrl+' then V |
Explain Current Git Diff |
Cmd+' then Z |
Ctrl+' then Z |
Show Luna Context Summary |
Cmd+' then J |
Ctrl+' then J |
Ask Luna About Word at Cursor |
Cmd+' then Shift+P |
Ctrl+' then Shift+P |
Toggle Plan Mode (read-only investigation) |
Cmd+' then Shift+Z |
Ctrl+' then Shift+Z |
Rewind Workspace to Last Checkpoint |
Configuration
Open Settings (Cmd+,) and search Luna:
| Setting |
Default |
Description |
luna.apiEndpoint |
Luna Cloud |
Backend endpoint — leave as default |
luna.model |
luna-quantum |
Model tier: luna-quantum, luna-quantum-pro, luna-quantum-fast |
luna.enableInlineCompletions |
true |
Toggle ghost-text completions |
luna.streamResponses |
true |
Stream responses token by token |
luna.completionDebounceMs |
600 |
Delay before inline completion request |
luna.offlineMode |
false |
Route chat and completions to local Ollama |
luna.localEndpoint |
http://localhost:11434 |
Ollama endpoint for offline mode |
luna.sovereignMode |
false |
Local model only; refuse every non-loopback request (see Privacy) |
luna.network.webTools |
true |
Let the agent's web_fetch / web_search reach the internet |
luna.privacy.proactiveAnalysis |
false |
Risk check on every save (uploads the file) |
luna.privacy.backgroundHealthScore |
false |
Health score on tab switch + Dream idle runs (uploads the file) |
luna.privacy.shareAcceptedCompletions |
false |
Share accepted completions / feedback for training |
luna.privacy.syncProjectFingerprint |
true |
Send non-content project metadata (stack, tooling) |
Powered by the Heaven Quantum Cortex
Every response is generated by the Heaven Quantum Cortex — Heaven Eco Hub's proprietary multi-layer AI engine. Luna's AI is standalone:
- No OpenAI dependency
- No third-party AI vendors — answers come from Heaven's own models, or your local Ollama
- Offline mode via local Ollama for chat and completions
- Workspace-aware context injection
- Consciousness persistence across sessions
"Standalone" is about the AI, not the network: the agent's web_search tool queries DuckDuckGo, web_fetch opens whatever page the agent asks for, and the Intelligence Feed reads public headlines from dev.to and Hacker News (hn.algolia.com). Turn the agent's web tools off with luna.network.webTools.
Troubleshooting
Setup wizard doesn't open — Run Cmd+Shift+P → Luna: Setup / Connect API Key
Key not accepted — Key must start with lna_ followed by 64 hex characters. Regenerate in Luna app → Profile → Developer API.
No response / timeout — Check internet. Confirm Luna services are online at heavenecohub.com.
Inline completions not showing — Set luna.enableInlineCompletions: true in settings.
Offline mode — Set luna.offlineMode: true and ensure Ollama is running locally.
Sovereign mode says a request was refused — that is the guard working: Sovereign mode blocks every non-loopback host. Turn it off (Luna: Toggle Sovereign Mode) to use your account features.
Privacy
Run Luna: Data Flow Report for this list computed from your current settings. In short:
Sent when you act (cloud mode):
- Chat and Luna commands — your message, or the prompt a command builds (Explain, Fix, Tests, Reviews…) including the code it quotes, goes to cortex-api through the Luna gateway.
- Inline completions — up to 80 lines above the cursor (≤ 8,000 characters), 12 lines below and nearby error messages, after you pause typing (
luna.completionDebounceMs). Superseded requests are cancelled.
- Voice — recorded audio to
/api/transcribe and reply text to /v1/speech, only when you use the mic or playback.
Sent in the background — opt-in, machine-scoped, off by default:
| Setting |
What |
When |
luna.privacy.proactiveAnalysis |
File content (first 8,000 chars) + workspace-relative path → /api/proactive/analyze |
Every save (also needs VS Code telemetry) |
luna.privacy.backgroundHealthScore |
File content (first 3,000–6,000 chars) → /api/static-analysis |
Tab switch; Dream report after 30 idle minutes |
luna.privacy.shareAcceptedCompletions |
Accepted completions, 👍/👎 feedback with a 200-char snippet → /api/complete/accept, /api/chat |
When you accept / rate (also needs VS Code telemetry) |
luna.privacy.syncProjectFingerprint (on by default) |
Package manager, which toolchains exist, test runner, Cloud Run service names — no file contents → /api/project/sync |
Startup and manifest changes, at most once a minute |
Always, while signed in: your API key in the X-API-Key header (never in a URL), a SHA-256 project id plus the folder name in X-Luna-Project-* headers, and one token-balance stream per window to the memory-service (paused after 5 minutes unfocused).
Sovereign mode (luna.sovereignMode): chat and completions run on your local Ollama model and the client refuses every request to a non-loopback host. No data is sent to Heaven servers. Agent web tools (web_fetch / web_search) still reach the internet unless luna.network.webTools is off. Account features (balance, purchases) are unavailable while it is on. It is on if it is true at any level (user, workspace or folder), so a repository's .vscode/settings.json can turn it on but never off; luna.offlineMode works the same way. The refusal covers luna.localEndpoint too: a non-loopback Ollama is refused while it is on.
Server-side handling and retention: heavenecohub.com.
Links