
Claude GUI
https://github.com/badlogic/claude-gui- Category
- Developer Tools
- Rank
- No. 1830Tools index
Previous survey · No. 1838 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- badlogic
- GitHub
- 7 stars
- Date
About
Wrapper around Claude Code that exposes it via a bi-directional websocket so you can build non-TUI interfaces on top.
What it does
Claude GUI is currently a TypeScript command-line scaffold for a planned browser chat front end. The design calls for launching Claude in a pseudo-terminal, discovering its session log, streaming parsed events to connected browsers, and returning keyboard input. Today, the executable only prints a description and an implementation notice, then exits.
Why it's ranked here
The project is noteworthy for documenting a plausible bridge from Claude’s terminal process and session logs to a browser interface. Its research test exercises much of that underlying path. The actual product remains unfinished, though, so its value lies in the explored architecture rather than a usable interface.
What's good
The research prototype handles terminal emulation, readiness detection, interactive input, session discovery, JSONL parsing, and validation of both user and assistant messages. The project also has strict TypeScript settings, automated linting and formatting, executable bundling, a pre-commit check, and a documented event-protocol research agenda.
Tradeoffs
The command currently exits without starting Claude, a server, or a web interface. The browser client, event protocol, file watcher, and concurrent connections exist only in plans. The end-to-end test requires a local Claude executable, relies on timing and filesystem creation metadata, and assumes simultaneous sessions in one working directory are unlikely. Its separate unit test only proves the test runner works.
How to use it well
Use it as an architecture reference or starting scaffold if you are prepared to implement the server, protocol, watcher, and client. It best suits engineers experimenting with alternate Claude interfaces. It does not yet cover the adjacent need for an installable, working browser chat application.
Technical notes+
src/index.ts contains only two log statements and an immediate successful exit. package.json defines an ESM CLI binary, targets Node 20 through esbuild, lists ws as its runtime dependency, and keeps node-pty among development dependencies. src/tests/session-detection.test.ts launches claude through a PTY, watches ~/.claude/projects, selects newly created JSONL files by birthtime, and checks for user and assistant records. src/index.test.ts is a tautological smoke test. docs/project-description.md specifies the intended server, watcher, process manager, Lit interface, and Tailwind styling, while docs/todo.md confirms that protocol research and the minimal web UI remain pending.
Observed
- License
- MIT
- Primary language
- TypeScript
- Packaging
- Node.js ESM command-line package bundled with esbuild into an executable binary
- Current interface
- CLI entry point only; the supplied implementation prints a notice and exits
- Planned interfaces
- WebSocket server and minimal browser chat interface
- Runtime dependency
- ws
- Test framework
- Vitest, with one smoke test and one environment-dependent session detection test
Read from package.json, src/index.ts, src/index.test.ts, docs/todo.md, docs/project-description.md, docs/todos/done/2025-07-12-00-27-14-research-session-id-extraction.md, docs/todos/done/2025-07-12-00-01-02-create-minimal-typescript-project.md, vitest.config.ts, src/tests/session-detection.test.ts, biome.json, tsconfig.json, .husky/pre-commit.
What it can do
Expose Claude Code functionality via websocket API
Claude Code instance → Bidirectional websocket connection
Enable real-time communication with Claude Code
Websocket messages → Real-time responses from Claude Code
Allow custom GUI development for Claude Code
Websocket-compatible frontend framework → Custom graphical interface for Claude Code
Bridge non-TUI applications to Claude Code
Web or desktop application requests → Claude Code responses via websocket
Handle bidirectional data exchange
Client requests and Claude responses → Two-way communication stream
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.