codetta
v0.5.1
Published
A lightweight desktop code editor with first-class AI. Bring your own model — Anthropic, OpenAI, Ollama, or Claude Code.
Maintainers
Readme
Codetta
A lightweight desktop code editor with first-class AI. Bring your own model — Anthropic, OpenAI, Ollama, or Claude Code.
Website · codetta.dev Issues · github.com/getcodetta/codetta/issues
What it is
Codetta is a small, fast desktop code editor that doesn't try to be VS Code. It ships in ~30 MB instead of 200+, has no telemetry, and treats AI as a first-class panel — your AI, with your keys.
Highlights
- Best-in-class Claude Code integration — uses your existing Claude Pro / Max subscription via the CLI. GUI permission cards (no more
--dangerously-skip-permissions), session resume that hydrates the full prior transcript, branch from any past turn, MCP server browser, live spend tracking. See What's new in v0.2.0. - BYOK AI panel — Claude Code, Anthropic API, OpenAI, and local Ollama all in one chat. Switch models mid-conversation.
- Multi-workspace — open several projects side by side; each has its own isolated, persistent state (open files, terminals, layout, AI chat history).
- Multi-terminal with pop-out — drop terminals into the bottom panel, or pop them out into their own OS window and re-dock when done. PTY survives the move.
- Drag-and-drop tab splits — drop any tab onto an edge to split a pane horizontally or vertically.
- Integrated git — branch picker, source-control panel, line-level gutter markers, diff viewer.
- Monaco editor under the hood — same engine as VS Code, with syntax highlighting, find/replace, formatting.
- ~30 MB native — Tauri 2 + Rust backend, no Electron, no Node runtime required to run.
- No telemetry — zero phone-home. Your code, your keys, your machine.
What's new in v0.2.0
The Claude Code integration overhaul. Full notes in CHANGELOG.md:
- GUI permission cards replace
--dangerously-skip-permissions— every Edit / Write / Bash / MultiEdit / NotebookEdit shows a real Allow / Allow always / Deny modal with tool-specific previews (literal command for Bash, unified diff for Edit, full content for Write). No more reaching for the unsafe bypass flag. - Session continuity — multi-turn chats actually remember context. Codetta captures Claude Code's
session_idand passes--resumeon every follow-up turn, slashing per-turn cost and preserving the server-side prompt cache. - Session picker + transcript hydration — browse past sessions for the workspace, click to restore the full conversation (not just an empty pane).
- Branch from any past turn into a new chat tab without disturbing the current one.
- Timeline scrubber — slider over past turns. The "no wrapper has this" feature.
- Tool result rendering + inline diff card — see what Claude actually read / ran, with
±line stats and an expandable unified diff for every Edit. - TodoWrite checklist sticky above the chat with live pulse on the in-progress item.
- Spend dashboard — per-chat cumulative cost + budget threshold + warning toast.
- MCP server browser — one-click installs for popular MCPs (filesystem, git, github, fetch, puppeteer, sqlite, postgres) per user or project scope.
- Stream hardening — fixes the documented #1920 hang and large-tool-result truncation.
Install (end users)
Windows
Download the installer from the latest release:
| File | Use this if… |
|---|---|
| Codetta_{version}_x64-setup.exe | Recommended — NSIS installer, adds Start Menu entry + uninstaller |
| Codetta_{version}_x64_en-US.msi | You're deploying via SCCM / Intune / GPO |
| codetta.exe | Portable — run without installing (single executable) |
After install, launch Codetta from the Start Menu. The first run prompts you to open a folder.
Locations on disk
| Item | Path |
|---|---|
| Binary (per-user install) | %LocalAppData%\Codetta\ |
| Binary (system install) | C:\Program Files\Codetta\ |
| Workspace state | %AppData%\codetta\ |
| Uninstall | Settings → Apps → Codetta |
macOS
Download Codetta_{version}_universal.dmg from the latest release — universal binary covers both Apple Silicon and Intel.
First-launch only — Gatekeeper will warn because the binary isn't notarized yet (notarization is on the roadmap). Either right-click the app → Open → Open to bypass once, or run
xattr -cr /Applications/Codetta.appafter first install.
Linux
| File | Use this if… |
|---|---|
| codetta_{version}_amd64.AppImage | Recommended — portable, runs on most distros. chmod +x then double-click. |
| codetta_{version}_amd64.deb | Debian / Ubuntu. sudo apt install ./codetta_{version}_amd64.deb |
Setting up AI (one-time, per provider)
Open Settings → AI Providers and add a key for whichever provider(s) you want.
| Provider | What you need | Cost |
|---|---|---|
| Claude Code CLI ⭐ | Install Claude Code and claude login | Uses your existing Claude.ai Pro / Max subscription — no extra billing. Or pay-per-token if you log in with an API key. |
| Anthropic Claude (API) | API key from console.anthropic.com | Pay-per-token |
| OpenAI | API key from platform.openai.com | Pay-per-token |
| Ollama (local) | Install Ollama and ollama pull qwen2.5-coder:7b (or any model) | Free, local |
💡 Already pay for Claude Pro or Max? Use the Claude Code CLI option instead of the API. After
claude login, Codetta talks to Claude through the CLI, which runs against your subscription (5-hour usage caps per your plan tier) rather than the metered API. For most coding work this is significantly cheaper than per-token API billing.
You can mix providers freely — switch models from the chat panel's model picker mid-conversation.
Develop / build from source
Prerequisites
| | Version | Install | |---|---|---| | Node.js | 18+ | https://nodejs.org | | Rust toolchain | 1.77+ stable | https://rustup.rs | | Tauri prerequisites | per-OS | https://tauri.app/start/prerequisites/ | | (Windows) WebView2 | Auto-installed by Edge / Tauri bootstrapper | usually already present |
After installing Rust, make sure cargo is on your PATH. On Windows:
[Environment]::SetEnvironmentVariable("PATH", $env:PATH + ";$env:USERPROFILE\.cargo\bin", "User")Then close and reopen your terminal.
Clone and run
git clone https://github.com/getcodetta/codetta.git
cd codetta
npm install
npm run tauri devThe first run pulls Rust crates and builds the Tauri shell — expect 3–10 minutes. Subsequent runs are seconds (incremental).
Build a release installer
npm run tauri buildOutputs land in src-tauri/target/release/bundle/:
nsis/Codetta_{version}_x64-setup.exe— recommended Windows installermsi/Codetta_{version}_x64_en-US.msi— enterprise MSIsrc-tauri/target/release/codetta.exe— portable executable
Project layout
codetta/
├── src/ # React + TypeScript frontend
│ ├── components/ # UI: editor panes, terminal, AI chat, sidebar, etc.
│ ├── providers/ # AI provider adapters (anthropic, openai, ollama, claude-code)
│ ├── store.ts # Zustand state (workspaces, panes, files, terminals)
│ ├── actions.ts # Command palette commands
│ └── App.tsx # App shell + popout-window routing
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── lib.rs # Tauri command registration
│ │ ├── pty.rs # PTY (terminal) backend via portable-pty
│ │ ├── git.rs # Git operations
│ │ ├── fs_ops.rs # File system commands
│ │ ├── search.rs # Workspace file listing & content search
│ │ ├── watcher.rs # File-system change watcher
│ │ ├── workspace.rs # Persistent workspace state
│ │ └── claude_code.rs # Claude Code CLI bridge
│ ├── capabilities/ # Tauri 2 permission capabilities
│ └── tauri.conf.json # Bundle / window config
├── index.html # Vite entry
└── package.jsonUseful scripts
| Command | What it does |
|---|---|
| npm run dev | Vite dev server only (no Tauri shell) |
| npm run build | Type-check + build the frontend (no Tauri) |
| npm run tauri dev | Full app with Rust backend + hot reload |
| npm run tauri build | Production installers |
Contributing
Issues and PRs welcome at github.com/getcodetta/codetta.
Please follow DCO sign-off on commits (git commit -s) — no CLA required.
Scope statement — to keep Codetta lightweight and finishable, we deliberately do not plan to add: a full extension/plugin system, language-server protocol support, integrated debugger, telemetry, or built-in cloud sync. The goal is a fast, focused editor that does its job well.
License
FSL-1.1-ALv2 © 2026 Codetta Maintainers
Codetta is source-available under the Functional Source License. In short:
- ✅ Free for personal use, internal company use, education, research, and non-commercial work — read the source, modify it, build it, run it however you like.
- ✅ Free to contribute — fork, hack, send PRs.
- ❌ You may not repackage Codetta as a competing commercial product or hosted service.
- 🕒 Auto-converts to Apache 2.0 two years after each release — so every version eventually becomes fully open source.
If you want to use Codetta in a way the FSL doesn't allow, get in touch at [email protected].
