Khonsu MoonlightMidnight-navy colors for VS Code, Vim, Neovim and your terminal. Visual Studio Marketplace · Install · Features · Setup and extras · Vim and Neovim · Palette A dark Visual Studio Code color theme built around a midnight-navy editor, pale text, and a small set of cool accents. Ice blue marks focus and links, muted lavender carries language structure, mint distinguishes strings and additions, and muted rose marks removals and errors. Warm sand highlights literals and types so common syntax remains easy to scan. The theme opts into semantic highlighting and refines the Python fallback colors, Explorer text and status bar. The color theme works on its own. Optional setup commands, a curated extension installer, Vim and Neovim presets, custom companions and a focus timer are available when you want them. Nothing installs or changes settings on activation. Workbench surfaces stay close to the editor background, with restrained borders and clear selection states. Features
Release showcase · 0.8.0Seven redesigned companions in a small moonlit landscape. Softer faces, head tilts and nuzzles, a shaded moon ball, layered hills and a sky that dims for naps. In the editor, inlay hints, ghost text, sticky scroll and focus outlines now share the same quiet palette. Watch the 64-second showcase · Download captions · Animated excerpt · Download the MP4 The video shows the shipped webview in a local preview, with motion enabled only for recording. It covers all seven companions, petting, carrying, cushion naps, waking, ball play and keyboard access. The footer labels the preview throughout. VS Code respects your system reduced-motion setting. A fresh screenshot of 0.8.0 in VS Code 1.140.0 on macOS, with system reduced motion respected: Full workspace walkthrough · 0.7.0 archiveWatch the 3:00 walkthrough · Download captions · Shorter 0.7.1 release edit This earlier recording shows actual VS Code interactions in a dedicated demo profile: TypeScript editing, formatting, Python, optional setup, reversible settings, focus and pet customization. It contains the previous pet artwork. Typing passages are edited to about 130 WPM. Other scene timings are retained. The extension installer and Vim/Neovim choices are previewed, and the terminal setup command is prepared but not run. The separate motion-enabled webview preview is labeled. DetailsReal screenshots from VS Code on macOS. Click an image to inspect it at full size. The two-line Starship prompt shows the current Git branch and detected Node version. The included TypeScript sample shows the syntax colours and bracket guides. The sample text is illustrative, not a test report. The shipped public profile uses JetBrains Mono Nerd Font at 14 px in the terminal, a line cursor and Prettier on save. InstallInstall Khonsu Moonlight from the Visual Studio Marketplace, or search for Khonsu Moonlight in VS Code's Extensions view.
Select Khonsu Moonlight from Preferences: Color Theme. For manual installation, download the 0.8.0 VSIX, then run Extensions: Install from VSIX... and choose the file. GitHub Releases include the source and release notes. To build the current version yourself, use the VS Code Extension Manager (
Setup and extrasRun Moonlight: Setup and Extras from the Command Palette. Every part is optional:
The catalog includes the existing formatters and language tools, plus Material Icon Theme, Error Lens, markdownlint, REST Client, GitHub PR and Actions tools, Tailwind, Vitest, Jupyter and GitLens. Optional Codex and Claude Code integrations need their own account access. GitLens has some paid features. Upstream VS Code Pets is an optional extra, separate from Moonlight's own companions. Browse the full catalog.
Moonlight has no mandatory extension dependencies, telemetry, account credentials or background model calls. VS Code handles extension downloads and its normal publisher/account prompts. Vim and NeovimBoth modal backends are optional. Use VSCodeVim or VSCode Neovim in a profile, not both together. The generic Moonlight profile does not enable either.
Run Moonlight: Configure Vim or Neovim after enabling the chosen backend. Changed user settings are backed up for Restore Previous Settings. The Neovim version check runs only on this explicit command in a trusted workspace, with the user-level or default executable path. Workspace executable overrides are not executed by Moonlight. Restart VSCode Neovim after changing its executable path if needed. For separate setups, import Real VS Code profiles with the included TypeScript sample, relative line numbers and a search for
Native Vim and Neovim colorsThe original Moonlight colorschemes also work outside VS Code, without a plugin manager or downloaded theme dependencies:
Back up any existing file before copying. The theme includes truecolor and terminal-color fallbacks, syntax, search, selection, diff and diagnostics. Neovim also includes Tree-sitter and LSP highlight groups. It does not install parsers, servers or plugins. VS Code uses the Moonlight VS Code theme for its surfaces. Optional editor setupAfter installing the theme, run Profiles: Import Profile and select Alternatively, merge the preferences in The editor uses Menlo with monospace fallbacks. The appearance preset can select Material Icon Theme when it is available. The terminal uses JetBrains Mono Nerd Font Mono ( A matching Codex theme import string is included. Import it under Settings > Appearance > Dark theme > Import. That preset was checked against the installed Codex theme format, but has not been applied or visually tested in Codex. Claude Desktop currently exposes dark mode and chat-font controls, without a custom background or palette import in the version inspected. Optional terminal setupThe terminal adds a lunar two-line Starship prompt, shortened paths, Git branch and working-tree indicators, detected project runtimes, command duration after two seconds and the last command's failure code. Completions, muted autosuggestions and syntax highlighting come from the separate zsh setup. These shell files are optional and are not executed by the VS Code extension. On macOS with Homebrew, Moonlight: Prepare macOS Terminal Setup prepares the bundled setup command in a terminal. Review it and press Enter to run it. The script installs the dependencies below, copies configs with timestamped backups and appends the source block to
Review
Open a new terminal session. The setup keeps your PATH, history file, history sizes and history sharing settings. It ignores duplicate history entries and commands starting with a space. Homebrew plugins load only from their conventional Apple silicon or Intel locations, and missing dependencies are skipped. Starship is skipped for
For native macOS Terminal, import
Palette
The theme targets VS Code VerificationVersion 0.1.0 was packaged and installed in VS Code 1.140.0 on macOS Apple silicon. The theme was visually checked on the included synthetic TypeScript sample. Prettier format-on-save was checked in VS Code, and the installed Ruff formatter normalized a synthetic Python sample from its CLI. The profile format was checked against VS Code's profile resource schema. Version 0.2.0 adds the terminal setup. The shell files passed syntax checks, the TOML parsed successfully, and the native Terminal preset passed plist validation. Starship 1.26.0, zsh-autosuggestions 0.7.1, zsh-syntax-highlighting 0.8.0 and Nerd Fonts 3.5.1 were installed on macOS. The live integrated terminal was checked in VS Code. The Codex and native macOS Terminal presets remain manual imports, without live appearance checks. Version 0.3.0 passed 22 runtime checks and a real VS Code 1.140.0 extension-host smoke test. Live macOS checks covered installing a selected Marketplace extension, applying backed-up appearance settings, pet customization and play, and focus start, pause, resume and stop. The screenshots above come from that installed build. Version 0.4.0 passed 30 runtime checks, a real VS Code 1.140.0 extension-host smoke test and 35 native-editor assertions in Vim 9.1 and Neovim 0.12.5. Separate VSCodeVim and VSCode Neovim profiles were configured and checked for navigation and search in the macOS UI. The checks cover exclusive backend selection, cancellation, retained key settings, the trusted-workspace guard, supported Neovim versions, color values and terminal fallbacks. Version 0.5.0 passed 38 runtime checks and the VS Code 1.140.0 extension-host smoke test. Rendered checks covered direct click-and-stroke petting, keyboard wake, ball play, saved motion choice, OS reduced motion and a 180-pixel sidebar without horizontal overflow. Animated states were checked in a local test fixture because the test Mac had Reduce motion enabled. Version 0.6.0 passed 42 runtime checks and the VS Code 1.140.0 extension-host smoke test. All seven companions were checked in the rendered webview fixture. The four new companions fit a 180-pixel sidebar without horizontal overflow and respect OS reduced motion. The 48-second video is recorded from that fixture, with motion enabled only for the recording. Version 0.6.1 passed 43 runtime checks and a real VS Code 1.140.0 extension-host test, including enabling and hiding companions. The Python regression test uses VS Code's bundled TextMate grammar and passes without a language server. It reproduces the plain-text call color in 0.6.0 and verifies distinct calls, attributes, arguments, strings, numbers and decorators in 0.6.1. For development, run Version 0.7.0 passed 57 automated tests and a real VS Code 1.140.0 extension-host check. The seven companions, direct petting and carrying, ball chase, cushion naps, keyboard interaction, and removed action row were checked in the rendered scene. Reduced-motion behavior was checked with the system setting respected; full animation was viewed in an isolated motion-on preview. No FPS measurement was established. Version 0.7.1 updates the packaged documentation and release media. It keeps the 0.7.0 theme, commands, settings and pet behavior unchanged. The shorter showcase preserves the established typing pace, labels the separate webview preview and retains the full three-minute walkthrough. Version 0.8.0 is a visual release. It passed 59 automated tests, the Python grammar check and a real VS Code 1.140.0 extension-host check for activation, command registration, settings apply/restore and showing/hiding pets. All seven companions, petting, play, cushion naps, reduced motion and sidebar widths from 180 to 360 pixels were checked in a local preview built from the shipped webview files. The scene, art and theme refinements add no settings, network access or tracking. |











