Skip to content
Luciai

Features

Everything in Luciai Studio, in detail.

Lucicoder, the coding agent, and the IDE around it. Everything on this page is in the product today; what is planned is listed separately at the end.

The agent

Lucicoder plans, edits, runs and debugs.

A real agent, not autocomplete. It plans, edits files, runs commands, reads your errors and keeps going until the job is done — with your approval at every dangerous step.

57 built-in tools

Files (notebooks and spreadsheets cell by cell), search, commands and background tasks for dev servers, shells that stay open, the debugger, the language server, web search and fetch, GitHub and GitLab, scripts over many files, scheduled tasks, a phone or emulator's screen, a live plan checklist — and questions to you when it cannot decide.

Claude Code and Codex as helpers

Say “ask Claude Code to …” and Lucicoder hands the task to the Claude Code or Codex you have installed and signed in to. Its steps show in the chat, and what it changed belongs to the turn — one click reverts it. In Ask mode you agree to the hand-over first.

Office files, kept as they are

A Word document is edited as tracked changes you accept or reject in Word; a spreadsheet cell by cell, formulas and formatting kept; a PowerPoint deck is made from its text, or an existing one has its text changed in place — the changed words keep their look, a new bullet looks like its neighbours.

Any file, anywhere — and your servers

A folder or a file anywhere on your computer, by its path: PDFs, Office files, zip and tar archives, e-books, emails, SQLite databases. Over SSH it reads, edits and runs commands on your servers, asking before anything changes.

A browser of its own

A headless Chrome or Edge with an empty profile: Lucicoder opens your dev server or a page, reads it with its buttons and fields numbered, clicks, types, takes screenshots and sees the console errors — so it can check that a page it changed really works.

Goals

“Make the tests pass”, done when npm test succeeds: Lucicoder works on it round after round, each round a fresh turn, and your check — not the model — decides when it is done. Budget, pause and resume.

Subagents and teams

spawn_agent hands a focused piece of work to a helper with its own context; run_team splits bigger work into tasks that 2–4 teammates do at the same time from a shared board.

From other editors too

Lucicoder speaks the Agent Client Protocol: start luciai-studio --acp from Zed or any ACP client and use it there, with your models and its approvals.

Sessions that last

Sessions are per project and per window. Each keeps its own agent memory, survives a restart and resumes with its context.

Slash commands and @file mentions

/init, /model, /mode, /mcp, /tasks and more. Mention a file with @ to bring it into the conversation.

Context that manages itself

Long sessions compress on their own, and live language-server diagnostics are attached to every turn, so “fix the errors” just works.

Skills, commands and plugins

SKILL.md skills the agent loads when it needs them, Markdown slash commands with $ARGUMENTS, and plugin bundles — in Claude Code's layout, so its skill repositories, plugins and marketplaces install unchanged.

MCP servers

External tools through <project>/.luciai/mcp.json, in the same format as Claude Code: local stdio servers and remote HTTP servers. /mcp shows what is connected.

Hand-offs from the IDE

Review this pull request, find out why this pipeline failed, work on this issue, fix what the security view found — Lucicoder picks the job up from the view you are in.

Models

Your laptop, your subscription, or your keys.

Lucicoder works fully offline with Ollama models, drives the Claude Code or Codex command-line tool you are signed in to, or talks to the cloud provider you choose.

Local models through Ollama

qwen2.5-coder, llama3.1 and other Ollama models run on your machine, and Lucicoder finds Ollama on its own. With a local model, nothing leaves your computer. Start with ollama pull qwen2.5-coder:7b.

Your Claude or ChatGPT subscription

Switch the engine to Claude Code or Codex and Lucicoder drives the official CLI you are logged into. The install and login buttons run the exact commands in the terminal.

Subscription, not API credit

Lucicoder notices when a CLI login would bill the vendor’s API rather than your subscription, and offers Switch account to log in again with your Claude Max or ChatGPT plan.

Cloud providers, your own keys

Anthropic, OpenAI, Google Gemini, DeepSeek, Mistral, Groq, xAI, OpenRouter, DashScope and any OpenAI-compatible endpoint. Keys stay in your operating system’s credential store.

Model lists fetched live

Each provider’s list is fetched live, so new models appear the day they ship. Lists are cached with a labelled built-in fallback, and the vendors’ usual environment variables are picked up automatically.

A searchable model picker

Every model the provider offers, with tool-calling and vision badges, and a note on where the list came from.

Native tool calling on every provider

The Ollama tools API, OpenAI tool_calls, Anthropic tool_use and Gemini functionDeclarations — with an automatic fallback to a universal XML grammar, so even small local models work reliably. /native auto|on|off switches it.

Ghost-text completions, local first

Suggestions as you type, accepted with Tab, from a local fill-in-the-middle model through Ollama (qwen2.5-coder, codellama:code, deepseek-coder, starcoder2, codegemma) or any other provider. Toggle them in the status bar; choose the model and opt out per language in Settings → AI.

Safety

You approve what matters. Every turn can be undone.

Approval modes you can switch at any moment, a diff before every edit, hard limits on commands, and a checkpoint for every turn.

Four approval modes

Chat answers and touches nothing. Ask asks before every tool. Agent reads and searches freely and asks before it edits a file or runs a command. Auto works on its own, inside the same limits.

A diff before every edit

Every edit Lucicoder proposes is shown in red and green before it is written.

A checkpoint for every turn

One click reverts everything a turn changed, across every file it touched.

Hard limits on commands

A command denylist no prompt can talk its way around, and a per-project “always allow” list for the commands you trust.

Preview mode

Switch Lucicoder to Preview and its edits are staged, not written. Review the multi-file diff (you can edit it), then apply or discard each file. A file that changed in the meantime is flagged.

Refactors with a preview

Rename Symbol with Preview (Ctrl+F2) stages the language server's rename the same way. Refactor with Lucicoder (preview) (Ctrl+Shift+R) drafts the request from your selection.

Commands in the open

Container builds, pushes and cloud deploys show every command verbatim and run it in a terminal, behind a cost confirmation.

Keys in the credential store

API keys and tokens live in your operating system’s credential store.

Illustration: Preview mode. Lucicoder's edits wait as a diff you can edit; you apply or discard each file.

The editor

The VS Code editor core, with language intelligence.

Monaco, the editor at the heart of VS Code, with language-server intelligence — inside an IntelliJ-style menu where every item does something.

Monaco with LSP

Language-server intelligence and live diagnostics, dirty-file indicators, save, format and refactor actions, split view and a command palette.

Highlighting from VS Code

VS Code’s own TextMate engine with more than 20 bundled grammars — and more from extensions.

A full IntelliJ-style menu bar

File, Edit, View, Navigate, Code, Refactor, Build, Run, Tools, VCS, Window and Help: 156 items wired to real actions. An item that is not built yet is disabled and says “Planned”.

Find Action

Ctrl+Shift+A searches every command and runs the one you pick.

Problems and Output

Live diagnostics with click-to-jump, and the output of background tasks.

Snippets library

Your snippets in one place; snippets from installed extensions join them.

Fifteen languages

Project templates, code intelligence from each language’s own server and Run for Python, JavaScript and TypeScript, Java, Kotlin, Go, C#, C and C++, Rust, Swift and Objective-C, PHP, Ruby and Dart. A missing server is named above the editor, with Install where the IDE can add it.

Mobile apps

Flutter and React Native (Expo) templates; a Mobile panel with your phones and emulators, the device’s screen inside the IDE, run, and hot reload on save. Lucicoder can look at the screen and tap through the app.

Debugging

A visual debugger that Lucicoder can drive too.

The Run and Debug view speaks the Debug Adapter Protocol through a client written in Rust — for Python, Node.js and TypeScript, Java and Kotlin, Go, C#, C and C++, Rust, Swift and Objective-C, PHP, Ruby, Dart and Flutter, and pages in Chrome or Edge.

Python

debugpy over stdio, with an interpreter picker that detects your project’s virtual environments.

Node.js and TypeScript

VS Code's js-debug, installed on demand. .ts entry files run through Node's type stripping.

Rust and native programs

cargo build plus CodeLLDB, installed on demand, and native executables.

Java and Kotlin

Java through its language server’s debugger; Kotlin on the JDK’s own debugger, built with Gradle or kotlinc. A Java or Kotlin program that is already running is attached on its debug port.

Go, C#, C and C++

delve for Go and netcoredbg for .NET, each built first; C and C++ projects built with CMake in Debug, and a single file compiled on its own.

Swift and Objective-C

The toolchain’s own lldb-dap for a Swift package — and on a Mac, SwiftUI apps for macOS and for iOS, debugged on the Mac or on the iOS Simulator.

PHP, Ruby, Flutter and Dart

PHP with Xdebug and Ruby with its own debugger, installed from Run and Debug where they are missing; Flutter and Dart on a phone, an emulator or the desktop, with hot reload from the debugger.

Chrome and Edge pages

Page debugging with path mapping, a headless option and console capture.

What you reach for every day

Gutter breakpoints, F5 F9 F10 F11, the call stack, variables with lazy expansion, watches, hover to evaluate, a Debug Console REPL, stop on entry and break on uncaught exceptions.

And the rest

Conditional breakpoints, hit counts, logpoints, and attaching to a running process: Node started with --inspect, a Java or Kotlin program on its JDWP port, or a native program by its process id.

Lucicoder at the controls

Ask it why a program misbehaves: it uses debug_run, debug_eval, debug_step and debug_stop, and you watch the session live.

Illustration: a Python script paused on a breakpoint. The variables show why the next step would divide by zero.

Git, GitHub and GitLab

Pull requests and pipelines, without the browser.

Git in the IDE; GitHub through your own gh login; GitLab with a token kept in your credential store — each with hand-offs to Lucicoder.

Git

Status, stage and commit, branches, history, stash and conflict tools.

GitHub pull requests

Through your own gh login, with no token handling of ours: the list with checks, the diff in the bottom dock, comment, approve, squash or merge, create from the current branch, draft or ready.

GitHub Actions, issues and releases

Runs with their jobs and steps, logs and failed-step logs, re-run failed jobs, cancel, and dispatch a workflow with inputs.

GitLab merge requests

Connect with a token, kept in the OS credential store: list, diff, comment, approve, merge and create from the current branch.

GitLab pipelines and more

Run with variables, live status, job logs, manual jobs, retry and cancel, and lint .gitlab-ci.yml. Issues, environments, deployments and releases too.

Hand-offs to Lucicoder

Review this PR, why did this run fail, work on this issue. Lucicoder reads the status itself (github_status, gitlab_status), opens pull and merge requests and starts runs.

Testing and security

Run the real suite. Audit the real dependencies.

The testing view runs your own test runner; the security view runs the auditors the ecosystems publish — and Lucicoder can fix what they find.

Testing view

Detects Jest, Vitest, Mocha, Cargo, Go, Maven and pytest, runs your real suite and lists what passed and failed, with the failing tests’ names. When it cannot parse the output, it says so.

Real auditors

npm audit, pip-audit, cargo audit, govulncheck and osv-scanner on your manifests, with severity chips and advisory links. An auditor you lack has an install button.

Secret scan

Your sources are scanned for keys, tokens, connection strings and hard-coded passwords, which are shown masked.

One-click fixes

npm audit fix and per-package updates, followed by an automatic re-audit, and a Markdown report.

Fix with Lucicoder

Hand a finding to the agent. Its security_audit tool lets it re-check its own work.

Deploy and containers

From build to cloud, every command in plain sight.

The deploy wizard and the container flow use the real command-line tools, in a terminal you can read.

Deploy wizard

Detect, build and deploy to Vercel, Netlify, GitHub Pages or Surge, using their real CLIs in a terminal.

Containers to a registry

Build and push with Docker to Docker Hub, GHCR, ECR, Artifact Registry or ACR. Tokens stay in the OS credential store, and docker login reads them over stdin.

Cloud Run, Container Apps, App Runner

Deploy to Google Cloud Run, Azure Container Apps or AWS App Runner, then check the status, read the logs or roll back. Every command is shown verbatim and runs in the terminal behind a cost confirmation.

Docker panel

Containers and images through your Docker CLI: start, stop, logs, shell, build and compose. It says plainly when Docker Desktop is not running.

Server, Gradle and Maven panels

Panels for your servers and your Gradle and Maven builds.

Extensions

Themes, snippets and grammars from Open VSX.

Install from the Open VSX marketplace or from a VSIX file. Here is exactly what an extension brings today.

Open VSX and VSIX

Browse and install extensions from the Open VSX marketplace, or install a VSIX file.

What applies

Installed extensions’ color themes apply to the editor and the workbench, their snippets join the library, and their grammars and languages are used for highlighting.

What does not, yet

Extension keybindings are listed, not applied. A full VS Code extension host is on the roadmap.

Collaboration

Edit together over your own network.

Live Share runs over your LAN or VPN, through a relay built into the app.

Live Share

Host a session from the activity bar, share files and edit them together in real time. Guests open shared files as collab:// tabs; the host saves.

Named cursors, follow the host

Everyone has a named, colored cursor, and guests can follow the host.

Plainly scoped

A Yjs CRDT over the built-in relay. Sessions are LAN or VPN only and token-protected; there is no TLS yet.

The rest of the toolbox

Terminals, run configurations, HTTP, databases and local history.

The tools you would otherwise keep in other windows.

Real terminals

Real PTY terminals — as many as you need, each starting in the project’s folder.

Run configurations

Named run and debug configurations per project: a command, working folder, environment, env file and before-launch tasks, or a debugger launch. Detected with one click from package.json, Cargo.toml, Python and Node entry points, Makefiles, compose files, go.mod, Maven and Gradle, and run from the toolbar in a named terminal tab with the environment applied.

HTTP client

A REST client in the bottom dock that runs in Rust, so CORS never gets in the way. With history; GraphQL through POST.

Database client

SQLite, PostgreSQL and MySQL: connections, tables, a SQL editor and a results grid.

Local History

Every save — and every Lucicoder edit — is kept as a version outside the repository: a timeline, side-by-side diffs, labels, one-click restore and recent changes across files. Open it from the command palette.

Planned

Not in the product yet.

These are planned, in this order. The standing rule: if a button exists in the app, it works; if a feature is planned, the app says “planned”.

  1. 01Attaching the debugger to a running browser or Python process. Today: Node.js, Java and Kotlin programs, and native processes.
  2. 02Adding, removing and moving the slides of an existing PowerPoint deck. Today: new decks, and the text of an existing deck changed in place.
  3. 03A real VS Code extension host. Today: Open VSX and VSIX installs, with themes, snippets, grammars and languages applied.
  4. 04Live Share beyond the LAN: chat, per-guest permissions, and following other guests. Today: token-protected LAN sessions with shared files and follow-the-host.
  5. 05Kubernetes and ECS targets in the deploy wizard. Today: Cloud Run, Container Apps and App Runner.
  6. 06GitLab sign-in with OAuth, and inline comments on diffs.

Missing something? Customers suggest features and vote on them. See the feature requests

Switch the lamp on.

Download it and start — the first month needs no account. Then a free account keeps it going with no time limit. No card.