Some mods target the Mono version of the game, which is available by opting into the Steam beta branch "alternate"
Hash
An in-game terminal with completion, output, history, and offline natural-language commands. Needs Sideload.
| Date uploaded | 2 weeks ago |
| Version | 1.2.3 |
| Download link | DooDesch-Hash-1.2.3.zip |
| Downloads | 22 |
| Dependency string | DooDesch-Hash-1.2.3 |
This mod requires the following mods to function
LavaGang-MelonLoader
The World's First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono
Preferred version: 0.7.3DooDesch-Sideload
Write a mod interface as HTML, CSS and JavaScript. Sideload renders the web bundle into real Unity UI and puts it on the in game phone, so an app is three files instead of a thousand lines of panel code.
Preferred version: 1.7.0README
hash - A Terminal for Schedule I
🛟 Need help or found a bug? Get support at support.doodesch.de/hash.
Press the console key and get a terminal. It completes commands and their arguments, it shows what a command printed, remembers what you typed last session, and turns
# give me five OG Kush seedsinto a real command locally with Cactus Needle. The vanilla console is one input field with no output, no help and no memory.
What you get
- Tab completes. Command words, item ids, npc ids, properties, vehicles, quests, weather, keys.
give ogkfinds OG Kush;teleport barfinds the barn. - The arguments are written down. The line above the prompt shows the shape of the command you are typing
and highlights the argument you are on, so
setrelationshipstops being guesswork. - You can see what happened. Vanilla runs
give bananas 1and shows you nothing, with the reason sitting in a log file behind the game. hash prints the answer. - Speak in commands. Start a line with
#and describe what you want. High-confidence translations run; uncertain ones are shown first and need a bare#to confirm. Needle runs offline, without an account or API key. #is whatever you are looking at, so you never look an id up.setrelationship # 5maxes out the person in front of you,give #hand 5is five more of what you are holding,setowned #homebuys the place you are standing in. Also#car,#near,#itand#last.- It remembers. History across sessions, aliases you name yourself, and
logsto watch the game talk.
Everything is a command: help lists them, help <topic> narrows, help <command> explains one.
Requirements
MelonLoader 0.7.3+ and Sideload 1.7.0+. Keep the bundled
Hash.Needle.bin beside Hash.dll; both are installed by the package. The console
has to be switched on in the game's own settings (Settings > Gameplay), and it is host only - that is the game's
rule, not this mod's. hash says so instead of ignoring you.
For mod authors
If your mod answers the console with a Harmony prefix, its words are invisible to every list and autocomplete in
the game. Compile in Hash.Api/HashCommands.cs and declare them:
using Hash.Api;
HashCommands.Add("snitch", "profiler: start, stop, top, report", "snitch start");
One file, no references, no hard dependency, and it puts the word in the game's own command list - so every tool sees it, not only hash.
CHANGELOG
Changelog
All notable changes to hash are documented here. This project adheres to Semantic Versioning.
[1.2.5] - 2026-09-07
Fixed
- hash tells its offline model which language your game is in. It sent nothing at all, so a request in German was answered as if it were English.
- "bring me home" can answer with the place you actually live. The word for it was never offered, so hash guessed at a location name instead.
[1.2.4] - 2026-09-07
Fixed
- A quantity you asked for is no longer dropped. "give me 10 og kush" handed over one.
- Asking to be taken somewhere no longer sends you to a random dealer. Words like "me" and "a" were matched against the location list, and the first hit was taken.
- "set the time to 8am" sets eight in the morning. It set midnight, because the time words were offered beside the number you had already written.
- "mach es nachmittag" and "l'apres-midi" set the afternoon. The shorter word inside them won, so both set noon.
[1.2.3] - 2026-09-06
Fixed
- A request that does not start with a command word comes back with its arguments. "make it noon" was
answered
settimeand nothing else, which the console then refused. - hash understands the time you mean. "make it noon" and
# settime noonset the clock; before, only a bare 1200 worked. - "make it sunny" reaches clear weather. Only values matching a word you typed were offered, so one of the three answers was never on the list.
[1.2.2] - 2026-09-06
Fixed
- A request hash refused before it started - on a client, or with the engine missing - is written to the log too. Those never appeared, so the most broken installs were the ones nobody could see.
- A command you typed that the console itself refused is no longer recorded as the answer hash should have given. It was teaching the model lines the game rejects.
- Sharing could drop a request you made while an upload was still running.
[1.2.1] - 2026-09-06
Changed
- A shared request now records which language your game is in, so a request you typed in German is judged against the German model rather than the English one. Still no name and no save.
[1.2.0] - 2026-09-06
Added
- The first time you use
#, hash says it keeps your requests in a file and asks.share onsends them so the model can learn from real ones,share offleaves them alone, and it asks once. shareon its own says where it stands.NeedleShareUsageinMelonPreferences.cfgis the same switch.- What players send is counted in the open at https://hash.doomods.com - how often hash was right, and which commands it gets wrong.
Fixed
- Building hash from source left the bundled model out, so you got the untuned one: right about one request in ten instead of four in five. The log now says which one loaded.
[1.1.0] - 2026-09-06
Added
- Type
# give me five OG Kushand hash runsgive ogkush 5. It reads the commands your game actually has, and it works offline with no account and no key. - English, German, Spanish and French all work, and so does a request that needs two commands at once.
- A request hash is sure about runs straight away. Between 50% and 79% it shows you the command and waits for a
bare
#; below that it says no rather than guessing. - Every request you type this way is kept in
UserData/Hash/queries.jsonlso the next model can learn from what players actually type. Switch onNeedleShareUsageto send it; it stays on your machine until you do. NeedleKeepContextlets a later request refer to the one before it. Off by default, so each line stands alone.
Fixed
- Every command and every argument is checked against your game before any of them runs, so a request that maps onto something that is not there is refused instead of half-run.
[1.0.5] - 2026-08-10
Added
@is how many you are carrying, and+ - * /work where a command wants a number.give #hand 10-@tops the stack up to ten,setquantity @*2doubles it.
Fixed
packageproduct,setqualityandsetquantityact on what you are holding. All three answered "No product equipped" from the terminal, because taking the phone out empties your hand.
[1.0.4] - 2026-08-09
Fixed
- Right-click closes the terminal on the first press. It took three: one was swallowed while the prompt held the caret, one cleared the suggestion list, one shut the app.
- Right-click leaves the way you came in. Opened with the console key it puts the phone away; opened from the home screen it goes back there.
- Escape clears the suggestion list, right-click no longer does. An empty prompt lists every command, so that press was being spent on a block nobody opened.
- The caret returns to the prompt after clicking in the transcript.
[1.0.3] - 2026-08-05
Changed
- Commands that other mods register through S1API are read through
ConsoleHelper.RegisteredCommands, which S1API 3.1.9 added for exactly this. Nothing changes on screen; what changes is that the listing no longer depends on reaching into S1API's internals, where a rename would have made those commands disappear without a word. S1API 3.1.8 and older still work through the old route.
[1.0.2] - 2026-08-05
Added
- A quiet mark in the top right of the log window: the hash glyph punched out of the panel, with the terminal's own green bleeding around it. Set so the brightest pixel of it stays under the dimmest text on screen, and a line of output crossing it reads exactly as it does anywhere else.
[1.0.1] - 2026-08-04
Fixed
#handnames the item you are holding. It answered "nothing there right now" every time, because taking the phone out deselects the hotbar - the one moment the mark is asked is the one moment the game has no answer. What you last held is remembered while the phone is down.
[1.0.0] - 2026-08-04
Added
- The console key takes the phone out with a terminal on it. Type as before -
give ogkushseed 5reaches the game exactly as it always did - and now you see what it answered. Vanilla writes that into a log file behind the game and shows you nothing, which is whygive bananas 1looked like it worked. - Tab completes the command and its arguments: items, NPCs, properties, vehicles, quests, weather, keys. The line
above the prompt draws the shape of the command you are typing and marks the argument you are on, so
setrelationshipstops being guesswork. #is whatever you are looking at, so you never look an id up. Face someone andsetrelationship # 5maxes them out without knowing they arebenji_coleman.give #hand 5is five more of whatever you are holding,setowned #homebuys the property you are standing in, andteleport #itgoes to the id that just printed. A#pointing at nothing refuses the line instead of guessing.- Every command in one list, filed under the mod that supplied it, with the description the game keeps to itself.
helpshows the common six plus a map of the topics,help <topic>opens one,help <command>explains one. - History that survives a restart, aliases you name yourself,
;between two commands,repeat 5 <command>,grep,copyto the system clipboard, andlogsfor what the game is saying as it happens.fontswitches between the machine's own monospaced face and the game's pixel one.HijackConsoleKeyinMelonPreferences.cfgbrings the vanilla console bar back.