# The Cursor download table is generated, and its test command exits before testing anything

> oslook/cursor-ai-downloads is a link index for Cursor installers, not an editor or a mirror. Its value is a machine-written table of official URLs, and its rough edges are a duplicated link, a test script that cannot fail, and a package name that does not match the repository.

**oslook/cursor-ai-downloads** — All Cursor AI's official download links for both the latest and older versions, making it easy for you to update, downgrade, and choose any version. 🚀

- Repository: https://github.com/oslook/cursor-ai-downloads
- Website: https://cursor.uuid.site
- Stars: 3,241 · Forks: 174
- Language: TypeScript
- License: MIT
- Published: 2026-09-24 · Updated: 2026-09-24 · Language: en
- Canonical page: https://hysenlabs.com/projects/oslook-cursor-ai-downloads

## The version table is machine written, with markers around it

The README is a template with generated regions rather than a page someone edits by hand. Two blocks are fenced by HTML comments: the latest version card sits between a start and end marker, and the all versions table sits between its own pair. Everything between those markers is rewritten by a script, which is why the latest card shows a version number, a release date and a grid of platform links without any sign of manual formatting. The repository layout supports that reading. A scripts directory and a src directory hold the generator, cursor_products holds data about the products it tracks, and version-history.json at the root records version history outside the README. The package manifest names the job plainly in its description field: automatically tracks and updates Cursor download links. Two scripts do the same thing, with start and update both running bun src/update-cursor-links.ts, and a bun.lock file at the root marks Bun as the runtime.

## The test script cannot fail, because it runs nothing

The manifest carries a test script that reads as a placeholder left in place: the command echoes No tests specified and exits 0. Whatever state the repository is in, that script reports success, so a green test run carries no information about the link table. There is no test directory in the repository either, and no test file of any kind in the top level listing. What the manifest does wire up is a build step of tsc, so the TypeScript in src is type-checked, and linting is not configured here at all. The dependency list explains the rest of the shape: typescript and bun-types for the script itself, with bun-types pinned to the literal string latest rather than a version range, so a fresh install resolves whatever that tag points to on the day it runs. The runtime itself is Bun rather than Node, while the type definitions are the Node 18 ones at ^18.18.0.

## The package is named cursor-downloads-tracker, not cursor-ai-downloads

The repository is called cursor-ai-downloads and the package inside it is called cursor-downloads-tracker, so anyone matching the two by name will not find a match. The manifest is otherwise spare: version 1.0.0, a description, four scripts and type set to module. It has no license field, even though a LICENSE file sits at the repository root and the MIT license is what the project is distributed under. It is also not marked private, which is a small thing to notice in a package whose scripts exist to fetch and republish vendor URLs. The README's table of contents does list a License Information entry and a Contributing and Support entry, both anchored below the download table, so the licensing discussion lives under hundreds of rows of links rather than near the top where a reader would look for it.

## One row lists six Windows links for four files

The all versions table has five columns: version, date, then Windows, Mac and Linux installers, with each platform cell holding several anchors stacked with line breaks. The Windows cell for 3.23.12 is where the duplication shows. Six labels appear there: win32-x64-system, win32-arm64-system, win32-x64-user, win32-arm64-user, win32-x64 and win32-arm64. The last two point at the same files as the first two. There are four distinct Windows files behind that cell, a system-setup and a user-setup build for each of x64 and arm64, and the table repeats two of them under shorter labels. The macOS and Linux cells do not have that problem, holding three files each: a universal dmg alongside x64 and arm64 dmgs, and an x64 AppImage alongside an arm64 AppImage. Anyone scripting against the Windows column has to deduplicate by URL rather than trusting the labels.

## Each version gets its own build hash in the path

The URLs carry more structure than a version number. Every download sits under downloads.cursor.com followed by production and a forty character hexadecimal segment, then a platform directory, an installer type directory and a file name that ends in the version. For 3.23.12 that segment is 2d29876d567da1607532b23bbf2cd5ddbca496fe, and for 3.23.10, published the same day, it is a different hash entirely. So two versions released on 2026-10-01 have separate build trees, and the hash is the only thing distinguishing them apart from the version in the file name. The README's security notice states that all links are published by the Cursor team with no changes made, and that all downloads are hosted at downloads.cursor.com, which is exactly the claim a reader has to verify rather than assume, since the repository is not the vendor.

## Downgrading below 0.46 costs free accounts their premium model chat

The security notice carries four items, and one of them is a functional warning rather than a security one. It states that free and free trial accounts can no longer use chat with premium models on Cursor version 0.45 or less, and that the way out is to upgrade to Pro or to use version 0.46 or later. That single line is the most consequential fact for anyone using this repository for its stated purpose. The README explains the reason the index exists in the first place: some older versions offer a better user experience, and because Cursor automatically upgrades to the latest version, this project keeps links to the older ones. In other words, the rollback path runs straight into an account tier wall, and the version where the wall disappears, 0.46, is also the version where Claude 3.7 Sonnet arrived.

## The feature notes map two model releases to 0.x versions

The key features section is short and hand written, and it maps two model introductions onto version numbers from an older numbering scheme. Deepseek R1 and Deepseek v3 are marked as supported from 0.44.x onwards, with a note that they are enabled in Settings, Models and that the Cursor team self-hosts them in the US. Claude 3.7 Sonnet is marked from 0.46.0 onwards, with two model identifiers given as things to try. Those markers sit in the same document as a latest version card numbered 3.23.12, so the index spans two major version schemes and the feature notes only cover the earlier one. Nothing on the page maps features to the 3.x line. For anything current, the README points elsewhere: the changelog is delegated to the Cursor website rather than copied here, which leaves this repository responsible for links and for the older feature markers.

## A referral link and a download hub sit beside the vendor links

The links above the table are not all vendor links. The header carries a Buy Me a Coffee link, a request to star the repository, and an entry offering 50% off the first month of Cursor Pro, Pro+ and Ultra that points at a separate repository in the same organisation. The repository's homepage field points at cursor.uuid.site rather than at a documentation page, and the README describes that site as a download hub for searching all version links quickly. So the project presents itself as a neutral index of official URLs while running a donation link, a star request and a commercial referral in the same header. None of that changes what the table contains, but it is worth weighing when deciding how much weight to give a recommendation to install an older build from it.

## Conclusion

Treat this repository as a link index with a script behind it, not as a distribution channel: every URL it publishes is claimed to come from the Cursor team and points at downloads.cursor.com, and the README tells you to check the domain before downloading. Its practical value is rollback, since it records a link for versions Cursor's own updater has already moved past. Two caveats before you rely on it. Downgrading is not free: on version 0.45 or lower, free and trial accounts lose chat with premium models. And the index regenerates itself from a script with no test suite behind it, so spot-check any version you plan to install, particularly the Windows rows, where the current table lists six labels for four files.

## FAQ

### What does oslook/cursor-ai-downloads actually contain?

A link index for Cursor installers rather than the editor itself. The README's latest card shows Cursor 3.23.12 dated 2026-10-01, and the table lists every tracked version with Windows, Mac and Linux installer links regenerated by a script.

### Where does oslook/cursor-ai-downloads say the installers are hosted?

At downloads.cursor.com. The README's security notice states that all links are published by the Cursor team with no changes made, asks readers to verify the domain before downloading, and advises backing up work before upgrading or downgrading.

### What happens to a free Cursor account after downgrading with these links?

On version 0.45 or lower, free and trial accounts can no longer chat with premium models. The notice in the README points to two ways out: upgrade to Pro, or use version 0.46 or later.

### Does oslook/cursor-ai-downloads have a test suite?

No. The test script echoes No tests specified and exits 0, so it passes without running anything, and no test file appears in the repository. The build step is tsc, and both the start and update scripts run bun src/update-cursor-links.ts.

### Why do the Windows download entries repeat the same installer?

The 3.23.12 Windows cell lists six labels, but win32-x64 and win32-arm64 point at the same system-setup files already listed as win32-x64-system and win32-arm64-system. Four distinct Windows files are behind that cell, a system-setup and a user-setup build for x64 and arm64.

## Sources

- [Issues](https://github.com/oslook/cursor-ai-downloads/issues)
- [License: MIT](https://github.com/oslook/cursor-ai-downloads/blob/main/LICENSE)
- [oslook/cursor-ai-downloads on GitHub](https://github.com/oslook/cursor-ai-downloads)
- [Project website](https://cursor.uuid.site)
- [README](https://github.com/oslook/cursor-ai-downloads/blob/main/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/oslook-cursor-ai-downloads
