# Package Control: the built-in package manager for Sublime Text

> Package Control is the package manager that ships with Sublime Text, letting you find, install and update packages from the Command Palette. It is maintained by Sublime HQ, MIT licensed, and still receiving pushes as of 2026-09-20, but its install path has a known OpenSSL 1.1.1 wrinkle on newer systems.

**sublimehq/package_control** — The Sublime Text package manager

- Repository: https://github.com/sublimehq/package_control
- Website: https://packagecontrol.io
- Stars: 4,888 · Forks: 794
- Language: Python
- License: MIT
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/sublimehq-package-control

## What Package Control actually manages

Package Control is the package manager for Sublime Text. The README states its scope plainly: it lets users find, install, and keep packages up to date. That is the whole job. It is not a general dependency resolver for your project, and it does not touch anything outside the editor's package directories. If you write Python, JavaScript or Go, your language-level package manager is a different tool solving a different problem; Package Control deals in Sublime Text packages, the units that add syntax definitions, commands, menus and settings to the editor.

The audience is therefore narrow and obvious: anyone running Sublime Text who wants extensions without cloning repositories by hand. The repository is written in Python, which is the language Sublime Text embeds for its plugin API, so the manager is implemented in the same runtime that the packages it installs will use. The homepage is packagecontrol.io, and the README points to two documentation sets, the original at packagecontrol.io/docs and community-driven docs at docs.sublimetext.io. That split is worth noting: the project's own site is the canonical reference, and the community docs are a second source that may drift.

## Inside the repository: channels, packages and messages

The top-level layout shows how the pieces fit. There is a package_control/ directory holding the implementation, a plugin.py entry point that Sublime Text loads, and a set of example JSON files that describe the data formats: example-channel.json, example-dependencies.json, example-messages.json and example-repository.json. Those filenames are the clearest statement of the architecture available without reading the source. A channel describes where packages come from; a repository lists packages; dependencies declare what a package needs; messages carry notices to users.

There is also a live messages.json plus a messages/ directory, which is how the project delivers announcements into the editor, and a Default.sublime-commands file that registers the Command Palette entries. Package Control.sublime-settings holds default settings, and the README tells you where the user-level override lives: Preferences > Package Settings > Package Control > Settings - User. That is the file you edit to change behaviour. The presence of tox.ini and unittesting.json indicates the project runs automated tests, and .python-version pins the interpreter version used for development. None of this tells you how fast it resolves a package list, and the README makes no performance claim.

## Installing Package Control and installing your first package

The easiest route, per the README, is the built-in installer. Open the Command Palette with Ctrl+Shift+P, or use Tools then Command Palette. Type Install Package Control, select it, and press Enter. After that, restart Sublime Text or run Package Control: Upgrade/Overwrite All so you land on Package Control 4 rather than the older 3.4.1 that the installer ships on builds up to ST4200.

If the installer path fails, the README gives a manual fallback. Open Sublime Text's console and run this script, which downloads the package file into the editor's installed packages directory:

```py
from urllib.request import urlretrieve; urlretrieve(url="https://download.sublimetext.com/Package%20Control.sublime-package", filename=sublime.installed_packages_path() + '/Package Control.sublime-package')
```

The README notes that this file is exactly the same as the one the installer would download, so the two paths converge. Once Package Control is present, installing a package is a three-step Command Palette flow: open the palette, choose Package Control: Install Package, then select a package from the list and press Enter. To confirm what you have, run Package Control: List Packages and search for Package Control itself, which is the first diagnostic step the README recommends for bug reports.

When something misbehaves, the README's debugging procedure is concrete. Open Preferences > Package Settings > Package Control > Settings - User, add "debug": true, restart Sublime Text, reproduce the problem, then copy the full console output. The console is opened with ctrl+`.

## The OpenSSL 1.1.1 problem and other failure modes

The README carries an explicit warning: Package Control 3.4.1 is what gets installed up to ST4200, and it may fail to load on some modern operating systems if the required OpenSSL 1.1.1 libraries are missing. That is a real failure mode, not a theoretical one, and the README's own remedy is to follow the manual install steps. The second half of the warning is that you should run Package Control: Upgrade/Overwrite All or restart Sublime Text to reach Package Control 4. In other words, the installer can leave you on a version that will not load, and the fix is a second action that users often skip.

There is a second boundary worth stating. Package Control only manages Sublime Text packages. If your problem is a broken Python virtualenv, a missing Node module or a system library, Package Control is the wrong tool and will not help. It also cannot install packages into a Sublime Text build it does not recognise, and the README's guidance for anything unusual routes through the debug log and the GitHub issue tracker rather than a self-service fix. The README does not document rollback to a previous Package Control version, and it does not describe an offline install path beyond the manual script, which still fetches from download.sublimetext.com.

## How it differs from language-level package managers

The natural comparison is pip, npm or cargo, and the difference is not one of quality but of scope. Those tools resolve dependency graphs for code your project imports at runtime, write lockfiles, and run in a shell against a project directory. Package Control resolves packages for an editor, installs them into Sublime Text's package paths, and is driven from the Command Palette rather than a shell. There is no lockfile in the README's description, and no project manifest you commit alongside your source.

That distinction matters when you pick a tool. If you want reproducible editor setups across a team, Package Control's model is settings-and-packages rather than a pinned lockfile, and the README does not claim otherwise. If you want a package manager that works across editors, Package Control is not it; it is specific to Sublime Text. The upside of that narrowness is a small surface: one Command Palette namespace, one settings file, one console for diagnostics.

## Maintenance, releases and the MIT licence

The repository is not archived, and the last push was on 2026-09-20. Recent releases listed are 4.2.8 on 2026-05-19, 4.2.7 on 2026-04-03 and 4.2.6 on 2026-04-02. The gap between the last release and the last push suggests ongoing work between tagged versions, though the README gives no release cadence commitment and no support window for older versions.

Upgrade cost is low by design. The README's own upgrade instruction is to run Package Control: Upgrade/Overwrite All or restart Sublime Text, and the manual install overwrites the same file. There is no migration step documented for settings, which is consistent with a settings file that lives under Preferences > Package Settings > Package Control > Settings - User and persists across upgrades. The licence is MIT, with copyright lines for Will Bond from 2011 to 2025 and for Sublime HQ Pty Ltd in 2026. MIT permits use, modification, sublicensing and sale provided the copyright notice and permission notice are included. That is a permissive arrangement, but it is not legal advice; check how the notice requirement applies to your distribution.

## Conclusion

Adopt Package Control if you use Sublime Text and want packages installed and updated without leaving the editor; it is the default path and the README treats it as such. Do not adopt it if you are looking for a cross-editor or language-level dependency manager, because it only manages Sublime Text packages and has no role outside that editor. Before relying on it, verify two things: that your Sublime Text build is past ST4200 so you are not stuck on Package Control 3.4.1, and that the manual script writes Package Control.sublime-package into the path returned by sublime.installed_packages_path(), since that is the file the installer would have placed there.

## FAQ

### How do I install Package Control in Sublime Text?

Open the Command Palette with Ctrl+Shift+P, choose Install Package Control and press Enter. The README also gives a manual fallback: run a one-line Python script in the Sublime Text console that downloads Package Control.sublime-package into sublime.installed_packages_path().

### Why can't I install Package Control in Sublime Text?

The README warns that Package Control 3.4.1 is installed up to ST4200 and may fail to load on some modern operating systems if the required OpenSSL 1.1.1 libraries are missing. In that case the README says to follow the manual install steps, then run Package Control: Upgrade/Overwrite All or restart Sublime Text to update to Package Control 4.

### How do I use Package Control in Sublime Text?

All primary features are exposed through the Command Palette. To install a package, open the palette, choose Package Control: Install Package, select a package from the list and press Enter. The README points to packagecontrol.io/docs/usage and docs.sublimetext.io for the rest.

### Where is Package Control in Sublime Text?

It is not a menu item you browse to; you reach it through the Command Palette, opened with Ctrl+Shift+P or Tools then Command Palette. Its settings live under Preferences > Package Settings > Package Control > Settings - User.

### What is Package Control?

Package Control is the Sublime Text package manager. The README says it allows users to find, install, and keep packages up to date, and it is licensed under the MIT licence.

## Sources

- [License: MIT](https://github.com/sublimehq/package_control/blob/master/LICENSE)
- [Project website](https://packagecontrol.io)
- [README](https://github.com/sublimehq/package_control/blob/master/README.md)
- [Releases](https://github.com/sublimehq/package_control/releases)
- [sublimehq/package_control on GitHub](https://github.com/sublimehq/package_control)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/sublimehq-package-control
