Code the Future

KalCode: One intelligence that operates your entire AI workspace.

Connect Claude Code, Codex, Gemini and the coding tools you already use — then operate them from one workspace.

Windows · Preview 0.1.1 · 4.4 MB All platforms and checksums

Works with the coding agents you already use

  • Claude Code Adapter built
  • Codex Detected · adapter planned
  • Gemini CLI Detected · adapter planned
  • And more providers Through the same runtime

The workspace

A real workspace. Not a chatbot.

Open a project, connect your providers, and get to work. Real terminals, provider panes and your agents, side by side.

Explore the product

Product preview · sample data Try it: every control works

KalCodeatlas-api

Mission Build, review, test and verify the signup limit Planned 3 checks passed

  1. Build Claude Code · Cover 429 in the e2e suite
  2. Review Codex · Review the signup limit
  3. Test PowerShell 7 · pnpm test && pnpm test:e2e
  4. Verify KalCode · 3 checks passed
Running command Auto

Claude Code 2.1

claude-sonnet-4-5 · Personal account

~/code/atlas-api

> fix the flaky checkout test, it fails about 1 in 10 runs on CI

Read(tests/checkout.spec.ts)

Read 84 lines

Read(src/checkout/reserve.ts)

Read 112 lines

The test reads stock before reserve() has written it, so the assertion races the update. I’ll await the decrement inside a transaction.

Update(src/checkout/reserve.ts)

Updated src/checkout/reserve.ts with 3 additions and 1 removal

40 const item = await findItem(sku);
41 - db.stock.decrement(item.sku, qty);
41 + await db.transaction(async (tx) => {
42 + await tx.stock.decrement(item.sku, qty);
43 + });

reserve() now resolves after the write. Running the checkout suite 20 times to be sure.

Bash(pnpm test checkout --repeat 20)

Running… 13 of 20 passed

Testing… (esc to interrupt · 48s)

Try “run the e2e suite”, or type / for commands
⏵⏵ edits run without asking · shift+tab to change ? for shortcuts
Reviewing Approve

Codex CLI (v0.155)

model: gpt-5-codex high

directory: ~/code/atlas-api

approval: on-request

validate the signup payload and return 422 on bad input

Explored

Read src/routes/signup.ts, src/lib/errors.ts

Edited src/routes/signup.ts (+12 -3)

3 + import { z } from "zod";
4 + const SignupBody = z.object({
5 + email: z.string().email(),
6 + password: z.string().min(12),
7 + });
⋮
41 - const { email, password } = await c.req.json();
41 + const parsed = SignupBody.safeParse(await c.req.json());
42 + if (!parsed.success) return c.json(fieldErrors(parsed.error), 422);

Checking the new branch against the error format the other routes use.

Reviewing (12s • esc to interrupt)

Ask Codex to change, explain or test something
⏎ send · ⇧⏎ newline · ⌃T transcript · ⌃C quit 96% context left
Thinking Plan
Gemini CLI

Tips for getting started:

  1. Ask about code, edit files or run commands.
  2. Be specific to get the best results.
  3. Add a GEMINI.md file to give it project context.
  4. Type /help for more.
compare rate-limit approaches for POST /signup, no code changes yet

ReadFile src/routes/signup.ts

Read 64 lines

SearchText 'rateLimit' in src/**

Found 3 matches in 2 files

Shell redis-cli INFO keyspace (Check what the local Redis holds)

db0:keys=1284,expires=12

A sliding-window counter in Redis fits best: the API already keeps sessions there, and a fixed window would let a burst through at each minute boundary.

Weighing sliding windows against fixed windows… (esc to cancel, 12s)

Using: 1 GEMINI.md file · 2 MCP servers ? for shortcuts
Type a message or @path/to/file
~/code/atlas-api (feat/rate-limit) no sandbox gemini-2.5-pro (94% context left)
KALVOICE Ready Hold F8 to talk to KalVoice

Typed into Claude Code

KalVoice · in development

Speak it. See it done.

Hold F8 to talk to KalVoice. Your words land in the focused agent; say a command and KalCode does it. On your device, unlimited.

Meet KalVoice

KALVOICE Done

Hold F8 to talk to KalVoice. Press and hold, speak, release.

“Build a user authentication system with tests.”
Command recognised
  1. Planning Three steps across two agents Queued Thinking Completed
  2. Claude Code implementing src/auth/session.ts, src/auth/routes.ts Queued Editing files Completed
  3. Codex reviewing Password hashing, session expiry, rate limits Queued Reviewing Completed
  4. Tests passing Unit 64 of 64 · E2E 12 of 12 Queued Testing Completed

Done · ready for your review

Product preview · sample data In development

Command center

Every thread. One dashboard.

What is running, what needs you, what is done — from runtime events, not from what a model says about itself.

Product preview · sample data Development build · KPIs are sample data

Live · atlas-api · 6 agents

Dashboard

1 approval needs you and 1 thread is waiting for your reply. 2 threads are working in atlas-api.

Last 24 hours · sample data

Working now

2

Waiting for you

2

Completed today

12

Terminals

2

Agent actions · 24 h 1,118

Threads 6

Needs approval

Codex wants to run: pnpm add zod

Install zod

Install a package

pnpm add zod in ~/code/atlas-api
Thread
Validate signup input
Provider
Codex
gpt-5-codex
Workspace
atlas-api
feat/signup-validation
Mode
Approve

Install packagesNetwork access Approve mode asks before installing packages.

Asked just now

  • Allow for workspace: requests like this one, in every thread of this workspace for 30 days.
  • Allow for thread: requests like this one, in this thread until it stops (24 hours at most).

Approved once. Codex ran pnpm add zod and continued.

Allowed for this workspace. Installs like this one won’t ask again in any atlas-api thread for 30 days.

Allowed for this thread. Installs like this one won’t ask again in “Validate signup input” until it stops.

Denied. Codex was told not to install packages and asked how to proceed.

Bypass allows local installs, so this runs without asking and is written to the audit log.

This mode denies package installs, so Codex receives a denial without asking you.

Nothing needs you right now. New requests appear here the moment an agent asks.

Recent activity

  1. Gemini CLI compared three limiter designs 1 min
  2. Claude Code awaited the stock write in reserve.ts 3 min
  3. Codex edited src/routes/signup.ts (+12 -3) 4 min
  4. Claude Code was paused by you 9 min
  5. Codex started reviewing the rate-limit middleware 12 min

Live terminals

  • Claude Code Testing

  • Codex Needs approval

  • Gemini CLI Completed

  • Claude Code Testing

  • Codex Needs your reply

  • Claude Code Paused

Parallel agents · planned

Complex goals. Coordinated agents.

A planner breaks the objective down, agents build and review in parallel, and KalCode verifies the result before anything is called done.

Product preview · sample data Planned · missions are not in the app yet

Goal: Build a user authentication system with tests

  1. Starts the mission. Unblocks Research, Coder, Frontend.
  2. Depends on Planner. Unblocks Coder.
  3. Depends on Planner, Research. Unblocks Reviewer.
  4. Depends on Planner. Unblocks Reviewer.
  5. Depends on Coder, Frontend. Unblocks Tester.
  6. Depends on Reviewer. Unblocks Deployer.
  7. Depends on Tester. Produces the verified result.
Verified · 3 checks passed Typecheck clean · Unit 64 of 64 · E2E 12 of 12. The production deploy waits for your approval.

Your keys, your rules, your machine

Your providers

Bring your own keys. Use your own accounts.

Claude Code, Codex and Gemini CLI run on the sign-in or API key you already have.

Claude Code · Fix flaky checkout test Running command Auto

Claude Code 2.1

claude-sonnet-4-5 · Personal account

~/code/atlas-api

> fix the flaky checkout test, it fails about 1 in 10 runs on CI

Read(tests/checkout.spec.ts)

Read 84 lines

Read(src/checkout/reserve.ts)

Read 112 lines

The test reads stock before reserve() has written it, so the assertion races the update. I’ll await the decrement inside a transaction.

Update(src/checkout/reserve.ts)

Updated src/checkout/reserve.ts with 3 additions and 1 removal

40 const item = await findItem(sku);
41 - db.stock.decrement(item.sku, qty);
41 + await db.transaction(async (tx) => {
42 + await tx.stock.decrement(item.sku, qty);
43 + });

reserve() now resolves after the write. Running the checkout suite 20 times to be sure.

Bash(pnpm test checkout --repeat 20)

Running… 13 of 20 passed

Testing… (esc to interrupt · 48s)

Try “run the e2e suite”, or type / for commands
⏵⏵ edits run without asking · shift+tab to change ? for shortcuts
Codex · Validate signup input Reviewing Approve

Codex CLI (v0.155)

model: gpt-5-codex high

directory: ~/code/atlas-api

approval: on-request

validate the signup payload and return 422 on bad input

Explored

Read src/routes/signup.ts, src/lib/errors.ts

Edited src/routes/signup.ts (+12 -3)

3 + import { z } from "zod";
4 + const SignupBody = z.object({
5 + email: z.string().email(),
6 + password: z.string().min(12),
7 + });
⋮
41 - const { email, password } = await c.req.json();
41 + const parsed = SignupBody.safeParse(await c.req.json());
42 + if (!parsed.success) return c.json(fieldErrors(parsed.error), 422);

Checking the new branch against the error format the other routes use.

Reviewing (12s • esc to interrupt)

Ask Codex to change, explain or test something
⏎ send · ⇧⏎ newline · ⌃T transcript · ⌃C quit 96% context left
Gemini CLI · Research rate-limit options Thinking Plan
Gemini CLI

Tips for getting started:

  1. Ask about code, edit files or run commands.
  2. Be specific to get the best results.
  3. Add a GEMINI.md file to give it project context.
  4. Type /help for more.
compare rate-limit approaches for POST /signup, no code changes yet

ReadFile src/routes/signup.ts

Read 64 lines

SearchText 'rateLimit' in src/**

Found 3 matches in 2 files

Shell redis-cli INFO keyspace (Check what the local Redis holds)

db0:keys=1284,expires=12

A sliding-window counter in Redis fits best: the API already keeps sessions there, and a fixed window would let a burst through at each minute boundary.

Weighing sliding windows against fixed windows… (esc to cancel, 12s)

Using: 1 GEMINI.md file · 2 MCP servers ? for shortcuts
Type a message or @path/to/file
~/code/atlas-api (feat/rate-limit) no sandbox gemini-2.5-pro (94% context left)

Product preview · sample data Claude Code adapter built · others planned

Provider setup

Built for control

You set the rules. Agents follow them.

Every mode on every plan. Anything outside your rules waits for you.

Plan. Read and plan only; nothing changes without a new mode. Agent authority: read only

Approve. Asks before changing files or running commands. Agent authority: asks first

Auto. Runs routine work; asks for anything consequential. Agent authority: routine work

Bypass. Runs without asking, except actions that leave this machine. Agent authority: broad local

Custom. Follows a custom permission profile, here “Code reviewer”. Agent authority: set by your profile

What an agent may do in each permission mode
Action PlanApproveAutoBypassCustom
Read filesfilesystem.read Allow Allow Allow Allow Allow
Edit filesfilesystem.write Deny Ask Allow Allow Deny
Run commandsterminal.execute Ask Ask Allow Allow Ask
Network accessnetwork.other Ask Ask Ask Allow Ask
Deploy to productiondeploy.production Deny Approval required Approval required Approval required Deny

Product preview · sample data Modes as designed

How permissions work

Local-first

Your code. Your machine.

Projects, threads and settings stay on your device. KalCode never pays for, resells or meters your AI usage.

  • Local database, on your device
  • Secrets in your OS keychain
  • Nothing proxied through KalCode
  • No telemetry in current builds
What stays on your device

Simple pricing

Power for every builder.

Every plan includes every provider, every permission mode and unlimited on-device dictation. Your AI usage stays on your own account.

Compare plans

Plans open at launch. Nothing is for sale today.

  • Free

    $0 /month

    Everything you need to run your coding agents from one workspace.

    • 250 KalVoice Requests a month
    • 2 threads running at once
    • Every provider and permission mode
    Download KalCode
  • MAX

    $25 /month

    For people who hand whole objectives to KalCode.

    • 10,000 KalVoice Requests a month
    • 20 threads running at once
    • Advanced missions with verification
    Download KalCode

Be first to run KalCode.

The preview is out for Windows. Your providers, your projects, one workspace.

Windows · Preview 0.1.1 · 4.4 MB