Skip to content
half144Public

About

A local desktop app that orchestrates your Claude Code and Codex agents in isolated git worktrees.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

39 Commits

Folders and files

Repository files navigation

Interlock

Interlock

Your own coding agents, one calm window.
Give a task to Claude Code or Codex, let it work in its own git worktree, review the diff, and ship a pull request.

macOS Tauri React License Status

What it does · Screenshots · Architecture · Develop · Quality gate


Interlock home: give a task, pick the folder, see what is waiting on you

Interlock runs entirely on your machine. It talks to the Claude and Codex CLIs you already have signed in, and keeps its state in ~/.interlock. It only interrupts you when it needs you.

What it does

  • One task, one worktree. Every task runs on its own branch (agent/<id>-<slug>, renamed by AI once the work is clear), so agents never step on each other or on your checkout.
  • Claude Code and Codex, side by side. Real model and reasoning-effort lists straight from each provider, with in-app sign-in.
  • Plans and progress you can follow. Native plan tools are enabled for both agents; the conversation shows the steps, and a card behind the composer tracks n / m.
  • A readable transcript. Tool calls read as sentences ("Read 2 files, searched 4 times", "Ran tests", "Edited package.json +2 −1"), exploration collapses into groups, failures stay quiet, and every call expands to its command, output or diff.
  • Review in place. A file tree and unified or split diff, a terminal in the task's worktree, and Create PR with CI checks through gh.
  • Skills in the chat. Type / in the composer to invoke your skills.
  • Remaining usage at a glance. The pill in the corner shows how much of your Claude and Codex plans is left, from the providers' own usage APIs.
  • Add any folder. Projects come from the repositories on your Mac, a folder picker, or drag and drop.
  • Made for the Mac. A unified window bar, native traffic lights, and motion that stays out of the way.

Screenshots

A plan with steps
Plans and steps. The agent's plan, ticked off as it goes.
Review: file tree and diff beside the chat
Review. The file tree and diff open beside the conversation.
Tool calls as sentences
Tool calls as sentences. What ran, in plain words, expandable.
Remaining usage for Claude Code and Codex
Usage. What is left of each plan, and when it resets.

Architecture

A Tauri v2 shell supervises a local Node daemon and renders a React app.

Path What it is
apps/desktop Tauri shell: bundles the daemon, menu bar, notifications, folder picker
packages/app React 19, Vite, Tailwind v4, zustand
packages/server The daemon: agents, worktrees, terminals, usage, project settings
packages/protocol, packages/client Wire schemas and the client the app uses

The daemon listens on 127.0.0.1 with a bearer token. The app only knows protocol shapes inside src/daemon/ and Tauri-versus-browser differences inside src/platform/.

The daemon, protocol and client are a fork of Paseo (Apache-2.0); divergences are tracked in docs/upstream-sync.md.

Develop

Requirements: macOS on Apple silicon, Node 22, Rust, and the Claude and Codex CLIs signed in. gh is needed for pull requests.

npm install
npm run dev:desktop     # Tauri window with hot reload
npm run dev:app         # the UI alone in a browser (needs VITE_DAEMON_URL and VITE_DAEMON_TOKEN)
npm run dev:daemon      # the daemon alone
npm run build:desktop   # unsigned Interlock.app and .dmg

Quality gate

npm run check runs formatting (oxfmt), type-aware ESLint with a baseline that can only shrink, strictest TypeScript, structure rules, knip, duplicate detection and the tests. Git hooks run the same checks, and --no-verify is not an option. Conventions for people and agents live in CLAUDE.md; the product spec is docs/spec-v1.md and the decisions behind it are in docs/decisions.

Status

Early and in active development, built for one person's daily use first. macOS only for now. Not signed or notarized.

License

Apache-2.0. See LICENSE and NOTICE.

About

A local desktop app that orchestrates your Claude Code and Codex agents in isolated git worktrees.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages