Skip to content
| Marketplace
Sign in
Visual Studio Code>AI>Lunaris CodeNew to Visual Studio Code? Get it now.
Lunaris Code

Lunaris Code

Preview

Lunaris

|
4 installs
| (0) | Free
Your codebase, moving at the speed of thought.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Lunaris — Local-First Autonomous AI Agent for VS Code

An autonomous coding agent powered by your local machine, monitored and controlled from anywhere.

Lunaris is a VS Code extension that gives you a fully autonomous, privacy-first AI pair programmer. By default, it runs entirely on your local hardware via Ollama so your code never leaves your machine. It can also be configured to connect to cloud models (such as Gemini or Claude) via the optional Deep Space Relay, giving you complete flexibility over where your data is processed.

Optionally, connect to Mission Control to monitor and interact with your agent remotely from your phone or another machine.


Features

  • Autonomous Agent Loop — reads files, writes code, runs tests, and self-corrects from linter errors without manual intervention
  • Local Inference — all AI processing happens on your machine via Ollama. No API keys required.
  • Inline Autocomplete — fast, streaming code completions powered by a dedicated local model (FIM)
  • Planning Mode — structured implementation plans with Accept/Reject review before execution
  • Browser Automation — open pages, click elements, take screenshots, and evaluate JavaScript in a real browser
  • Model Context Protocol (MCP) — extend the agent's capabilities with local stdio or remote SSE MCP servers to access additional tools and resources
  • Agent Delegation — define specialised sub-agents (.lunaris/agents/) and delegate tasks between them
  • Custom Tools — register workspace-specific tools via JSON schemas (.lunaris/tools/)
  • Voice Input — speak your architectural plans instead of typing them
  • Deep Space Relay — remote monitoring and interaction via the Mission Control PWA
  • Background Tasks — queue and execute tasks from Mission Control while you're away
  • Session Memory — learns from past sessions and loads context automatically on startup

Getting Started

1. Install Ollama

Download and install Ollama for your operating system.

2. Pull a Model

# Recommended chat model (tool-calling capable)
ollama pull qwen2.5-coder:7b

# Recommended autocomplete model (fast, FIM-optimised)
ollama pull deepseek-coder:base

3. Install the Extension

You can install the Lunaris extension from the VS Code Marketplace or by using the official installer CLI.

Option A: VS Code Marketplace Open the extensions sidebar in VS Code, search for "Lunaris", and click Install. (Note: When installed via the Marketplace, the extension will automatically download and install the Lunaris Engine for your operating system on first startup.)

Option B: Installer CLI Run the official one-line install script for your operating system:

macOS / Linux:

curl -fsSL https://getlunaris.dev/install.sh | bash

Windows (PowerShell):

irm https://getlunaris.dev/install.ps1 | iex

4. Select a Model

Click the model name in the VS Code status bar (bottom) to switch between available models. Lunaris automatically discovers all models from your local Ollama instance.

5. Start Chatting

Open the Lunaris sidebar panel and type your request. The agent will read your codebase, plan changes, execute them, and verify the results autonomously.

6. Setup Voice Prompting

Lunaris supports 100% offline, local speech-to-text.

macOS Users:

brew install sox

Linux Users (Ubuntu/Debian):

sudo apt-get install sox libsox-fmt-all

Linux Users (Arch):

sudo pacman -S sox

Windows Users: Download SoX (Sound eXchange) and ensure the installation directory is added to your system's PATH environment variable.

Once installed, click the microphone icon in the chat panel to speak your instructions. The transcription is processed locally using the whisper-tiny.en ONNX model (which downloads automatically on first use, ~40MB).


Configuration

All settings are available under lunaris.* in VS Code Settings.

Setting Default Description
lunaris.allowedCommands [] Commands the agent may run without confirmation
lunaris.audio.autoSendDelay 3 Seconds to wait before automatically sending a voice prompt (0 to disable)
lunaris.audio.enableCompletionSound true Play an audio chime when a long-running Agent task or Plan has completed
lunaris.audio.keepVoiceRecordings true Keep voice recordings linked to chat messages so you can replay them
lunaris.audio.whisperModel Xenova/whisper-base.en Local HuggingFace/Xenova Whisper model to use for Voice Prompting
lunaris.autocomplete.enable false Master switch to enable inline completions (ghost text autocomplete)
lunaris.autocomplete.fimTemplate auto Fill-in-the-Middle (FIM) prompt template mode for local models
lunaris.autocomplete.sendWorkspaceContext false Send contextual workspace file trees to the LLM during completions
lunaris.autocompleteModel "" Ollama model to use for fast inline autocomplete (FIM)
lunaris.blockedCommands ["rm", "drop"] A strict denylist of commands the agent is never allowed to run
lunaris.context.maxTokensBudget 100000 Approximate maximum token budget for the history before compaction
lunaris.desktopControl.enabled false Enable experimental native macOS desktop control tools (macOS accessibility required)
lunaris.enableInlineComments true Enable the floating inline commenting UI and gutter icon
lunaris.enableRelay true Connect to remote Mission Control relay for real-time monitoring and Deep Space Relay
lunaris.enginePath lunaris Absolute path to the Lunaris engine CLI
lunaris.executionMode sandbox sandbox asks for confirmation on commands; agent runs organic commands without prompts
lunaris.forceXmlFallback false Force XML tool-calling mode for models with broken JSON tool support
lunaris.maxToolCalls 100 Max autonomous tool calls per generation loop
lunaris.mcpServers {} Configured Model Context Protocol (MCP) servers and their run parameters
lunaris.memory.enable true Enable persistent session memory (MEMORY.md)
lunaris.ollamaUrl http://localhost:11434 Base URL for the local Ollama instance
lunaris.pauseThreshold 120 Autonomous cycles before pausing to ask for permission to continue
lunaris.relayUrl "" The base URL for the Lunaris Mission Control API
lunaris.taskStallTimeoutMinutes 20 Minutes an in_progress task can be idle before considering it stalled

Commands

Access via the Command Palette (Cmd+Shift+P / Ctrl+Shift+P):

Command Description
Lunaris: New Conversation Start a fresh chat session
Lunaris: Session History Browse and restore past sessions
Lunaris: Change Model Switch the active inference model
Lunaris: Change Mode Toggle between Fast and Planning mode
Lunaris: Open Settings Jump to Lunaris configuration
Lunaris: Connect to Mission Control Authenticate with the Deep Space Relay API
Lunaris: Sync Workspace Project Reconcile local entities with Mission Control
Lunaris: Voice to Text Toggle voice-to-text input mode
Lunaris: Voice to Text (Push to Talk) Activate voice recording on press-and-hold
Lunaris: Create Rule Scaffold a new agent rule file
Lunaris: Create Workflow Scaffold a new workflow file
Lunaris: Manage Agents Open the agent fleet editor
Lunaris: Manage Rules Open the rules manager
Lunaris: Manage Workflows Open the workflows manager
Lunaris: Manage Tools Open the custom tools manager
Lunaris: Manage MCP Servers Open the MCP servers configuration manager
Lunaris: Open Mission Control in Browser Open the remote monitoring dashboard
Lunaris: Clear Persistent Workspace Memory Clear persistent workspace memory history
Lunaris: Change Autocomplete Model Switch the model used for fast inline autocomplete
Lunaris: Show Token Usage Limits View active tokens usage and session quotas
Lunaris: Explain and Fix with Lunaris Analyze code blocks or problems and generate fixes
Lunaris: Send File Problems to Agent Feed linter/compiler errors in the active file to the agent
Lunaris: Send All Problems to Agent Feed all workspace errors/warnings to the agent
Lunaris: Ask Lunaris (Inline) Initiate an inline chat session at the current editor selection
Lunaris: Previous Change Go to the previous code modification chunk
Lunaris: Next Change Go to the next code modification chunk
Lunaris: Previous Edited File Go to the previous modified file in the active session
Lunaris: Next Edited File Go to the next modified file in the active session
Lunaris: Check for Updates Check for updates to the Lunaris extension or CLI engine

Agent Rules & Workflows

Lunaris loads contextual instructions from markdown files on disk:

Rules (.lunaris/rules/*.md)

Persistent instructions that are always injected into the system prompt. Use rules to enforce coding standards, architectural patterns, or project-specific constraints.

---
description: Enforce strict typing in all TypeScript files.
---

# Strict Types

- Always use `strict: true` in tsconfig.json
- Never use `any` — prefer `unknown` with type guards
- All function parameters and return types must be explicitly typed

Workflows (.lunaris/workflows/*.md)

Step-by-step procedures that the agent follows when triggered. Workflows are matched by their frontmatter description.

Agents (.lunaris/agents/*.md)

Specialised sub-agents with their own system prompts, models, and delegation rules. The agent fleet can be visually managed via the Manage Agents command.

Global Entities (~/.lunaris/)

Rules, workflows, and agents placed in ~/.lunaris/rules/, ~/.lunaris/workflows/, and ~/.lunaris/agents/ are loaded across all workspaces.


Custom Tools

Register workspace-specific tools by creating JSON schemas in .lunaris/tools/:

{
  "name": "run_tests",
  "description": "Run the project test suite and return results.",
  "parameters": {
    "type": "object",
    "properties": {
      "filter": {
        "type": "string",
        "description": "Optional test name filter."
      }
    }
  },
  "execution": {
    "command": "npm test -- --filter={{filter}}"
  }
}

The agent discovers custom tools automatically and can invoke them like any native tool.


Model Context Protocol (MCP)

Lunaris supports the Model Context Protocol (MCP), allowing you to connect external servers to extend the agent's capabilities with new tools and data resources.

Configuring MCP Servers

You can manage your MCP servers visually by running Cmd+Shift+P -> Lunaris: Manage MCP Servers, or by editing your global settings.json file under lunaris.mcpServers.

Example standard stdio configurations:

"lunaris.mcpServers": {
  "sqlite": {
    "command": "npx",
    "args": [
      "-y",
      "@modelcontextprotocol/server-sqlite",
      "--db-path",
      "/Users/username/data/mydb.db"
    ]
  },
  "postgres": {
    "command": "npx",
    "args": [
      "-y",
      "@modelcontextprotocol/server-postgres",
      "--connection-string",
      "postgresql://localhost/mydb"
    ]
  }
}

Example remote SSE configurations:

To connect to a remote MCP server using Server-Sent Events (SSE), set the command to "sse" and provide the SSE endpoint URL as the first argument:

"lunaris.mcpServers": {
  "my-remote-server": {
    "command": "sse",
    "args": [
      "https://mcp-server.example.com/sse"
    ]
  }
}

Any exposed tools from connected servers are automatically registered with the agent and can be invoked during a conversation. Tools are prefixed using the format mcp__<server-name>__<tool-name>.


Deep Space Relay

When connected to the Lunaris API (Mission Control), the extension enables:

  1. Live Session Streaming — watch your agent work in real-time from your phone
  2. Remote Prompting — send messages to your local agent from anywhere
  3. Background Tasks — queue tasks from Mission Control that execute locally
  4. Cloud Models — access cloud-hosted models (Mistral, Bedrock) through the relay

To connect:

  1. Run Lunaris: Connect to Mission Control from the command palette
  2. Enter your API token (stored securely in the OS keychain)
  3. The relay status indicator appears in the status bar

Troubleshooting

Ollama not detected

  • Ensure Ollama is running: ollama serve
  • Check the URL in settings: lunaris.ollamaUrl (default http://localhost:11434)
  • Test connectivity: curl http://localhost:11434/api/tags

Models not appearing

  • Pull at least one model: ollama pull qwen2.5-coder:7b
  • Click the model selector in the status bar to refresh

Autocomplete not working

  • Pull a FIM-capable model: ollama pull deepseek-coder:base
  • Set lunaris.autocompleteModel to the model name
  • Ensure the model supports fill-in-the-middle prompting

Agent gets stuck in a loop

  • Click the Stop button in the chat panel
  • Reduce lunaris.maxToolCalls to a lower value
  • Switch to Planning mode for complex tasks

License

Proprietary. All rights reserved. Refer to the LICENSE file for details.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft