Desktop · Electron · Monaco

A coding agent
you can audit.

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.

EXPLORER
code-agent 212
  • src
  • electron
  • agent
  • runner.ts
  • subagents.ts
  • context.ts
  • renderer
  • package.json
  • README.md
subagents.tsrunner.ts
// 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));
}
AGENT gpt-5.4
Ask about this repository

Built for people who read the diff.

⌥

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.

⑂

Bounded sub-agents

Two or three read-only investigations run in parallel or as a small dependency graph, each with isolated context and a shared token budget.

◧

Context you can see

A live token indicator, configurable compaction thresholds, and a visible record of every file excerpt and memory item sent to the model.

✎

Project memory

Workspace-scoped facts and decisions you control. Add, edit, disable, or delete them; credential-looking text is rejected on save.

›_

Approved commands

Executables run directly with an argument array, never through an implicit shell, inside the workspace, with timeouts and process-tree cancellation.

⎇

Git-aware

Structured status plus bounded staged and unstaged diffs are available to the agent as read-only tools.

Security is the architecture.

Electron's renderer, preload, and main-process boundary is preserved. The renderer gets a small typed API, never generic IPC or Node.js.

Get started

Requires Node.js 22 or newer.

powershell
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.