Reviewable by default
Every file mutation shows a contextual unified diff with Reject, Allow once, and Always allow. The diff stays in the chat afterward.
Desktop · Electron · Monaco
Code Agent pairs a local editor with an agent that reads your repository, proposes changes as diffs, and waits for your approval before touching anything. Model requests and secrets never leave the main process.
// Read-only investigations, bounded per run export const SUBAGENT_BUDGET = 20_000; export async function delegate(tasks: Task[]) { const ready = tasks.filter(isReady); return Promise.all(ready.map(runReadOnly)); }
Every file mutation shows a contextual unified diff with Reject, Allow once, and Always allow. The diff stays in the chat afterward.
Two or three read-only investigations run in parallel or as a small dependency graph, each with isolated context and a shared token budget.
A live token indicator, configurable compaction thresholds, and a visible record of every file excerpt and memory item sent to the model.
Workspace-scoped facts and decisions you control. Add, edit, disable, or delete them; credential-looking text is rejected on save.
Executables run directly with an argument array, never through an implicit shell, inside the workspace, with timeouts and process-tree cancellation.
Structured status plus bounded staged and unstaged diffs are available to the agent as read-only tools.
Electron's renderer, preload, and main-process boundary is preserved. The renderer gets a small typed API, never generic IPC or Node.js.
safeStorageRequires Node.js 22 or newer.
PS> git clone https://github.com/sushilbang/code-agent.git PS> cd code-agent PS> npm.cmd install PS> npm.cmd start
Open a folder from the File menu, then add an OpenAI key from the key icon in the agent pane. Local inspection works without a key.