Skip to content

Repository files navigation

Codez

A macOS desktop app for running Claude Code sessions in parallel. Native Electron shell with persistent sessions, drag-and-drop reordering, themes, and auto-updates.

Codez app icon

Install

Download the latest .dmg from Releases, open it, and drag Codez to Applications.

Codez checks for updates automatically and will notify you when a new version is available.

Prerequisites

  • macOS (Apple Silicon)
  • Claude Code CLI installed and authenticated — install guide

What it does

Codez wraps the Claude Code CLI in a native app with session management. Each session is a full Claude Code conversation running in its own PTY (terminal emulator), so you can run multiple agents in parallel across different repos.

Features

  • Parallel sessions — run multiple Claude Code conversations side by side
  • Persistent history — sessions survive app restarts; resume where you left off
  • Drag-and-drop reordering — organize sessions manually in the sidebar
  • Session archiving — archive finished sessions, restore them later
  • Themes — 6 built-in themes (3 dark, 3 light)
  • Custom app icons — 9 icon variants to choose from
  • Keyboard shortcuts — Cmd+1..9 to jump between sessions, customizable bindings
  • Auto-updates — notifies when new versions are available on GitHub Releases

Roadmap

  • Voice input via local Whisper STT
  • Git worktree isolation per session
  • File diff review before committing
  • Additional agents (Gemini CLI, Mistral Vibe)

Development

git clone https://github.com/dakl/codez.git
cd codez
npm install
npm run dev

This rebuilds native modules, compiles TypeScript, starts the Vite dev server, and launches Electron with hot reload.

Commands

CommandDescription
npm run devStart dev mode (main + renderer + Electron)
npm run buildProduction build
npm testRun tests (vitest)
npm run lintBiome lint check
npm run formatBiome format

Tech Stack

LayerTechnology
RuntimeElectron 40
UIReact 19, TypeScript, Tailwind CSS 4
StateZustand 5
BuildVite (renderer), tsc (main)
Databasebetter-sqlite3 (SQLite, WAL mode)
Terminalnode-pty
Drag & Drop@dnd-kit
Lint/FormatBiome
TestsVitest
Packagingelectron-builder

Architecture

src/
├── shared/ # Types + IPC channel constants
├── main/ # Electron main process
│ ├── db/ # SQLite schema, migrations, queries
│ ├── agents/ # Agent adapters (Claude Code)
│ └── services/ # PTY manager, session lifecycle
└── renderer/ # React UI
├── stores/ # Zustand state
├── hooks/ # Keyboard shortcuts, etc.
└── components/

Claude Code runs in -p (pipe) mode — each turn spawns a process that streams NDJSON events and exits on completion. Multi-turn conversations use --resume to continue the session.

License

MIT

About

Native macOS app for running multiple Claude Code sessions in parallel with persistent history, themes, and auto-updates.

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages