AI coding

Any model. Every change approved.

Connect the provider you already pay for, or a model on your machine. Ask, plan, build, debug and review in the project, with every write shown as a diff and every command waiting for your yes.

AgentsOllama · local
You

Why does /me return 500 when the session token is expired?

Agent · Claude
  • Read src/auth/session.rs, src/routes/me.rs
  • Found unwrap() on the expired-token path at session.rs:88
  • Proposed change · 1 file · +4 −1 · Approve?
You

Approved. Run the auth tests.

Agent · Claude
  • Ran cargo test --test auth · allowed command
  • 9 passed · 1 new: expired_token_returns_401
You switched to Ollama · local

Summarise what changed for the PR description.

Product preview. Agent modes, diffs shown before writes, allowed commands and switching providers per task work in the development build on macOS.

Five modes, five sets of permissions

Switching mode changes what the agent is allowed to do, not just how it answers.

  1. Ask

    Read-only. Questions about the code, the repository and your terminal output.

  2. Plan

    Investigate and propose a plan you can edit before anything runs.

  3. Build

    Create and change files. Every write is a diff you approve.

  4. Debug

    Reproduce, read the failure, propose the fix, run the test you allow.

  5. Review

    Read a branch or a diff and report problems. Nothing is changed.

Switch models per task

A strong hosted model for the hard change, a local model for the summary. Keys stay in your OS keychain, and you see what will be sent before it goes.

Hosted providers bill you at their own rates. Local models are free to run.

Planned Signing in with a coding-agent subscription you already have.

Providers
Coding-agent accountsPlanned
Claude · SonnetYour key, in the OS keychainBilled by Anthropic

you Why does the export route skip the rate limiter?

claude Reading src/api/export.ts and src/app.ts. The limiter is registered after the export router, so requests to /v1/export are handled before it runs. Moving app.use(rateLimit()) above the router fixes it; I can prepare the diff.

Product preview. Claude, OpenAI, Gemini and OpenAI-compatible keys, and Ollama and LM Studio detection, work in the development build on macOS. Coding-agent accounts are planned.

No Vekrun subscription. Hosted providers bill you directly; local models are free to run.

From question to approved change

  1. Pick a model

    Your Anthropic, OpenAI or Google key, any OpenAI-compatible endpoint, or Ollama and LM Studio on your machine.

  2. Ask in the project

    The agent sees the files, the Git state and the terminal output you choose to share.

  3. Approve the change

    Changes arrive as diffs. Commands wait for your yes unless you allowed them.

  4. Keep what matters

    Conversations are saved, searchable and forkable. Memory is scoped to you, the project or a task, and you can delete it.

Where this stands

Vekrun is in development. There are no public releases yet. Anthropic, OpenAI, Gemini and OpenAI-compatible keys, Ollama and LM Studio, the five modes, diff approvals, allowed commands, the egress preview and scoped memory work in the development build on macOS. Downloading local models from inside Vekrun and coding-agent subscriptions are planned.

See the roadmap