Open-source project
lencx/ChatGPT avatar
lencx/ChatGPT

lencx/ChatGPT: a Tauri shell whose author points readers to Noi

GitHub describes it as ❄️ ChatGPT Desktop Application (Mac, Windows and Linux). The repository metadata lists Rust as its primary language. This article stays within the project description and details documented in the GitHub repository README.

54,580 stars6,154 forksRustLicense varies

At a glance

What is it?
lencx/ChatGPT is a third-party ChatGPT desktop shell: a Vite and React frontend over a Tauri Rust core, sitting on a v2-dev default branch while the newest release tag is v1.1.0 from 2023-08-03. The README sends readers to OpenAI's macOS application and to the author's Noi project, the tree contains no install command, and no licence is stated.
Who is it for?
Anyone who simply wants a working ChatGPT client should take the macOS application from OpenAI, which the README points to, or open lencx/Noi, which the author names as the successor to this concept. This repository earns a read for a narrower reason: it shows a small Tauri shell, React frontend and Rust core assembled by hand, and it is a fair starting point for a fork if you accept that the last push is dated 2024-08-29 and that no licence is stated anywhere in the tree.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Probably not. The repository last received commits 25 months ago, on August 29, 2024.
What is it written in?
Mainly Rust, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The first screen of the README is a redirect to Noi and to OpenAI

A note at the top of the README carries this project's current position. It offers Noi (https://github.com/lencx/Noi) as a successor to the ChatGPT desktop application concept, then tells readers that OpenAI has now released the macOS version of the application with a Windows version to follow, and advises anyone who prefers the official application to stay updated with OpenAI. The closing line asks readers to stay tuned while the author looks for differentiating features to develop version 2.0. Read together, the page is a handover as much as a description. The difference in approach between this repository and OpenAI's application is ownership: this code wraps the web experience in a window assembled from a React frontend and a Rust core, while the macOS build belongs to the vendor. As for Noi, the page says only that it succeeds this concept, and nothing here describes what it does differently. If you arrived looking for a desktop client that is still being worked on, this is not it.

The default branch is v2-dev and the newest release tag is v1.1.0

Three version numbers in this repository disagree, and sorting them out is the first job. The default branch is v2-dev. The root manifest declares its own version as 2.0.0. The release history stops at v1.1.0, dated 2023-08-03, after v1.0.0 on 2023-05-25 and v0.12.0 on 2023-03-05. That 2.0.0 is a development marker rather than something you can install, since the page says the author is still collecting differentiating features for version 2.0 and keeps the previous version on a separate release-v1.1.0 branch. So a clone of the default branch gives you work that never became a release, and the last shipped build sits on the other branch. The repository is not archived. Its last push is dated 2024-08-29, and that is where the public record of work on it stops.

There is no install command, only four scripts in the frontend manifest

The README has no installation steps, no prerequisites and no build instructions. The only runnable surface in the repository is the scripts block of the frontend manifest, which a package manager can invoke:

json
"scripts": {
  "dev": "vite",
  "build": "tsc && vite build",
  "preview": "vite preview",
  "tauri": "tauri"
}

The committed pnpm-lock.yaml points at pnpm, and the Rust side is a Cargo workspace whose members list is src-tauri, so a first run needs a Node toolchain, a Rust toolchain and the Tauri CLI before any of those four lines do anything. Read them as two halves. dev, build and preview belong to Vite and serve the frontend in src/ against the top-level index.html entry. The tauri script forwards to @tauri-apps/cli, which is what wraps that frontend in a native window. A reader who expects an install command here will not find one, and no document in the tree states a Node version, a Rust version or a target platform to build for.

The release profile disables incremental compilation and aborts on panic

The Rust workspace is short, and its release profile is where the build's trade-offs are written down:

toml
[profile.release]
incremental = false
codegen-units = 1
panic = "abort"
opt-level = "s"
lto = true

Each line costs something. incremental = false discards cached compilation between builds, and codegen-units = 1 pushes the whole crate graph through a single codegen unit, so a release build compiles more than a debug one rather than less. opt-level = "s" and lto = true buy a smaller binary at the price of link time. panic = "abort" means a fault in the Rust side terminates the process instead of unwinding, leaving no cleanup path and no Rust-side backtrace from a crash of the native layer. For a small wrapper those are defensible settings, since a compact binary is what you want to hand someone. The bill arrives on whoever develops it: every edit to the Tauri layer means a full recompile, and a panic there takes the window down with it. A comment in the same file points at the Tauri webdriver test example, which hints at how the author meant to check that layer.

