finds.dev← search

// the find

winfunc/opcode

★ 22,052 · TypeScript · AGPL-3.0 · updated Oct 2025

A powerful GUI app and Toolkit for Claude Code - Create custom agents, manage interactive Claude Code sessions, run secure background agents, and more.

opcode is a Tauri 2 desktop app that wraps the Claude Code CLI with a GUI — project/session browser, custom agent management, MCP server configuration, usage analytics, and a timeline/checkpoint system for session versioning. It's for developers who use Claude Code heavily and want visibility and control without living in a terminal.

The checkpoint/timeline system is the most interesting piece — branching session history with instant restore is genuinely useful for exploratory coding sessions where you want to try two approaches. Process isolation for background agents (separate OS processes, not just threads) is the right call for stability. The usage analytics dashboard filling a real gap since the CLI gives you no cost visibility. Tauri 2 is a good choice here: native performance, small binary, no Electron RAM tax.

No release binaries published yet — 'coming soon' on a 22k-star repo means a lot of people hit a build wall immediately, and the Rust/Bun/system-deps setup is non-trivial on Linux. The component directory is a mess: `.cleaned.tsx`, `.refactored.tsx`, `.optimized.tsx`, and `.original.tsx` variants sitting alongside production files suggest the codebase is mid-refactor with dead code left in. The checkpoint implementation depends on reading `~/.claude/projects/` structure which Anthropic can change without notice — there's no abstraction layer between opcode and the CLI's internal format. Analytics module with consent flow in a tool that advertises 'no telemetry' is the kind of thing that erodes trust fast when users notice it.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →