Skip to content
Ultracite
Esc
↑↓navigate↵open⌘Jpreview

Void, deprecated and frozen on VS Code 1.99

Void is deprecated: its repository is archived, and its last release shipped in June 2025 on VS Code 1.99.3. If you still use it, ultracite init --editors void writes .vscode/settings.json and installs the extension with void --install-extension. Void’s agent sees the lint errors in each file it edits, but it reads .voidrules, not AGENTS.md.

Void by Glass DevtoolsChecked against Void 1.4.9

{
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.formatOnPaste": true,
  "editor.formatOnSave": true,Format on save
  "emmet.showExpandedAbbreviation": "never",
  "js/ts.tsdk.path": "node_modules/typescript/lib",The project’s TypeScript
  "js/ts.tsdk.promptToUseWorkspaceVersion": true,
  "[astro]": {
    "editor.defaultFormatter": "astro-build.astro-vscode"
  },
  "[css]": {
    "editor.defaultFormatter": "oxc.oxc-vscode"
  },
  "[graphql]": {
    "editor.defaultFormatter": "oxc.oxc-vscode"
  },
  "[handlebars]": {
    "editor.defaultFormatter": "oxc.oxc-vscode"
  },
  "[html]": {
    "editor.defaultFormatter": "oxc.oxc-vscode"
  },
  "[javascript]": {
    "editor.defaultFormatter": "oxc.oxc-vscode"
  },
  "[javascriptreact]": {
    "editor.defaultFormatter": "oxc.oxc-vscode"
  },
  "[json]": {
    "editor.defaultFormatter": "oxc.oxc-vscode"
  },
  "[jsonc]": {
    "editor.defaultFormatter": "oxc.oxc-vscode"
  },
  "[less]": {
    "editor.defaultFormatter": "oxc.oxc-vscode"
  },
  "[markdown]": {
    "editor.defaultFormatter": "oxc.oxc-vscode"
  },
  "[scss]": {
    "editor.defaultFormatter": "oxc.oxc-vscode"
  },
  "[typescript]": {Oxfmt formats it
    "editor.defaultFormatter": "oxc.oxc-vscode"
  },
  "[typescriptreact]": {
    "editor.defaultFormatter": "oxc.oxc-vscode"
  },
  "[vue-html]": {
    "editor.defaultFormatter": "oxc.oxc-vscode"
  },
  "[vue]": {
    "editor.defaultFormatter": "oxc.oxc-vscode"
  },
  "[yaml]": {
    "editor.defaultFormatter": "oxc.oxc-vscode"
  },
  "editor.codeActionsOnSave": {
    "source.fixAll.oxc": "explicit"Oxlint’s safe fixes
  },
  "typescript.enablePromptUseWorkspaceTsdk": true,
  "typescript.tsdk": "node_modules/typescript/lib"
}
Oxlint + Oxfmt
What init does in Void
  1. 1Writes .vscode/settings.jsonA new file, or merged into yours setting by setting, with your comments and other settings kept.
  2. 2Installs oxc.oxc-vscodeWith void --install-extension, when it creates the settings file.
Then, in Void
  1. 3If init asked you to, install oxc.oxc-vscode from Void’s Extensions view, which searches the Visual Studio Marketplace.
  2. 4Copy the rules you want Void’s agent to follow from AGENTS.md into a .voidrules file at the project root.
  3. 5Save a file: Oxfmt formats it and Oxlint’s safe fixes apply.

Three toolchains, one settings.json

init writes the settings for the toolchain you pick, so Void formats with the same tool as ultracite fix and applies its fixes when you save.

  • Oxlint + OxfmtDefault

    Extension
    oxc.oxc-vscode
    Formats with
    oxc.oxc-vscode
    On save
    source.fixAll.oxc

    --linter oxlint

  • Biome

    Extension
    biomejs.biome
    Formats with
    biomejs.biome
    On save
    source.fixAll.biomesource.organizeImports.biome

    --linter biome

  • ESLint + Prettier + Stylelint

    Extensions
    dbaeumer.vscode-eslintesbenp.prettier-vscode
    Formats with
    esbenp.prettier-vscode
    On save
    source.fixAll.eslintsource.organizeImports

    --linter eslint

What Void inherits from VS Code 1.99

Void is a VS Code fork that stopped at VS Code 1.99.3, so it reads .vscode/settings.json and installs extensions the way VS Code did then, from the Visual Studio Marketplace.

Status
Deprecated. Void’s GitHub repository is archived, and its last release, Void 1.4.9 (build 1.99.30044), shipped on June 23, 2025.
Extensions
From the Visual Studio Marketplace, which Void’s product.json sets as its extension gallery, not Open VSX.
Launcher
void, which takes --install-extension like VS Code’s code. On macOS, run “Shell Command: Install ‘void’ command in PATH” to add it.
Extension versions
The current Oxc, Biome and ESLint extensions support VS Code 1.99. Prettier’s 12.x releases need VS Code 1.101, so Void runs Prettier’s extension only up to 11.x.
TypeScript
VS Code 1.99 reads typescript.tsdk, not the newer js/ts.tsdk.path, so for Void init writes both and Void uses the workspace TypeScript.
Explicit saves
The fixes init sets to "explicit" run when you save a file yourself, not on auto save, as in VS Code.

Void’s agent reads .voidrules and lint errors

Void’s agent reads the AI Instructions in its settings and a .voidrules file at the root of each workspace folder, and no other instruction file, so Ultracite’s AGENTS.md doesn’t reach it. After each edit it reads that file’s errors and warnings from the editor, which is where the Oxc, Biome or ESLint extension reports them.

Where the agent looks for instructions
  1. 1AI Instructions, in Void’s settingsInstructions you type into Void’s settings. They go into the agent’s system message ahead of .voidrules.
  2. 2.voidrulesRead from the root of each workspace folder and added to the system message as guidelines.
  3. 3AGENTS.mdUltraciteNot read. Void loads no other instruction file, so copy the rules you want from AGENTS.md into .voidrules.
  1. 01In Agent mode, Void’s agent changes a file with its edit_file or rewrite_file tool.
  2. 02Void saves the file with save participants skipped, so format on save and editor.codeActionsOnSave don’t run on the agent’s code.
  3. 03Two seconds later, Void reads the file’s errors and warnings from the editor, up to 100, and adds them to the tool result while “Fix lint errors” is on, as it is by default.
  4. 04No hook runs: Void has none, so the file is only formatted and fixed when you save it yourself or run npx ultracite fix.

Worth knowing about Void

  • Gather mode reads, never edits

    Gather mode gives the model only Void’s read-only tools, read_lint_errors among them, so it can walk you through what your linter reported without changing a file.

  • Edits and commands wait for you

    Void asks before its agent edits a file or runs a terminal command unless you turn on “Auto-approve edits” or “Auto-approve terminal” in its settings. Running npx ultracite fix from the agent needs that approval too.

  • Accepting a diff doesn’t format

    When you accept the agent’s diff, by hand or with “Auto-accept LLM changes”, Void saves the file again with save participants skipped. Format on save runs the next time you save the file yourself.

Void questions, answered

Is Void still maintained?
No. Void’s README says it’s deprecated and no longer accepting contributions, and its GitHub repository is archived. The last release, Void 1.4.9 (build 1.99.30044), shipped on June 23, 2025.
Does Void read AGENTS.md?
No. Void’s agent reads only the AI Instructions in its settings and a .voidrules file at the root of each workspace folder. Copy the rules you want from AGENTS.md into .voidrules.
Can Void’s agent see Oxlint errors?
Yes. Two seconds after each edit, Void adds the file’s errors and warnings to the tool result while “Fix lint errors” is on (the default), and the agent can call read_lint_errors on any file. Both read what the Oxc extension reports in the editor.
Does the Prettier extension work in Void?
Only up to its 11.x releases. Prettier’s 12.x extension needs VS Code 1.101 or later, and Void is built on VS Code 1.99.3. The current Oxc, Biome and ESLint extensions all support it.
Why didn’t init install the Oxc extension in Void?
init runs void --install-extension only when it creates .vscode/settings.json, and only if void is on your PATH. On macOS, add it with “Shell Command: Install ‘void’ command in PATH”, or install the extension from Void’s Extensions view.
Does Void use my project’s TypeScript version?
Yes. Void is built on VS Code 1.99.3, which reads typescript.tsdk rather than VS Code’s newer js/ts.tsdk.path, so for Void init writes both.

Ship less slop

One command sets up your linter, formatter, editor and agents. Works with Oxlint, Biome and ESLint.