Kendr Code for VS Code
Local Git and verification
Code-changing Agent runs require local Git. Kendr initializes a non-Git project
before starting Agent execution, without staging files, creating commits, adding
remotes, or pushing. Existing repositories and uncommitted work are preserved.
Ask and Plan remain available without Git. Git setup errors must be resolved
before Agent work starts; Kendr's checkpoints remain the rollback mechanism.
Finished runs distinguish recorded checks passing from incomplete verification.
Neither a finished loop nor a successful syntax check guarantees a working app.
Project-specific instructions belong in root/scoped KENDR.md or AGENTS.md;
.kendr/KENDR.md is generated factual memory, not an instruction file.
Kendr Code brings a standalone agentic coding workspace into VS Code. Use
local, self-hosted, or hosted models; keep multiple coding sessions; review
changes; approve tools; work in isolated Git worktrees; and return to durable
conversations without leaving the editor. Kendr Desktop is optional.
Highlights
- Chat on the right. Open Kendr Code from its logo in VS Code's secondary
sidebar and keep the conversation beside your editor.
- Editor toolbar launcher. Open Kendr from its official logo at the top
right of any file editor.
- Sessions on the left. Use the Kendr Activity Bar logo to create, find,
switch, rename, refresh, or expand durable coding sessions.
- Multiple conversations. The right sidebar has a dedicated searchable
Chats screen. Select a row to enter its thread and use Back to return to the
list without replacing editor documents.
- Cross-project session library. Search conversations across every Kendr
project, keep important work pinned, archive completed work, or fork a
settled conversation into another project.
- Optional editor tabs. Open any conversation in a retained editor tab when
you need more room or a side-by-side layout.
- Standalone background runtime. Kendr starts its own bundled authenticated
runtime. It does not discover or launch Desktop, even when Desktop is installed.
There is no runtime chooser in the normal
workflow, and a workspace that has never used Kendr does not start a runtime
until you open a Kendr view.
- Local and hosted model routes. Add Ollama, LM Studio, vLLM, llama.cpp,
OpenAI-compatible endpoints, OpenAI, Anthropic, Google AI, xAI/Grok, or Kendr
Hosted from VS Code, with Agent/Ask/Plan compatibility enforced in the
composer.
- Reviewable coding work. Follow streaming responses, tool activity, plans,
todos, approvals, changed files, checkpoints, memories, previews, and
delegated-agent progress in one conversation.
- Native review. Open each changed file in VS Code's side-by-side diff
editor, edit an agent's plan as Markdown, and explicitly start implementation
from the reviewed plan.
- Controlled context. Type
@ to add workspace files, paste a screenshot
or attach an image, see usage against the selected model's context window,
and compact a long conversation without starting over.
- Browser takeover. Open the task's browser with Kendr Code: Open Browser,
choose Take over, and complete sign-in directly in the page. Resume
Kendr returns control without changing the browser session. Closing the
panel leaves the browser paused.
- Work from the editor. Keyboard shortcuts, editor and Explorer context
menus, a lightbulb fix action, terminal output capture, and the bundled Kendr
CLI in an integrated terminal keep the code in front of you.
- Resilient long-running work. Transient provider outages, malformed model
actions, and recoverable checklist/verifier gaps stay live with visible,
cancellation-aware retry status; interrupted event streams resume from the
last durable event without replaying completed activity. Credit exhaustion,
authentication, and workspace-safety boundaries still stop explicitly.
Getting started
- Install the Kendr Code package for your operating system and CPU, then
reload VS Code when prompted.
- Open a local project folder in VS Code. The bundled runtime starts
automatically; Kendr Desktop is not required.
- Open the Kendr panel and sign in using an email code or Continue in
browser. The email form uses server-provided resend and expiry timing when
available.
If a saved session cannot be checked during a temporary outage, use
Retry saved session.
- Click the Kendr logo on the right to open the Chats screen, then choose a
conversation or select New chat.
- Click the Kendr logo on the left to open Sessions, then start a new
session or select an existing one.
- Review the displayed project path and explicitly trust it when you want
Kendr to work with that folder.
- Select Add Model or Provider Account, connect a subscription, API, hosted
service, or local runtime, and choose a model on one of its compatible
interaction modes.
Set up local models is also available from the sign-in screen. This performs
local setup without enabling hosted services or changing privacy consent. A
Kendr account is not required for an independently configured, executable
provider connection, including local Ollama. A runtime in Privacy
Mode or Local-only Mode must permit hosted sign-in before account login can
complete. The sign-in screen provides recovery guidance when account or runtime
verification cannot complete.
Default startup and the legacy auto setting use only the bundled local runtime.
They do not launch Desktop as a fallback when startup fails. Get Kendr Desktop
is an optional promotional download, not a requirement or a runtime repair.
Desktop integration is available only when explicitly selected in advanced
settings. Connect to Kendr Server explicitly selects an external server;
if unavailable, it falls back to the bundled runtime, not Desktop.
External tokens are stored in VS Code SecretStorage,
not in settings or workspace files. Connect to Kendr Server remains in the
Command Palette for intentionally managed or remote kendr serve processes.
Keyboard shortcuts and editor integration
| Action |
Shortcut |
Also available from |
| Open or focus the chat |
Ctrl+Alt+K (Cmd+Alt+K) |
Editor title logo, status bar |
| Add the selection (or active file) to the chat |
Ctrl+Alt+Shift+K |
Editor right-click → Add Selection to Chat |
| Fix the Problems at the cursor |
Ctrl+Alt+Shift+F |
Lightbulb → Fix with Kendr Code, editor right-click |
| New conversation |
Ctrl+Alt+Shift+N |
Sessions view, chat header |
| Add a file to the chat |
— |
Explorer or editor-tab right-click → Add File to Chat |
| Add terminal output to the chat |
— |
Terminal right-click → Add Terminal Selection to Chat |
| Open the Kendr CLI |
— |
Terminal right-click → Open Kendr CLI in Terminal |
| Attach an image |
— |
Paste into the composer, + → Image, or Attach Image to Chat |
A selection attaches as a line-bounded context chip and is read from the saved
file when the message is sent. Terminal output lands in the draft as a fenced
block, bounded to its last 12,000 characters. Images stay on the host until the
turn starts, then upload to the task; models without vision receive a textual
description. The Get started with Kendr Code walkthrough (Help → Get
Started) covers the same flow. In multi-root windows, Choose Workspace
Folder selects the folder Kendr binds to.
Sessions and chat
The left Sessions view is the durable conversation navigator. Its title actions
create a session, search, and refresh the list. Conversations from every Kendr
project are grouped into Pinned, Needs attention, Recent, Older, and Archived.
Selecting a session focuses the right chat, switches to its project context,
and attaches the chat to that conversation. Session context actions can pin,
archive, unarchive, fork, rename, remove, or open a conversation in an editor
tab. Forking can target another project without replacing the original
conversation.
New Conversation opens an empty composer immediately and creates the durable
session only when you send its first message. For Git projects, select Current
workspace or Isolated worktree directly in that composer.
The right sidebar separates navigation from conversation work. Its Chats screen
contains search and full conversation rows; selecting one opens a focused thread
with safe rich Markdown, code and message copy actions, prompt history, slash
commands, context chips, bounded file attachments, and an auto-sizing composer.
Running turns can be stopped or steered without losing the session.
Type @ in the composer to search workspace paths and insert a file reference
without leaving the keyboard. Kendr shows the current usage against the
selected model's advertised context window and warns as it approaches the
limit. Use /compact or Kendr Code: Compact Conversation Context to ask the
backend to condense an inactive conversation while preserving its durable
history.
Models and providers
The extension can create model connections through its own standalone backend
or read the same safe catalog from Kendr Desktop. It supports local Ollama
models and OpenAI-compatible local or self-hosted runtimes such as LM Studio,
vLLM, and llama.cpp, as well as OpenAI, Anthropic, Google AI, xAI/Grok, Kendr
Hosted, and supported subscription-runtime connections. Choose Provider
subscription in chat or run Kendr Code: Connect Provider Subscription to
see the reviewed account-login catalog. OpenAI Codex can use provider-managed
ChatGPT login through the official runtime. Cataloged methods that are not safe
or permitted to execute remain visible with their exact unavailable reason.
The current OpenAI Codex preview appears in Ask and Plan in Kendr Code;
it supports compatible research and code-review surfaces but does not enable
full Agent mode or act as an OpenAI API-key replacement.
The model picker groups choices by connection and labels each route Local
or Cloud. It shows only ready, enabled, policy-eligible routes compatible
with the selected Agent, Ask, or Plan mode. Choose Find local models with
Ollama directly in the picker for local discovery, or Connect another model
provider for subscriptions, APIs, and other runtimes. The only + in the
composer is the workspace-file attachment control.
Kendr Hosted exposes every entitled text-generation route to Agent mode. Models
with native tool calling use it directly; other hosted text models use Kendr's
constrained coding-action transport, so the model list is not artificially
limited to tool-advertising routes.
Use Kendr Code: Detect Local Models to test the standard loopback endpoints
for Ollama, LM Studio, vLLM, and llama.cpp and connect a detected server without
typing its URL.
Provider credentials, endpoints, and billing identities remain backend-side;
they are never copied into the chat webview or regular VS Code settings. A turn
or inline completion carries only the selected model, connection, and
execution-route identifiers, preventing a same-named model on another account
from being selected accidentally.
Coding capabilities
- Git-aware local and isolated-worktree sessions.
- Explicit active-file, selection, diagnostics, rich
@ file references, and
bounded multi-file context.
- Model-aware context-window usage, warning thresholds, and manual compaction.
- Inline approvals and structured questions from the coding agent.
- Native per-file diff review, editable plan review, checkpoints, and
conversation rewind.
- Pinned, archived, forked, and cross-project conversations.
- Project branches, skills, MCP assignments, and capability controls.
- Editable workspace memories and delegated-agent activity.
- Detected app previews opened through VS Code's Simple Browser.
- Optional fill-in-the-middle and same-line next-edit suggestions.
Commands
| Command |
Action |
Kendr Code: Open Chat |
Open or focus the right Kendr chat |
Kendr Code: Open Conversation |
Select a durable session and open its chat |
Kendr Code: Open Conversation in Editor |
Open the selected session in a retained editor tab |
Kendr Code: New Conversation |
Create a local or isolated-worktree session |
Kendr Code: Rename Conversation |
Rename a durable session |
Kendr Code: Search Conversations |
Search and switch durable sessions |
Kendr Code: Pin Conversation |
Keep a conversation at the top of Sessions |
Kendr Code: Unpin Conversation |
Return a pinned conversation to its normal group |
Kendr Code: Archive Conversation |
Move completed work into Archived |
Kendr Code: Unarchive Conversation |
Restore an archived conversation |
Kendr Code: Fork Conversation |
Continue a settled conversation in a selected project |
Kendr Code: Remove Conversation |
Remove a session after explicit confirmation |
Kendr Code: Show Workspace Changes |
Open the selected session's Git diff |
Kendr Code: Open Plan for Review |
Open the current plan as an editable Markdown document |
Kendr Code: Start Plan Implementation |
Save the reviewed plan and start its implementation |
Kendr Code: Compact Conversation Context |
Condense an inactive conversation's working context |
Kendr Code: Open Changes in Source Control |
Open VS Code's native Source Control view |
Kendr Code: Open App Preview |
Open a detected application preview |
Kendr Code: Open Browser |
View and take over the task's existing browser session |
Kendr Code: Trust Current Project |
Trust the displayed folder path explicitly |
Kendr Code: Stop Active Turn |
Stop the current agent turn |
Kendr Code: Add Selection to Chat |
Attach the editor selection, or the active file, as context |
Kendr Code: Add File to Chat |
Attach a workspace file from the Explorer or an editor tab |
Kendr Code: Add Terminal Selection to Chat |
Put the selected terminal output into the draft |
Kendr Code: Fix Problems with Kendr |
Attach the diagnostics at the cursor and draft a fix request |
Kendr Code: Attach Image to Chat |
Attach PNG, JPEG, GIF, or WebP images to the next message |
Kendr Code: Open Kendr CLI in Terminal |
Run the bundled Kendr CLI in an integrated terminal |
Kendr Code: Choose Workspace Folder |
Multi-root windows: pick the folder Kendr binds to |
Kendr Code: Toggle Inline Completions |
Enable or disable predictive ghost text |
Kendr Code: Refresh |
Refresh projects, sessions, models, and conversation state |
Kendr Code: Add Model or Provider Account |
Connect a subscription account, local runtime, hosted service, or API provider |
Kendr Code: Connect Provider Subscription |
Open the provider-owned subscription login catalog |
Kendr Code: Detect Local Models |
Find supported local model servers on standard endpoints |
Kendr Code: Refresh Models |
Reload ready local and cloud execution routes |
Kendr Code: Connect to Kendr Server |
Save the bearer token for an intentionally managed kendr serve process; startup still falls back automatically if it is unavailable |
Kendr Code: Advanced: … runtime overrides |
Hidden unless kendr.showAdvancedRuntimeCommands is enabled |
Kendr Code: Sign In to Kendr |
Sign in and enable entitled hosted models |
Kendr Code: Sign Out of Kendr |
Revoke the VS Code account session |
Security and privacy
Kendr Code does not infer project trust from an open folder. File changes,
approvals, capability changes, and checkpoint restores remain explicit and are
handled by the Kendr backend's audited authority paths. The standalone service
binds only to a random loopback port, uses a new random bearer token for every
launch, verifies the bundled executable and runtime tree against its
source-bound packaged manifest, and uses a separate owned supervisor. By default,
kendr.code.keepRuntimeRunning keeps ongoing work alive after VS Code closes.
Reopening authenticates the private per-storage descriptor, verifies its bundled
artifact binding, and reattaches. Project windows share that runtime, while each
task remains bound to its registered, trusted workspace. Closing a window only
detaches from an existing shared runtime, even if the setting was changed while
connected. Switching runtime modes or cancelling startup also preserves shared
work; switching back reattaches to a compatible existing runtime. Explicit Stop
Runtime affects all windows using that runtime. To use
foreground ownership that ends with the extension, disable the setting and
explicitly stop the existing shared runtime before reconnecting. The supervisor attempts at most three recoveries in
60 seconds after unexpected backend exits. It does not start on OS login or survive
shutdown of the machine. Browser, editor, and other tools that require an open
VS Code host remain unavailable while it is closed; pending approvals still wait
for the user. Microsoft signs Marketplace-delivered VSIX packages; native-signed
Kendr runtimes add another verification layer where a platform signing identity
is available.
Attachments are restricted to files inside the selected workspace, reject
binary and unavailable files, and use bounded context budgets. Hosted-provider
credentials and local-provider configuration remain backend-side. Account
sessions and local API tokens are kept in VS Code SecretStorage and are not
exposed to the chat webview.
Browser sign-in uses OAuth authorization code flow with PKCE. The callback
returns only to the authenticated loopback runtime, and refresh tokens remain
in VS Code SecretStorage.
Retry-safe API calls use bounded deadlines, server-directed backoff, and
idempotency protection. Event streams detect stale connections and resume from
the last durable cursor with duplicate suppression, so reconnecting does not
repeat completed events.
Inline completion is disabled by default. When enabled, it sends only a bounded
prefix and suffix from the visible document plus non-content request metadata.
Remote workspaces
For Remote SSH, dev containers, or WSL, install the matching Kendr Code platform
package in the remote workspace extension host. Its bundled backend then runs
in the same environment as the workspace. External runtime mode remains
available when you intentionally operate a separate kendr serve process.
Compatibility
Kendr Code supports VS Code 1.90 and newer. Standalone release packages are
produced for Windows x64 and arm64, Linux x64 and arm64, and macOS x64 and
arm64. Release automation verifies platform signing or notarization where the
operating system provides it, verifies signed checksums and provenance for
Linux, and publishes checksums, a CycloneDX SBOM, and SLSA/in-toto provenance
with each release set. VS Code 1.106 and newer show the dedicated right-sidebar
chat launcher. Earlier supported versions keep Sessions and a Chat fallback in
the left Activity Bar.
Support
Visit kendr.org or email support@kendr.org.
The public extension is available on the
Visual Studio Marketplace.