GTTRL
A simple command-line launcher for Toontown Rewritten.
GTTRL lets you log in, keep your game up to date, and launch multiple Toons from one place. It works on Windows, macOS, and Linux.
GTTRL is a fan-made project and isn't affiliated with the Toontown Rewritten team.
What can GTTRL do?
- Launch your game: GTTRL signs you in and checks for game updates.
- Remember your accounts: Choose whether to remember each account and its password.
- Play with multiple Toons: Open a separate game window for each account you select.
- Use short account names: Give an account an alias like
toon1instead of typing a long email address. - Keep your passwords safe: When enabled, password saving uses your computer's secure password manager.
Installation
You'll need Python 3.11 or newer.
Install GTTRL:
pip install gttrl
Or, if you use uv:
uv tool install gttrl
Your first launch
Run:
gttrl
Enter your Toontown Rewritten username and password. After signing in, GTTRL can help you remember the account:
- Remember this account? Choose No to play just this time, without any more setup questions.
- Account alias: If you chose Yes, you can enter a short name such as
toon1, or leave it blank. - Enable auto-launch? Choose Yes if you want GTTRL to launch this account automatically when you run
gttrl. - Remember the password? Choose Yes to save it securely so you won't need to type it every time.
Auto-launch doesn't require saving your password. You can have GTTRL select an account automatically and still type its password each time.
If your saved password is missing, GTTRL asks for it and saves it after a successful login. Toontown Rewritten may still ask for a ToonGuard code.
Manage your accounts
Run:
gttrl accounts
Choose an account from the menu to:
- Change its alias.
- Enable or disable auto-launch.
- Enable password saving: Enter and verify a password before saving or replacing it in your computer's password manager.
- Disable password saving: Remove its stored password and ask for it on future launches.
- Launch or remove the account.
You can also add a new account from this menu. The menu works even when the first-launch wizard is disabled.
Play with multiple Toons
Give each account a short alias (for example, toon1 and toon2), then run:
gttrl play --accounts toon1 toon2
GTTRL will launch a separate game window for each account. You can also choose just one:
gttrl play --account toon1
Normally, running gttrl launches every account with auto-launch enabled. Using --account or --accounts lets you choose who to launch just this time, without changing your saved choices.
If you'd rather choose accounts interactively, use:
gttrl play --choose-account
Sign in without saving anything
For a one-time login, use:
gttrl --username you@example.com
GTTRL asks for your password, signs you in, and launches the game. It won't start the account setup wizard, even if the wizard is enabled.
You can supply both the username and password, too:
gttrl --username you@example.com --password YOUR_PASSWORD
However, typing a password into a command can expose it in your shell history. For scripts, --password-stdin is safer.
Use a play cookie (advanced)
If you already have a play cookie and game server, you can launch the game without a normal account login.
gttrl --ask-play-cookie
This asks for both values. Or you can supply them:
gttrl --play-cookie COOKIE --game-server SERVER
If you provide only one, GTTRL asks for the other. To always use the prompts by default:
gttrl config set ask-play-cookie true
Providing --username, --account, or --accounts still chooses normal account login instead. Play cookies are temporary credentials and aren't saved.
Change launcher settings
Some useful examples:
gttrl config show # View your settings
gttrl config set account-wizard false # Stop offering account setup
gttrl config set ask-play-cookie false # Use normal login by default
gttrl config set skip-update true # Skip update checks
gttrl config set display-game-log true # Show game messages
You can temporarily override saved settings with command options, such as --check-update or --hide-game-log. Your accounts are kept when you reset the launcher preferences.
GTTRL stores its settings in ~/.gttrl/config.json (or %USERPROFILE%\.gttrl\config.json on Windows). Passwords are stored separately in your operating system's password manager, never in the JSON file.
If you're upgrading from GTTRL 1.4, your game-directory, update, and game-log settings are carried forward automatically.
Need help?
- Password manager unavailable? You can still play without saving your password. On Linux, saving passwords usually requires an unlocked desktop keyring.
- Game won't start? Try
gttrl --display-game-logto see more information. - No terminal for questions? Supply your login details explicitly or use accounts with saved passwords.
See the GitHub project for issues, suggestions, and source code.
For developers
uv sync
uv run gttrl --help
uv run ruff check src tests
uv run pytest -q
uv build
Tests use simulated authentication and update responses. Before release, real account login, game updates, and multi-Toon launching should also be tested. PyPI releases use GitHub Actions trusted publishing.
Metadata
Release files for gttrl 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| gttrl-2.0.0.tar.gz | 20.0 kB | With provenance | Details for gttrl-2.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| gttrl-2.0.0-py3-none-any.whl | Python 3 | none | any | Details for gttrl-2.0.0-py3-none-any.whl |
Total release size: 43.1 kB
Release files / gttrl-2.0.0.tar.gz
| Download URL | gttrl-2.0.0.tar.gz |
|---|---|
| Size | 20.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eec8ae0876fbb25ac19b2ece1128e0ec80ca88d7ba9c0915eed0cb76587c0303
|
|
BLAKE2b-256 checksum How to use checksums |
7ef6b4a221c3467b8844e1ed6354ba38c14e0bd2ec809be20f9efc94de66ab34
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / gttrl-2.0.0-py3-none-any.whl
| Download URL | gttrl-2.0.0-py3-none-any.whl |
|---|---|
| Size | 23.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a890a1baa8f8b090333dec904d7f3088a1200d8b4246b8924e03e01fc5ce8cac
|
|
BLAKE2b-256 checksum How to use checksums |
d0b07f421781e2f488a8ec96481377a376fd39f1b854fa1b5b0c01133d86a15e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logSecurity for gttrl 2.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for gttrl-2.0.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.