Skip to content

0.7.0 — a native VS Code panel

Choose a tag to compare

@suhail-akhtar suhail-akhtar released this 01 Sep 08:33
· 14 commits to main since this release

aico gets its own tab in the Secondary Side Bar beside Chat — the same mechanism Claude Code and Codex use, with no proposed APIs.

It is not the web workspace in a frame, and not a second implementation either: the state layer, the reducer and every transcript component are the browser client's, imported unchanged. The panel is a view over them, styled from your editor theme, so tool cards and diffs match the file next to them.

Edits arrive through the front door. A write applies as a WorkspaceEdit, so Ctrl+Z takes it back and it shows in Source Control. A file changed behind the editor's back can do neither.

It knows what you are looking at. Active file, selection with its line range, and that file's Problems — as removable chips, so it is never a guess what a message will carry. # points at another file or a symbol. The rule: inline what nothing else can recover, merely name files that Read can fetch.

Approvals are real dialogs. Auto (unchanged, still the default), ask-but-not-for-edits, or ask every time. Terminal is deliberately not in the edits pass-through list.

Fixed

  • The extension registered a second project for the folder you had open — VS Code reports Windows paths with a lowercase drive letter while everything else uses uppercase, and the registry compares strings. Sessions started from a terminal stopped appearing in the panel.
  • An untrusted folder disabled the extension in silence. The manifest now declares capabilities.untrustedWorkspaces, so Restricted Mode explains it and offers a Trust button.
  • Opening the panel started a fresh conversation every time, losing the model with it. It now resumes the folder's last conversation.
  • A turn could block forever on stdin when permissions were gated with no callback registered.

Not in this release

VS Code as a tool surface — workspace creation, terminal and diagnostics as tools the agent can call. It needs a per-run source of tool definitions plus execution dispatch, and deserves its own pass.

The extension is not on the Marketplace; build it from vscode-extension/.