Releases: VladoIvankovic/Codeep-vscode
Release list
v2.6.1
Reliability pass on the permission + diff lifecycle: no more dead permission cards after a CLI crash, no spurious toasts on every Allow/Reject, tool rows finish in the right state, and inline edit won't clobber a file you edited mid-run. All eight fixes came out of a detailed adversarial audit of the extension.
Fixed
- Permission cards no longer get stuck after a CLI crash. If the CLI exited
while a permission card was pending, the card stayed on screen but clicking
Allow did nothing (the request id no longer existed on the reconnected
process). The disconnect path now drops the pending resolvers, closes any
orphaned diff tabs, and dismisses the cards. - No more "no pending permission for this diff" toast on every Allow/Reject.
The tab-close handler fired an implicit reject for the extension's own
programmatic diff close after a permission resolved, popping a confusing
toast on every normal approval. It now only reacts when a permission is
genuinely still pending for the closed diff. - Cancel / New chat no longer leaves orphaned diff tabs behind. A proposed-
change diff opened for an in-flight write/edit stayed open — showing
live-looking Accept / Reject lenses — after you cancelled or started a new
session. Those tabs are now closed and their tracking dropped. - Tool rows reach their final state. A tool that streamed multiple updates
(in-progress → completed/failed) could get dropped from tracking on the first
update, so it never dimmed for completed or turned red for failed. The row
now settles correctly and only stops being tracked once it's terminal. - Idle-timeout watchdog no longer fires against the wrong run. After a
cancel-and-resend or a new session, a watchdog armed for the previous prompt
could fire a spurious cancel. Cancelling now disarms it. - Inline edit won't clobber a file you edited while it was running. If the
document changed during the (possibly minutes-long) model call, the edit is
now skipped with a warning instead of silently overwriting the wrong region. - Internal: control-plane request timers are now cleared when the response
arrives, and per-turn tool-call element references are released — small
resource-hygiene fixes with no user-visible behaviour change.
v2.6.0
Chat-surface polish: the conversation survives a window reload, light themes are readable, the keybindings no longer fight VS Code's defaults, Esc stops a run, "New chat" keeps your CLI (and MCP servers) warm, and the permission card shows every option the agent offers.
Added
- Esc stops an in-flight run from the chat input — mirrors the Stop button.
- Reject-always in the permission card. The card now renders the actual
option set the CLI offers (Allow once / Allow for this session / Reject /
Reject for this session) instead of a hardcoded three, so a future CLI
option shows up with no extension change.
Changed
- "New chat" no longer respawns the CLI. It now opens a fresh session on
the running process, so warm MCP servers stay up and there's no relaunch
lag — the CLI already supports multiple sessions per process.
Fixed
- Your conversation comes back after a window reload. The CLI re-attaches
the previous session server-side, but the webview rendered blank — so it
looked like the chat was lost while the agent still had the full context.
The transcript is now replayed on reconnect ("Restored previous chat"). - Readable on light themes. ~30 hardcoded translucent-white surfaces and a
dark code-block background painted white-on-white (and dark-on-light code) on
light themes. They now use VS Code theme tokens (--vscode-*), so code,
diffs, borders, and buttons adapt to whatever theme you run. - Keybindings stop shadowing VS Code defaults.
⌘⇧C(open chat) collided
with "Open New External Terminal" and⌘⇧X(send selection) collided with
the Extensions view; both moved to⌘⌥-based shortcuts (⌘⌥C/⌘⌥X).
v2.5.1
Security: the manual-mode permission gate now fails closed. If the extension can't put the agent into manual mode on connect, it refuses to send prompts (with a clear message) instead of letting the agent run tools unguarded.
Security
- Manual-mode gate fails closed. On connect the extension asks the CLI to
enter manual mode (so dangerous tools require approval). If that request fails
— e.g. a transient error or a CLI too old to support it — the session would
otherwise stay in unguardedautomode. The extension now retries once and,
if it still can't arm the gate, refuses to send prompts and surfaces an
actionable error ("update the Codeep CLI and reload"), rather than silently
running tools without confirmation. Pairs with the CLI 2.7.0 ACP hardening.
Changed
- Pin the
codeep-reviewCI workflow to the immutablecodeep-action@v1.0.2.
v2.5.0
Blockquotes render in chat again, and file edits containing a
$now apply literally instead of corrupting. Also hardens link rendering against an attribute-injection edge case.
Fixed
- Blockquotes render again. The chat markdown renderer escaped
>to>
before checking for blockquote lines, so the blockquote branch was dead code
and> quoteshowed as plain text. Fixed. - Edits containing
$apply literally. Synthesizing the "after" text for an
edit_filediff usedString.replace(old, new), which interprets$&,$$,
$1in the replacement — corrupting any edit whose new text contained$
(template literals, shell vars, regex). Now inserted verbatim. - Link rendering hardened. The markdown escaper didn't escape
", so a
model-supplied link URL containing a quote could break out of thehref
attribute. Quotes are now entity-encoded.
v2.4.1
Push your profile to the dashboard from the editor.
Added
- Codeep: Sync Profile to Dashboard — runs
/me syncthrough the CLI to push
your~/.codeep/profile.mdto codeep.dev (and pull it on a fresh machine).
v2.4.0
Codeep adapts to you: edit your user profile from the editor, toggle opt-in auto-learn, and a "Personalize Codeep" walkthrough step. Pairs with CLI 2.2.0's
/meprofile.
Added
- Codeep: Edit Profile / Codeep: Edit Project Profile. Open (and scaffold
on first use)~/.codeep/profile.mdand the workspace.codeep/profile.md—
a short description of how you like to work (reply language, style, stack,
"always / never"). The CLI/ACP agent injects these into its context on every
run, so@codeepand the chat adapt to you. - Codeep: Toggle Profile Auto-Learn + the
codeep.autoLearnProfilesetting.
Lets Codeep quietly learn durable preferences from sessions into a separate
profile.learned.md. Pushed live to the running CLI and applied on every
connect. Off until you turn it on; review with the CLI/me, clear with
/me forget. - "Personalize Codeep" walkthrough step in the Get Started walkthrough.
v2.3.0
Deeper editor integration: a
@codeepparticipant in the native Chat view, a#codeepSkillsagent tool, generate commit messages from the Source Control panel, a native Sessions tree, JSON validation for MCP config, and Workspace Trust support.
Also ships the editor features from the (unreleased) 2.2: Code Actions lightbulb (Explain / Improve / Add tests / Add doc comment / Fix), a status-bar model picker, a
codeep.baseUrlsetting for self-hosted OpenAI-compatible endpoints, and a Get Started walkthrough. See the 2.2.0 entry below for details.
Added
@codeepchat participant. Invoke Codeep from the native VS Code Chat
view — type@codeepand ask, or use@codeep /explainand@codeep /review
with a selection. Answers come from your configured Codeep provider/model (via
the CLI), not VS Code's model picker. Runs on its own session, independent of
the sidebar chat.#codeepSkillslanguage-model tool. Exposes the workspace's Codeep skill
bundles (.codeep/skills/*/SKILL.md) to VS Code agent mode and#-references,
so the native agent can discover and follow your project's own workflows.- Generate Commit Message. A sparkle button in the Source Control title
(and Codeep: Generate Commit Message in the palette) reads your staged
diff — falling back to the working-tree diff — and writes a Conventional
Commits message into the commit box. It asks before replacing a message
you've already typed. - Sessions tree view. A native Sessions view in the Codeep sidebar
lists your saved conversations (title + age). Click to load one into the
chat; use the inline trash to delete; the title bar has New Session +
Refresh. Stays in sync with the chat panel. - MCP config validation.
.codeep/mcp_servers.json(project and global)
now gets JSON schema validation + autocomplete — catches a mistyped
command/args/envbefore you start a session.
Changed
- Workspace Trust — the extension now declares limited support for
untrusted workspaces. Codeep runs a local agent that can edit files and run
commands, so in untrusted folders you'll be reminded to review permission
prompts carefully. - Minimum VS Code raised to 1.95 — required for the stable Chat Participant
and Language Model Tools APIs.
Notes
- No new CLI requirement — 2.3.0 builds on ACP methods already in the shipped
CLI. Pure additive UI; safe upgrade with zero migration.
v2.1.1
Custom OpenAI-compatible endpoints now work through the extension. Point Codeep at a self-hosted vLLM / LiteLLM / LM Studio server and use it in the VS Code chat — no commercial provider required.
Added
- Custom (OpenAI-compatible) endpoint support (via CLI 2.1.1). Run any
OpenAI-compatible server — vLLM, LiteLLM, LM Studio, text-generation-webui —
and the extension talks to it through the samecodeepagent. Configure it
once in the CLI: set providercustom+customBaseUrl
(e.g.http://host:8000/v1) in~/.codeep/config.jsonor via
/settings → Custom Base URL, then pick your model with/model. The
openaiprovider also honors theOPENAI_BASE_URLenv var.
Requires
- CLI 2.1.1+ on your
PATH. The extension is a thin client that spawns
codeep acp, so endpoint resolution happens in the CLI — there's no separate
extension setting and nothing to configure inside VS Code beyond the shared
~/.codeepconfig. Runnpm i -g codeep@latestorbrew upgrade codeep.
Notes
- No extension code changes — this is a version-parity release so the
marketplace listing reflects that CLI 2.1.1 unlocked self-hosted / custom
endpoints for editor users too. Safe upgrade with zero migration.
v2.1.0
Surfaces the new CLI 2.1.0
/recallcommand in the chat autocomplete and the Settings panel. Search across every saved session — not just the current one — with--summarizefor an LLM recap of what you actually did.
Added
/recallchip in chat autocomplete + Settings → Commands. Type
/recall <query>to search across ALL your saved sessions (vs
/search, which scans only the current conversation). Append
--summarizefor an LLM-written recap of what you accomplished across
the matching sessions, or--resumeto jump straight into the
top-matching one. The extension just inserts the command — the CLI
does the cross-session search, ranking, and summary.
Requires
- CLI 2.1.0+ on your
PATH. The extension is a thin client over the
localcodeepbinary, so/recallonly works oncecodeep --version
reports 2.1.0 or newer. Runnpm i -g codeep@latestor
brew upgrade codeepif your shell still shows 2.0.x.
Notes
- Pure additive command-list entry — no webview, activation, or settings
schema changes. Safe upgrade with zero migration. The CLI 2.1.0 release
also adds AI-generated session titles (so/recalland/sessions
read like "OAuth2 migration" instead of raw IDs) and portable
personalities + custom-command sync viacodeep account sync.
v2.0.3
Surfaces the new CLI 2.0.3 commands as one-click chips in the Settings panel:
/personality(six built-in agent tones plus your own from.codeep/personalities/*.md) and/insights(activity summary over the last N days).
Added
/personalitychip in Settings → Commands → Personalization.
Click to scaffold a/personalityprompt in the chat input. Type a
preset name (concise,verbose,security,senior-reviewer,
junior-mentor,ship-it) oroffto clear. Custom personalities
from.codeep/personalities/<name>.md(project) and
~/.codeep/personalities/<name>.md(global) work the same way —
CLI handles the lookup, extension is just a launcher./insightschip in Settings → Commands → Agent flow. Click to
insert/insights— append--days Nfor a custom window
(default 7 days). Output renders in the chat as a Markdown table:
runs, tool actions, active time, by-project / top-tools /
most-touched files / recent runs.
Requires
- CLI 2.0.3+ on your
PATH(the extension is a thin client over
the localcodeepbinary, so the chips just insert text — the CLI
does the actual work). Runnpm i -g codeep@latestor
brew upgrade codeepif your shell still shows2.0.2or older
fromcodeep --version.
Notes
- No webview / activation / settings schema changes — pure additive
chips in the existing Settings panel. Safe upgrade with zero
migration.