Four Tauri 2 beta builds are pinned to four different numbers

Every Tauri package here is a beta, and no two are the same build. The frontend depends on @tauri-apps/api 2.0.0-beta.15, @tauri-apps/plugin-os 2.0.0-beta.7 and @tauri-apps/plugin-shell 2.0.0-beta.8, while the CLI sits in devDependencies at 2.0.0-beta.22. All four carry exact versions instead of a caret range, so a package manager installs those precise builds and no others. That is the right call for a frozen repository, and the cost is that there is no way to absorb a fix or a breaking change in the Tauri 2 line without editing the manifest by hand. The beta numbering also dates the work. The 2.0 line was still moving when these pins were written, so frontend code written against beta.15 of the API has no guarantee of lining up with a later beta of the same major version. The rest of the frontend is ordinary React: react and react-dom at ^18.3.1, react-router-dom for client-side routes, react-hotkeys-hook for keyboard handling, with Tailwind 3.4.3 and TypeScript 5.4.5 on the build side.

plugin-shell is a runtime dependency and no allowlist is documented for it

Two runtime dependencies decide what the window can do, and the README explains neither. @tauri-apps/plugin-shell is the bridge that lets a frontend start programs on the host machine, and @tauri-apps/plugin-os reports the operating system it is running on. No capability file or permission list appears among the top-level entries, and the page does not say which commands this app is permitted to execute. If you install a build of it, you are installing a native window that renders a logged-in ChatGPT session and carries a path to the operating system, and the repository states nothing about how that path is fenced. That is the decision you have to make yourself, with the source in front of you. The hotkey dependency raises a smaller version of the same question: react-hotkeys-hook registers keyboard shortcuts, and no document in the repository lists which keys are bound to what.

Three platforms are claimed, no licence file is present

The repository description advertises a ChatGPT desktop application for Mac, Windows and Linux, while the platform coverage inside the README is thinner than that line: its only platform remark concerns OpenAI's own macOS application and says a Windows version would arrive later. Nothing in the tree tells a Linux or Windows user how to package a build, and the three release tags carry no per-platform notes. There is also no LICENSE file among the top-level entries and no licence field in the manifest, so the terms covering this code are not stated anywhere here. That is a practical problem first. Anyone planning to fork the wrapper, vendor the frontend or hand a compiled binary to a team has to settle licensing with the author rather than assume it. A docs/ directory sits in the tree as well, and the README does not say what it holds, which leaves the onboarding questions the missing install steps would have answered.

Editorial conclusion

Anyone who simply wants a working ChatGPT client should take the macOS application from OpenAI, which the README points to, or open lencx/Noi, which the author names as the successor to this concept. This repository earns a read for a narrower reason: it shows a small Tauri shell, React frontend and Rust core assembled by hand, and it is a fair starting point for a fork if you accept that the last push is dated 2024-08-29 and that no licence is stated anywhere in the tree. Do not adopt it expecting an application that still changes. Before running any build of it, read the src-tauri/ side and find where @tauri-apps/plugin-shell is invoked, because the README documents no capability allowlist for a window that can start programs on the host.

Frequently asked questions

What exactly is ChatGPT used for?

This repository is a third-party desktop shell for ChatGPT, not an OpenAI product. The code is a React and TypeScript frontend in src/ over a Tauri Rust core in src-tauri/, assembled with Vite, Tailwind and TypeScript, and it is not archived.

How do I install ChatGPT on a Mac?

The README sends macOS users to OpenAI, stating that OpenAI has now released the macOS version of the application and linking there for the latest information. This repository documents no install command of its own, and it keeps its previous version, v1.1.0, on the release-v1.1.0 branch.

Is ChatGPT free to use?

Nothing in this repository addresses cost. It describes a desktop application for Mac, Windows and Linux and points readers to OpenAI for the official application, so any pricing question belongs to OpenAI's terms, which this page does not restate.

How do I use ChatGPT without logging in?

The repository does not document authentication at all. No account flow, session storage or API key appears in the README, and the package.json dependency list holds no authentication library, so how the shell would hold a session is left to the reader to work out from the source.

Official sources

  1. Official README
  2. Project repository
  3. Release notes
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/lencx-chatgpt.svg)](https://hysenlabs.com/projects/lencx-chatgpt)