GameCheatCodes.org

Practice commands, console cheats, and single-player codes.
Fast reference pages • One-click copy • Plain-text downloads

Stardew Valley

SMAPI console commands for debugging, testing, and sandbox play (PC modding).

Fast reference
Static content loads immediately
📋
Copy-friendly
Enable interactive tools for one-click copy
🧭
Practice-focused
Offline, single-player, and admin testing

Stardew Valley (SMAPI / Mod Console)

SPSMAPI / Mod Console
SMAPI console commands for debugging, testing, and sandbox play (PC modding).
Back to game directory Download .txt

Cheat list

Static reference (visible without JavaScript). Use Ctrl+F (or ⌘F) to search.
Stardew Valley (SMAPI Console Commands)
=======================================

Quick notes:
- These are SMAPI console commands (PC modding). Open the SMAPI console window and type commands there.
- Required parameters use <angle brackets>; optional parameters use [square brackets].
- Command names are case-insensitive, but some parameters may be case-sensitive.
- If a parameter says it uses “fuzzy” match, it can match a case-insensitive partial name (e.g., abi -> Abigail).

CONSOLE COMMANDS
----------------

How to enter console commands
-----------------------------

You can enter console commands directly into the SMAPI console window. You
can type help to get a list of console commands (including commands added

by other mods).

ITEMS & MONEY
-------------

list_items
  Syntax: list_items [S:search text]
  Shows a list of every item in the game (including those
  added by mods). The optional search text limits results to
  those which have all of the search words somewhere in
  their ID + type + name.
  Example:
  > list_items iridium
  name |                    id
  -------------------- | ---------------------
  Iridium Fireplace |               (F)1796
  Iridium Krobus |               (F)2396
  Iridium Pan |      (H)IridiumPanHat
  Iridium Band |                (O)527
  Iridium Bar |                (O)337
  ...

player_add name
  Syntax: player_add name <S:item name> [I:count]
  [I:quality]
  Adds an item to your inventory based on its name.
  Parameters:
  <S:item name> is the default or translated item name to
  spawn.
  [I:count] is how many items to add to your inventory
  (defaults to 1).
  [I:quality] is the quality of the item to create (defaults
  to normal). This can be one of 0 (normal), 1 (silver), 2
  (gold), or 4 (iridium).
  Examples:
  player_add name "Galaxy Sword" will create a Galaxy Sword.
  player_add name "Stir Fry" 10 4 will create 10
  iridium-quality stir fry dishes.

player_add
  Syntax: player_add <I:item ID> [I:count] [I:quality]
  Adds an item to your inventory based on its item ID.
  Parameters:
  <I:item ID> is the unique ID for the item to add (as shown
  by the list_items command).
  [I:count] is how many items to add to your inventory
  (defaults to 1).
  [I:quality] is the quality of the item to create (defaults
  to normal). This can be one of 0 (normal), 1 (silver), 2
  (gold), or 4 (iridium).
  Examples:
  player_add (O)246 will create a wheat flour item.
  player_add (O)128 10 4 would create 10 iridium-quality
  pufferfish.

player_setmoney
  Syntax: player_setmoney <I:amount>
  Changes the player's total money to the given amount of
  gold.
  Example: player_setmoney 5000 will change your total money
  to 5000g.

PLAYER
------

player_changecolor
  Syntax: player_changecolor <S:feature> <S:color>
  Sets a color for your character's sprite. Parameters:
  <S:feature> is one of hair, eyes, or pants.
  <S:color> is an RGB color, specified as three
  comma-separated channels from 0 (no color) to 255
  (max color).
  Example: player_changecolor eyes 255,0,0 would make
  your character's eyes red.

player_changestyle
  Syntax: player_changestyle <S:target> <I:style ID>
  Sets a style for your character's sprite. Parameters:
  <S:target> is the part of the player's style to
  change. This is one of hair, shirt, skin, acc
  (accessory), shoe, swim (whether the player is
  wearing a swim suit), or gender.
  <I:style ID> is the integer ID for the style to use.
  For swim, this can be 0 (not in a swim suit) or 1 (in
  a swim suit). For gender, this can be 0 (male) or 1
  (female).
  Example: player_setstyle swim 1 would change the
  player into their swim suit.

player_sethealth
  Syntax: player_sethealth <I:amount>
  Sets the player's current health.
  Example: player_sethealth 200 would set you to 200
  health points.

player_setimmunity
  Syntax: player_setimmunity <I:amount>
  Sets the player's total immunity. This is permanent
  and is affected by immunity buffs. For example, if
  you set immunity 10 while Genie Shoes (+6 immunity)
  are equipped, removing the shoes would set your
  immunity to 4 (10 - 6). You can reset immunity to
  normal by removing everything that improves immunity,
  then entering player_setimmunity 0.
  Example: player_setimmunity 10 would give you 10
  immunity points, or a 100% chance of avoiding buff
  effects.

player_setmaxhealth
  Syntax: player_setmaxhealth <I:amount>
  Sets the player's maximum health. This permanently
  changes the baseline; for example, if you set your
  max health to 500 and then drink Iridium Snake Milk,
  your max health will increase to 525.
  Example: player_setmaxhealth 500 would give you a
  maximum of 500 health points.

player_setmaxstamina
  Syntax: player_setmaxstamina <I:amount>
  Sets the player's maximum stamina. This permanently
  changes the baseline; for example, if you set your
  max stamina to 300 and then collect a Stardrop, your
  max stamina will increase to 334.
  Example: player_setmaxstamina 500 would give you a
  maximum of 500 stamina points.

player_setname
  Syntax: player_setname <S:target> <S:name>
  Sets the name of the current player or their farm,
  depending on the <S:target> value (player or farm).
  Examples:
  player_setname player Malon would change your player
  name to Malon.
  player_setname farm "Lon Lon" would change your farm
  name to Lon Lon Farm.

player_setstamina
  Syntax: player_setstamina <I:amount>
  Sets the player's current stamina.
  Example: player_setstamina 200 would give you 200
  stamina points.

WORLD
-----

hurry_all
  Immediately warps all NPCs to their scheduled
  positions. (To hurry a single NPC, use debug hurry
  npc-name instead.)

set_farm_type list
  Shows a list of farm types you can use with the
  set_farm_type command.

set_farm_type
  Syntax: set_farm_type <S:farm type>
  Sets the player's current farm type, where <I:farm
  type> is one of 0 (Standard), 1 (Riverlands), 2
  (forest), 3 (Hilltop), 4 (Combat), 5 (Four Corners), 6
  (Beach), 7 (Meadowlands) or a custom farm type ID. You
  can enter set_farm_type list for a list of valid farm
  type IDs.
  Example: set_farm_type 1 will set the farm type to
  riverlands.

world_clear
  Syntax: world_clear <S:location> <S:entity type>
  Removes all entities of the given type from a
  location. Parameters:
  <S:location> is the internal name for a location, or
  current for the one you're in.
  <S:entity type> is one of crops, debris, fruit-trees,
  furniture, grass, trees, removable (everything that
  can be removed or destroyed during normal gameplay),
  or everything (everything including permanent bushes).
  Example: world_clear current debris will remove all
  debris (sticks, stones, and small plants).

world_downminelevel
  Goes down one mine level. If you're not in the mines,
  warps you to the first mine level.

world_freezetime
  Syntax: world_freezetime <I:action>
  Freezes or resumes the time. The [I:action] can be 0
  (resume time) or 1 (freeze time); if omitted, time is
  toggled.

world_setday
  Syntax: world_setday <I:day>
  Sets the day of month.
  Example: world_setday 30 will set the date to the 30th
  of the current season.

world_setminelevel
  Syntax: world_setminelevel <I:mine level>
  Warps you to the given mine level. This can be the
  regular mines (levels 1-120), Skull Cavern (121+), or
  Quarry Mine (77377).
  Example: world_setminelevel 80 warps to mine level 80.

world_setseason
  Syntax: world_setseason <S:season>
  Sets the season (one of spring, summer, fall, or
  winter).
  Example: world_setseason spring will set the season to
  spring.

world_settime
  Syntax: world_settime <I:time>
  Sets the time of day, using the game's 26-hour time
  format (from 0600 for 6am at the start of day, to 2600
  for 2am at the end of day).
  Example: world_settime 1430 will set time to 2:30pm.

world_setyear
  Syntax: world_setyear <I:year>
  Sets the year number.
  Example: world_setyear 10 will set the the game to the
  10th year.

OTHER
-----

harmony_summary
  Syntax: harmony_summary [S:search]
  Lists the Harmony patches added by SMAPI and other mods.
  If [S:search] is given, only patched method names matching
  any of the search terms will be listed.
  Example: harmony_summary MeleeWeapon will list patches
  which affect the MeleeWeapon class in the game code.

help
  Syntax: help [S:command name]
  Provides documentation for console commands. If called
  without an argument, shows general help text and a list of
  available commands. If called with a command name, shows
  the documentation for that command.

log_context
  Enables logging more contextual info like buttons pressed,
  menus changed, etc. For example, it can be used to get key
  binding codes or to simplify troubleshooting. This is
  enabled until you restart the game, or run the command
  again to disable it.

reload_i18n
  Reload translation files for all mods. This is mainly
  useful when translating mods. (Note that if a mod caches
  the text, it may show the old version until it updates.)

set_verbose
  Syntax: set_verbose [enable] [mod ID]+
  Toggles whether more detailed information is written to
  the SMAPI log file (and console in developer mode). This
  may impact performance. This doesn't affect mods manually
  set to verbose in the config file.
  Parameters:
  [enable]: Whether to enable (true or 1) or disable (false
  or 0) verbose logs. If omitted, it toggles the current
  mode.
  [mod ID]+: the mods whose verbose logs to change (or SMAPI
  for SMAPI itself). If omitted, applies to SMAPI and all
  mods.
  Examples:
  set_verbose: toggle verbose logs for SMAPI and all mods.
  set_verbose 1: enable verbose logs for SMAPI and all mods.
  set_verbose 1 SMAPI Pathoschild.ContentPatcher: enable
  verbose logs for SMAPI and Content Patcher.

show_data_files
  Opens the folder containing the save and log files.

show_game_files
  Opens the game folder.

Mods may also add their own commands. For example, Content Patcher adds the
patch command, documented here.

ADVANCED
--------

?? These may corrupt or make permanent changes to your save. DO NOT USE
THESE unless you're absolutely sure.
apply_save_fix
  Syntax: apply_save_fix <S:fix ID>
  Applies one of the game's save migrations to the
  currently loaded save. Parameters:
  <s:fix ID> is the unique identifier for the save fix to
  apply. You can specify list to show a list of save fix
  IDs.
  Examples:
  apply_save_fix list would show a list of save fixes.
  apply_save_fix AddCampfireKit would add Cookout Kit to
  the player's crafting recipes if they meet the
  requirements for it.

debug
  Syntax: debug <*:command text>
  Executes one of the game's debug commands. See debug
  commands below for more info.

regenerate_bundles
  Syntax: regenerate_bundles [S:type] [*:flags]
  Regenerates your community center bundle data. This
  will reset all bundle progress, and may have unintended
  effects if you've already completed bundles.
  Parameters:
  [S:type]: the bundle type that will be generated
  (defaults to the current bundle type). Possible values:
  Default or Remixed.
  confirm: confirms that you're aware of the potential
  consequences. Running regenerate_bundles without this
  option will show a warning message instead.
  ignore_seed (optional): if the type is Remixed, causes
  remixed bundles to be re-randomized without using the
  save seed.
  Examples:
  regenerate_bundles confirm will regenerate bundles
  using the save's current settings.
  regenerate_bundles remixed ignore_seed confirm will
  regenerate using randomized remixed bundles.

DEBUG COMMANDS

Don't use these commands unless you're aware of the possible consequences.
These are meant for the game developers, not players. They may crash your
game, permanently corrupt or break your save, or cause other problems.
Using these in a save you care about is not recommended.

How to enter debug commands
---------------------------

The game itself has hundreds of hidden debug commands used to test the

game. These require the Console Commands mod too, but every command should
be prefixed with debug like this:
debug where Robin

> Robin is at Farm, 21,4
The example above returned output, but many commands don't. If there's no
output, SMAPI will say Sent debug command to the game, but there was no
output.

Macros
------

Instead of entering each command directly into the SMAPI console, you can
also use the debug runmacro command to a list of debug commands from a text

file. (This doesn't work with the non-debug commands.) Here's how to use
it:
1. Create a text file in your game folder (with a .txt extension).
2. Type commands in this file, one command per line. Each command should
start with a slash character (/), but should not include debug .
3. To run the macro, type debug runmacro <filename> in the SMAPI console,
replacing <filename> with the name of your command file without the

Actions and queries
-------------------

action
  Syntax: action <S:action>
  Run a trigger action string.
  Example: action AddMoney 500 will add 500 g to the current
  player.

gamequery, gq
  Syntax: gamequery <S:query>
  Check whether the given game state query matches in the current
  context.
  Example:
  gq !SEASON Spring, WEATHER Here Sun
  > Result: true.

itemquery, iq
  Syntax: itemquery <S:query>
  Open a shop menu with all the items matching an item query (all
  items free).
  Examples:
  debug iq ALL_ITEMS shows all items
  debug iq ALL_ITEMS (W) shows all weapons
  debug iq (O)128 shows a pufferfish (object 128)
  debug iq FLAVORED_ITEM Wine (O)128 shows Pufferfish Wine.

search
  Syntax: search [S:term]
  List all debug commands that match the given search term (or all
  debug commands if the search term is omitted).
  Example:
  debug search backpack
  > Found 2 debug commands matching search term 'backpack':
  - Backpack
  - FillBackpack (fbp, fill, fillbp)

tokens
  Syntax: tokens <S:tokenizedString>
  Parses a tokenizable string and prints its output.
  Example:
  tokens [LocalizedText
  Strings\StringsFromCSFiles:MapPage.cs.11064 [EscapedText
  [FarmName]]]
  > Result: "Lon Lon Farm"

Items and inventory
-------------------

General item search and spawning
--------------------------------

createDebris
  Syntax: createDebris <I:item ID>
  Spawns an item with the given qualified or unqualified
  item ID on the ground at your feet.
  Example: debug createDebris 24 would spawn a parsnip.

doesItemExist
  Syntax: doesItemExist <S:item ID>
  Searches the entire world (including other players'
  inventories) to see if the qualified or unqualified item
  ID exists anywhere. A global message saying Yes or No will
  be displayed, but there's no indication of where the item
  is located if it is found. See the whereIsItem command for
  more detailed output.
  Example: debug doesItemExist 24 or debug doesItemExist
  (O)24 will search for parsnips.

furniture, ff
  Syntax: furniture [item ID]
  Adds a furniture-type item to your inventory based on its
  unqualified item ID. If the item ID is omitted, a random
  furniture with ID 0-1612 will be added.
  Example: debug furniture 704 would give you an Oak
  Dresser.

fuzzyItemNamed, fin, f
  Syntax: fuzzyItemNamed <S:name search> [I:amount]
  [I:quality]
  Adds the specified item to your inventory based on a fuzzy
  search for <item name> across all item types. Only the
  first matching item will be spawned. The item name can be
  quoted to include spaces. The optional parameters are for
  stack size (default 1) and quality (default 0).
  Examples:
  debug fuzzyItemNamed sturg 5 4 would give you a stack of
  five iridium-quality sturgeon.
  debug fin "galaxy sword" would give you a Galaxy Sword.
  debug f grief would give you a "Good Grief" shirt.

getIndex
  Syntax: getIndex <S:name search>
  Shows the display name and qualified item ID for the item
  matching the fuzzy search (see fuzzyItemNamed for search
  syntax).
  Examples:
  debug getIndex prisma would output Prismatic Shard's
  qualified ID is (O)74.
  debug getIndex grief would output "Good Grief" Shirt's
  qualified ID is (S)1008.

holdItem
  Plays the animation where the player holds an item up
  above their head. Uses the player's current item.

item, i
  Syntax: item <S:item ID> [I:amount] [I:quality]
  Adds an item to your inventory based on its qualified or
  unqualified item ID. The optional parameters are for stack
  size (default 1) and quality (default 0).
  Example: debug item 74 or debug item (O)74 would give you
  a prismatic shard.

itemNamed, in
  Syntax: itemNamed <S:item name> [I:amount] [I:quality]
  Adds object-type items whose internal names exactly equals
  the <item name> (case-insensitive) to your inventory. The
  optional parameters are for stack size (default 1) and
  quality (default 0).
  Examples:
  debug itemNamed "miner's treat" would give you miner's
  treat.
  debug in "strange doll" 3 would give you 3 of each of the
  strange doll artifacts.

lookup, lu
  Syntax: lookup <S:name search>
  Outputs the unqualified item ID of each object-type item
  whose internal name contains the <name search>
  (case-insensitive).
  Examples:
  debug lookup diamond would output Diamond 72.
  debug lu strange doll would output Strange Doll 126 and
  Strange Doll 127.

qualifiedId
  Shows the held item's display name and qualified item ID.

tv
  Adds a budget TV or plasma TV to your inventory (each has
  an equal random chance).

wallpaper, wp
  Syntax: wallpaper [I:item ID]
  Adds a floorpaper or wallpaper item to the inventory. If a
  numeric wallpaper/flooring ID is specified, spawns that
  one; otherwise it randomly chooses one from floor IDs 0-39
  or wallpaper IDs 0-111.

whereIsItem, whereItem
  Syntax: whereIsItem <S:item ID>
  Searches the entire world (including other players'
  inventories) for items matching the qualified or
  unqualified item ID, and lists all matches.
  Example:
  > debug whereItem "Watering Can"
  Found 1 item matching name 'Watering Can':
  - Farm > Shed at 50, 14 >
  Shed149bae63-2add-4ab6-a5aa-b3bd76372004 > Chest at 4, 4 >
  Watering Can ((T)CopperWateringCan)

Backpack and inventory
----------------------

backpack
  Syntax: backpack <I:amount>
  Increases your inventory space by the specified amount;
  capped at 36 slots.

clear, ci
  Removes all items currently in your inventory.

fillbackpack, fillbp, fill, fbp
  Fills all empty spaces in your inventory with random
  Objects. Any objects spawned by this command will not be
  marked as found on the collections tab.

sl, shiftToolbarLeft
  Shifts inventory rows down, looping previous bottom row
  to top; similar to using Control-Tab with default
  keyboard controls. Will work with larger-than-normal
  inventories.

sr, shiftToolbarRight
  Shifts inventory rows up, looping previous top row to
  bottom; similar to using Tab with default keyboard
  controls. Will work with larger-than-normal inventories.

Clothing and tailoring
----------------------

dye
  Syntax: dye <S:itemType> <S:color> <F:strength>
  Dyes the specified (currently equipped) item the
  specified color. Item type can be shirt or pants and
  valid colors are black, blue, green, red, white, and
  yellow. Strength is a float between 0 and 1
  inclusive; the higher the number, the more vibrant
  the color. The dye will mix with the current color
  so it is sometimes necessary to "reset" the item by
  dyeing first with white strength 1.
  Examples:
  debug dye shirt red 0.33 would dye your current
  shirt a shade of pink.
  debug dye pants blue 1 would dye your current pants
  bright blue.

dyeAll
  Seems to be intended to bring up a character
  customization menu with HSV sliders for both shirt
  and pants, but it does not function because all
  entered commands are forced to lower case. The two
  individual commands dyepants and dyeshirt can be
  used instead.

dyemenu
  Brings up the same dyeing menu you get by
  interacting with the dye pots in Emily's house.
  Filling all six pots with appropriate items will
  bring up a character customization menu with HSV
  sliders for dyeing both your currently-equipped
  shirt and pants.

dyepants
  Brings up a character customization menu with HSV
  sliders for dyeing your currently-equipped pants.

dyeshirt
  Brings up a character customization menu with HSV
  sliders for dyeing your currently-equipped shirt.

hat
  Syntax: hat <I:itemID>
  Gives and automatically equips the specified hat to
  your farmer; any currently equipped hat will be
  destroyed. See hat data for a list of base game IDs.
  Example: debug hat 3 would give you a Sombrero and
  automatically equip it.

shirt
  Syntax: shirt <I:itemID>
  Gives and automatically equips the specified shirt
  to your farmer; any currently equipped shirt will be
  destroyed.

tailor
  Brings up the same tailoring menu you get by
  interacting with the sewing machine in Emily's
  house.

tailorrecipelisttool, trlt
  Brings up a special menu listing most Objects, what
  color they will dye an item, and what clothing item
  they can make when used in the sewing machine. The
  menu can be scrolled with the mouse wheel, hovering
  the mouse over the object will show the tooltip for
  the clothing it makes, and clicking on the object
  will add the clothing it makes to your inventory.

Tools and weapons
-----------------

bobber
  Syntax: bobber <I:type>
  Changes the player's fishing rod bobber style. Valid styles begin
  at 0.

fish
  Syntax: fish <S:whichFish>
  Starts the fishing minigame with the specified fish. The player
  must be holding a fishing rod. Can lead to the farmer getting
  stuck on fishing animation frames.

forge
  Shows the Forge menu.

pole
  Syntax: pole [I:type]
  Adds a Fishing Pole of the specified type to your inventory. Valid
  types are 0 (Bamboo Pole; the default), 1 (Training Rod), 2
  (Fiberglass Rod), or 3 (Iridium Rod).

trashcan
  Syntax: trashcan <I:level>
  Changes the upgrade level of your inventory Trash Can. Upgrade
  levels are 0 (basic), 1 (copper), 2 (steel), 3 (gold), or 4
  (iridium). The can sprite may not fully update until the inventory
  is closed and reopened.

Wallet items
------------

clearspecials
  Removes most special items from your Wallet. The Rusty Key,
  Skull Key, Special Charm, Dark Talisman, Magic Ink, Club
  Card, Dwarven Translation Guide, and Magnifying Glass will
  all be removed, but Bear's Knowledge and Spring Onion Mastery
  will remain.

darktalisman
  Adds the Dark Talisman to (and removes the Magic Ink from)
  your wallet; also removes the magic artifact blocking access
  to the Witch's Swamp.
  Warning: This command will also clear all received mail and
  hidden mail flags.

skullkey
  Adds the Skull Key to your wallet.

specialitem
  Syntax: specialitem <I:itemID>
  Adds the specified special item to your wallet. Which ID
  values are useful is currently unknown.

specials
  Adds all special items to your wallet, including Bear's
  Knowledge and Spring Onion Mastery. The associated events for
  these two are also marked as seen.

townkey
  Adds the Key To The Town to your wallet.

Miscellaneous items
-------------------

fillbin, fb
  Adds a Parsnip, Fire Quartz, LargeMouth Bass, Wild
  Horseradish, and Wood to the shipping bin.

listtags
  Outputs all object context tags associated with the
  currently-held item to the console.
  Example: debug listtags while holding an Acorn would output
  Tags on Acorn: id_o_309 color_brown tree_seed_item item_acorn
  category_seeds.

makeinedible
  Makes the currently-held item inedible by setting its
  edibility value to -300; does not affect other instances of
  the same item.

skullgear
  Sets your current backpack size to 36 slots, equips a Savage
  Ring and Iridium Band, equips Space Boots, and clears
  inventory except for an Iridium Pickaxe, a Galaxy Sword, a
  stack of 20 Spicy Eels, and a stack of 20 Mega Bombs. Also
  sets your maximum health to 75 and gives you the Fighter
  profession. Any previously equipped boots and rings and all
  previous inventory items are lost.

PLAYER
------

Appearance
----------

copyoutfit
  Copies all elements of the player's outfit in XML format to
  the desktop clipboard and prints the same XML to the
  console.

customizemenu, customize, cmenu
  Opens the full character customization menu seen at the
  start of a new game which includes gender options and
  player/farm names. Changing the player name will cause the
  save file to change as well.

haircolor
  Syntax: haircolor <I:R> <I:G> <I:B>
  Sets the player's hair color to the specified RGB values.
  Each has a range of 0-255.

hairstyle
  Syntax: hairstyle <I:ID>
  Sets the player's hair style to the specified ID. Note that
  these IDs are one less than the values shown in the
  character customization menu and have a range of 0-55 in
  the base game.

pants
  Syntax: pants <I:R> <I:G> <I:B>
  Sets the player's pants color to the specified RGB values.
  Each has a range of 0-255. This no longer has a noticeable
  effect since pants are now a clothing item; the dyepants
  command should be used instead.

shirtcolor
  Syntax: shirtcolor <I:ID>
  Sets the player's shirt choice to the specified ID. This no
  longer has a noticeable effect since shirts are now a
  clothing item; the clothes or dyeshirt commands should be
  used instead.

skincolor
  Syntax: skincolor <I:ID>
  Sets the player's skin color to the specified ID. Note that
  these IDs are one less than the values shown in the
  character customization menu and have a range of 0-23 in
  the base game.

Health, stamina, buffs, and currency

buff
  Syntax: buff <I:buffID>
  Adds the specified buff to the player. Useful ID values are
  listed below. Also see the speed command.
  6 - Full (prevents eating) for 3 min
  18 - Spooked (-8 attack) for 8 sec
  7 - Quenched (prevents drinking) for 1 min
  19 - Frozen (-8 speed) for 2 sec
  12 - Goblin's Curse (-3 spd/def/att) for 6 sec
  20 - Warrior Energy (+10 attack) for 5 sec
  13 - Slimed (-4 speed) for 2.5-3 sec
  21 - Yoba's Blessing (Invincibility) for 5 sec
  14 - Jinxed (-8 defense) for 8 sec
  22 - Adrenaline Rush (+2 speed) for 3 sec
  17 - Tipsy (-1 speed) for 30 sec
  23 - Oil of Garlic (prevents swarms) for 10 min

clearbuffs
  Removes all active buffs (both positive and negative.)

die
  Sets your health to zero, resulting in passing out and
  awakening in the Clinic.

energize
  Syntax: energize [I:amount]
  Sets your energy to the specified amount. If no amount is
  specified, it will be set to maximum.

exhaust
  Sets your energy to -15, resulting in passing out and ending
  the day.

gem
  Syntax: gem <I:amount>
  Gives you the specified number of Qi Gems.

gold
  Gives you one million (1,000,000) gold.

heal
  Sets your health to maximum.

invincible, inv, gm
  Toggles invincibility. When on, you will not take any damage.

money
  Syntax: money <I:amount>
  Sets your money to the specified amount. To use in a macro,
  make sure one or more of the letters in the command is
  capitalized.

testnut
  Spawns a Golden Walnut at the upper left corner of the current
  map which will immediately start moving towards a player for
  collection.

walnut
  Syntax: walnut <I:amount>
  Gives your team the specified number of Golden Walnuts.

Movement and warping
--------------------

canmove, cm, c
  Attempts to force-enable player movement by resetting
  animations and dismounting the horse. Sometimes useful
  when the player becomes "stuck."

farmerdayupdate
  Syntax: farmerdayupdate [I:timeOfDay]
  Updates the farmer for a new day (Farmer::dayupdate) as
  if they went to sleep at the current time of day. If
  timeOfDay is specified, it then re-updates the farmer as
  if they went to sleep at time 0 (inclusive) all the way
  up through time timeOfDay - 1 (exclusive).

minelevel
  Syntax: minelevel <I:level> [I:layout]
  Warps you to the specified level of the Mines using the
  specified layout in Content/Maps/Mines. Use level 77377
  to warp to the Quarry Mine, and to warp to a level in the
  Skull Cavern, add 120 to your target level.
  Example: debug mineLevel 101 47 warps to mine level 101
  using layout 47.

printplayerpos, ppp
  Prints the player's current position in both tile and
  pixel coordinates to the console.

speed
  Syntax: speed <I:value> [I:duration]
  Gives the player a speed buff of the specified amount for
  the specified duration. The duration is interpreted as
  in-game minutes and defaults to 30; multiplying this
  value by 0.7 will convert to real-time seconds. This buff
  has a unique source of "Debug Speed" and will stack with
  both food and drink speed buffs.
  Example: debug speed 5 600 will give you a +5 speed buff
  which lasts for 7 minutes (10 game hours).

volcano
  Syntax: volcano <I:level>
  Warps you to the specified level of the Volcano Dungeon.

warp
  Syntax: warp <S:locationName> [I:X] [I:Y]
  Warps you to the specified location at the given
  coordinates. The location name is a fuzzy match, and if
  the coordinates are not supplied the game has a list of
  hardcoded defaults it will use for many locations (see
  Utility.getDefaultWarpLocation() for details.)
  Examples:
  debug warp forest 33 99 will warp you near Hat Mouse's
  shop in the forest.
  debug warp sci will warp you to Robin's House (internally
  ScienceHouse) just in front of where Robin tends the
  shop.

warphome, wh
  Warps you directly to your bed in your farmhouse/cabin.

warpshop, ws
  Syntax: warpshop <S:npcName>
  Warps you to the shop run by the specified NPC; if
  necessary will also warp the NPC to the shop location.
  NPC names are case-insensitive and can be one of the
  following: pierre, robin, krobus, sandy, marnie, clint,
  gus, willy, pam, dwarf, and wizard. The wizard option
  will also add Magic Ink to your wallet and mark the event
  where the ink is returned as already seen.
  Example: debug warpshop marnie will warp both you and
  Marnie to her animal shop.

warptocharacter, wtc
  Syntax: warptocharacter <S:npcName>
  Warps you to the specified character, wherever they are.
  This is a fuzzy match.

warptoplayer, wtp
  Syntax: warptoplayer <S:playerName>
  Warps you to the specified player, wherever they are. The
  match is case-insensitive and names with spaces should be
  surrounded by double quotes.

Skills and XP
-------------

experience
  Syntax: experience <I:skillID> <I:xpAmount>
  Adds the specified amount of experience to the specified
  skill. Valid skill IDs are 0 (Farming), 1 (Fishing), 2
  (Foraging), 3 (Mining), 4 (Combat), and 5 (Luck).

fishing
  Syntax: fishing <I:level>
  Sets your fishing skill to the specified level. This does
  not unlock crafting recipes or allow profession choice, nor
  does it change the underlying experience amount. However it
  does count in terms of unlocking what Willy sells and
  enabling legendary fish to be hooked.

levelup
  Syntax: levelup <I:skillID> <I:level>
  Shows the appropriate levelup window for the specified
  skill and level. This unlocks any associated crafting
  recipes and (if applicable) lets you choose a profession,
  but does not actually change the skill level or underlying
  experience amount. Valid skill IDs are 0 (Farming), 1
  (Fishing), 2 (Foraging), 3 (Mining), 4 (Combat), and 5
  (Luck).

profession
  Syntax: profession <I:ID>
  Gives you the specified profession. Note that this just
  hard adds the profession, it's not a way to switch skill
  trees. Valid profession IDs from the base game are shown
  below.
  Farming
  Fishing
  Foraging
  Mining
  Combat
  0 - Rancher
  6 - Fisher
  12 - Forester
  18 - Miner
  24 - Fighter
  1 - Tiller
  7 - Trapper
  13 - Gatherer
  19 - Geologist
  25 - Scout
  2 - Coopmaster
  8 - Angler
  14 - Lumberjack
  20 - Blacksmith
  26 - Brute
  3 - Shepherd
  9 - Pirate
  15 - Tapper
  21 - Prospector
  27 - Defender
  4 - Artisan
  10 - Mariner
  16 - Botanist
  22 - Excavator
  28 - Acrobat
  5 - Agriculturist
  11 - Luremaster
  17 - Tracker
  23 - Gemologist
  29 - Desperado

showexperience
  Syntax: showexperience <I:skillID>
  Outputs your total experience amount for the specified
  skill in the SMAPI console. Valid skill IDs are 0
  (Farming), 1 (Fishing), 2 (Foraging), 3 (Mining), 4
  (Combat), and 5 (Luck).

Statistics and achievements
---------------------------

achieve
  Syntax: achieve <S:steamAchieveID>
  Awards the specified Steam achievement. Steam achievements
  which correspond to in-game achievements use the same
  numeric ID as listed in Achievement data with one
  exception: the ID for Greenhorn is a0 instead of just 0.
  Steam-only achievements have a much longer string ID; these
  are listed below.
  Achievement_SingularTalent - Singular Talent
  Achievement_MasterOfTheFiveWays - Master Of The Five Ways
  Achievement_LocalLegend - Local Legend
  Achievement_Joja - Joja Co. Member Of The Year
  Achievement_FullHouse - Full House
  Achievement_Stardrop - Mystery Of The Stardrops
  Achievement_TheBottom - The Bottom
  Achievement_KeeperOfTheMysticRings - Protector Of The
  Valley
  Achievement_PrairieKing - Prairie King
  Achievement_FectorsChallenge - Fector's Challenge
  Examples:
  debug achieve 17 will award the Steam achievement for
  Gourmet Chef.
  debug achieve Achievement_Stardrop will award the Steam
  achievement for Mystery of the Stardrops.

achievement
  Syntax: achievement <I:achieveID>
  Awards the specified in-game achievement. See Achievement
  data for a list of IDs. This will also award the associated
  Steam achievement if you don't have it.

catchallfish
  Marks every fish in the game as having been caught by the
  player. All fish will be marked as having size 9.

caughtfish, fishcaught
  Syntax: caughtfish <I:value>
  Sets the FishCaught stat to the specified amount.

daysplayed, dap
  Shows a global message with the current value of the
  daysPlayed stat.

dp
  Syntax: dp <I:value>
  Sets the daysPlayed stat to the specified amount.

getStat
  Syntax: getStat <S:stat key>
  Shows a stat's value in the console.

killmonsterstat, kms
  Syntax: killmonsterstat <S:monsterName> <I:value>
  Sets the kill stats for the specified monster to the
  specified value. The monster name should be the same as the
  keys in Data/Monsters and names with spaces should be in
  double quotes; it is case-sensitive. The command will
  output a buggy response to the console due to referencing
  the wrong string key, but the stats are correctly set.
  Example: debug kms "Dust Spirit" 499 will set the monster
  kill stats for Dust Sprites to 499 and output Drink Dust
  Spirit?

mineinfo
  Outputs two mine-related stats to the SMAPI Console:
  MineShaft.lowestLevelReached and player.deepestMineLevel

perfection
  May be broken. Makes a variety of changes to qualify for
  Perfection. These include maxing all friendships, marking
  all fish as caught, awarding and marking complete all
  cooking and crafting recipes, marking all items as shipped,
  setting the flags for all stardrops, setting all skill
  levels to 10, awarding 500 kills for all monsters, forcibly
  placing all 4 obelisks and the gold clock in the upper left
  corner of the farm, and giving 130 walnuts.

resetachievement
  Resets the Steam achievements.

s

setStat
  Syntax: setStat <S:stat key> <I:value>
  Sets a stat's value to the given positive integer.
  Example: debug setstat StepsTaken 99999 would set the
  Number of Steps Taken stat to 99999.

Collections and quests
----------------------

Cooking and crafting
--------------------

addallcrafting
  Teaches you all crafting recipes. Basically the same as
  crafting, but this one does not check if you already
  know the recipe before adding so it may output some
  error messages to the console about duplicate keys.

cooking
  Teaches you all cooking recipes.

cookingrecipe
  Syntax: cookingrecipe <S:recipeName>
  Teaches you the specified cooking recipe. Names are
  case-sensitive and may contain spaces.
  Example: debug cookingrecipe Seafoam Pudding will give
  you the recipe to cook Seafoam Pudding.

crafting
  Teaches you all crafting recipes.

craftingrecipe, addCraftingRecipe
  Syntax: craftingrecipe <S:recipeName>
  Teaches you the specified crafting recipe. Names are
  case-sensitive and may contain spaces.
  Example: debug craftingrecipe Ancient Seeds will give
  you the recipe to craft plantable ancient seeds from the
  artifact.

slimecraft
  Teaches you the crafting recipes for Slime Incubator and
  Slime Egg-Press.

Fishing, museum, and secret notes

clearfishcaught
  Clears all records of which fish you have caught,
  resetting the collection. To also change the stat which
  tracks how many total fish have been caught, see
  caughtfish.

clearmuseum
  Removes all donated items from the museum, emptying the
  museum displays and causing all artifacts and minerals to
  have the Gunther can tell you more about this...
  description. Does not affect the records of which
  artifacts and minerals have been found (i.e., the
  collection pages).

deletearch
  Clears all records of which artifacts and minerals you
  have found.
  Warning: Also clears all record of which fish you have
  caught and clears all received mail (including hidden
  progress flags).

museumloot
  Adds unfound artifacts and minerals to your inventory
  until it is full. Items added by this command will now be
  marked "found" on the collection pages.

newmuseumloot
  Adds undonated artifacts and minerals to your inventory
  until it is full. Items added by this command increment
  the "Total found" count on the collection pages.

note
  Syntax: note <I:bookID>
  Sets the count of Lost Books recovered to 18, even if you
  previously had found more, and brings up a window with the
  contents of the specified book. Book IDs above 18 will
  show the message There's a book missing here.

sn, secretNote
  Syntax: sn [I:noteID]
  Adds specified secret note to your inventory. If no ID is
  specified, a random unseen note will be added. See
  Data/SecretNotes for a list of IDs.

Mail
----

allmail
  Queues every letter defined in Data/mail for delivery
  tomorrow.

allmailread
  Marks every letter defined in Data/mail as already read.
  They will all be accessible in the letters tab of the
  collections menu.

broadcastmail
  Syntax: broadcastmail <S:mailID>
  Queues specified mail for delivery tomorrow for all
  players. The ID is case-sensitive; see Data/mail for
  valid IDs in the base game.

broadcastmailbox
  Syntax: broadcastmailbox <S:mailID>
  Immediately adds specified mail to all players'
  mailboxes. The ID is case-sensitive; see Data/mail for
  valid IDs in the base game.

clearmail
  Clears records of all received mail (including hidden
  progress flags). This also clears the letters tab in the
  collections menu.

mailfortomorrow, mft
  Syntax: mailfortomorrow <S:mailID> [noletter]
  Queues specified mail for delivery tomorrow. The ID is
  case-sensitive, and any zeros in the given ID will be
  replaced with underscores. See Data/mail for valid IDs
  (after replacement) in the base game. Because of the zero
  replacement, some letters (e.g., quest10) are
  inaccessible with this command; broadcastmail may be a
  useful alternative in those cases. If the second
  parameter is present (with any value), the "noletter"
  flag is set, which will add the mail to your mail
  received list without showing a "new mail" indicator.

seenmail
  Syntax: seenmail <S:mailID> [B:addOrRemove]
  Marks specified mail as already received. The ID is
  case-sensitive; see Data/mail for valid IDs in the base
  game. You can remove a mail received (instead of adding
  it) by setting the second argument to false, like
  seenMail <id> false.

showmail
  Syntax: showmail <S:mailID>
  Brings up the letter-reading window with the specified
  mail. The ID is case-sensitive; see Data/mail for valid
  IDs in the base game. If a match cannot be found, a blank
  window will briefly display and an ArgumentOutOfRange
  error will be triggered. Does not set the letter as
  received or cause it to show in the letter tab of the
  collections menu.
  Example: debug showmail SeaAmulet will show the letter
  Lewis sends about Mermaid's Pendants.

Quests and Special Orders
-------------------------

clearquests
  Removes all quests from your journal/quest log.

collectquest
  Starts a new random resource Gathering quest. If
  used multiple times on the same game day, the
  quest will always be the same.

completespecialorders, cso
  Completes all objectives for all currently active
  Special Orders and Qi Challenges. Note that this
  command does not remove the associated journal
  entries.

completequest
  Syntax: completequest <I:questID>
  Completes specified quest and removes it from your
  journal. See Data/Quests for a list of IDs.

deliveryquest
  Starts a new random item Delivery quest. If used
  multiple times on the same game day, the quest
  will always be the same.

getallquests
  Starts every quest from Data/Quests that you don't
  already have.

ordersboard
  Shows the Special Orders quest board.

qiboard
  Shows the Qi Challenges quest board.

quest
  Syntax: quest <I:questID>
  Starts the specified quest. See Data/Quests for a
  list of IDs.

quests
  Starts every quest from Data/Quests that you don't
  already have as well as a random item Delivery
  quest and a random Slay Monster quest.

removequest
  Syntax: removequest <I:questID>
  Silently removes specified quest from your
  journal. See Data/Quests for a list of IDs.

slayquest
  Starts a new random Slay Monster quest. If used
  multiple times on the same game day, the quest
  will always be the same.

specialorder
  Syntax: specialorder <S:questID>
  Starts the Special Order (either town or Qi
  Challenge) with the specified ID. See
  Data/SpecialOrders for a list of IDs.

NPCs
----

Children
--------

child, kid
  If you have children, advances the age of the first child to
  the next stage. Otherwise, spawns a new child named "Baby"
  with gender and skin tone randomly chosen; the child will
  start at stage 3 (crawling) and may initially spawn out of
  bounds. You do not need to be married or have an upgraded
  house to use this command.

child2
  If you have multiple children, advances the age of the second
  child to the next stage. Otherwise, spawns a new child named
  "Baby2" with gender and skin tone randomly chosen; the child
  will start at stage 3 (crawling) and may initially spawn out
  of bounds. You do not need to be married or have an upgraded
  house to use this command.

clearchildren
  Removes all your children.

pregnant
  Sets a new baby to be born/adopted the next day. You may need
  to be already married (and have a house with a nursery) for
  this to work.

Spawning and removal
--------------------

addkent
  Spawns Kent if after year 1.

characterinfo
  Displays a global message listing how many NPCs are in the
  current location.

clearcharacters
  Removes all NPCs who are in the current location.

clone
  Syntax: clone <S:npcName>
  Clones specified NPC and places the copy in the current
  location. Name is a fuzzy match.
  Warning: cloning farmer will crash the game.

killall
  Syntax: killall <S:npcName>
  Removes all NPCs except for the specified character. Name
  is an exact match, and they are only spared from removal
  if they are in the current location. Will also remove NPCs
  inside constructed buildings.

killnpc, removenpc
  Syntax: killnpc <S:npcName>
  Removes specified NPC from the game, checking all game
  locations and buildings. Name is an exact match. Command
  will output a message to the console stating whether or
  not the NPC was found and removed.

Relationships
-------------

dating
  Syntax: dating <S:npcName>
  Sets your relationship status with specified NPC to Dating;
  i.e., marks them as having been given a bouquet. Name is an
  exact match.

divorce
  Queues your farmer to divorce their spouse overnight. The
  spouse room may not be fully removed until you have slept
  and/or returned to title.

engaged
  Syntax: engaged <S:npcName>
  Increases your friendship with specified NPC by 2500 points (10
  hearts) and sets relationship status to Engaged with a wedding
  for the next day. Name is an exact match.

friendall
  Syntax: friendall [I:value]
  Increases friendship with all socializable NPCs by the
  specified amount. If no amount is given, the increase will be
  2500 points (10 hearts). All normal point caps are in place, so
  a bachelor you aren't dating will not increase past 8 hearts.
  Previously unmet NPCs will also be marked as met and have
  friendship increased with the following exceptions:
  Dwarf will be marked as met but not change friendship if you
  don't have the Dwarven Translation Guide.
  Kent will not be included if you are still in year 1.
  Krobus will not be included if they have not yet been met in
  game.

friendship, friend
  Syntax: friendship <S:npcName> <I:value>
  Sets friendship with specified NPC to specified value. This is
  a fuzzy match, and they will be marked as met if previously
  unmet.

invitemovie
  Syntax: invitemovie <S:npcName>
  Invites specified NPC to see a movie today. This is a fuzzy
  match and you will still need your own ticket to enter the
  theatre.

makeex
  Syntax: makeex <S:npcName>
  Sets your relationship status with specified NPC to Divorced,
  removing any marriage or bouquet flag and listing them as
  ex-husband or ex-wife. Name is an exact match.

marry
  Syntax: marry <S:npcName>
  Increases your friendship with the specified NPC by 2500 points
  (10 hearts), and sets your relationship status to Married with
  an anniversary of today. Name is a fuzzy match.
  Notes:
  If you haven't upgraded your farmhouse, also run debug
  houseUpgrade 1 to avoid errors.
  The spouse room generally appears empty on the first day and
  you'll need to sleep for it and your spouse to spawn properly.
  For non-vanilla marriage candidates:
  Trying to debug marry Krobus will work, but will set him as a
  spouse rather than a roommate. Most of his dialogue and actions
  remain the same, but he will use some hardcoded spouse lines
  where he would otherwise have his own version, have a heart
  instead of a smiley face for his hug/kiss sprite, and the
  social menu will list him as your spouse. It's unclear if
  you're able to have children this way.
  For other non-marriageable villagers, an empty spouse room will
  spawn and the NPC will move in. They will follow a basic
  hardcoded spouse schedule and can be kissed (although they
  won't have a kiss sprite), but they will rarely have dialogue.

wedding
  Syntax: wedding <S:npcName>
  Sets the specified NPC as your spouse and queues a wedding for
  today. Name is an exact match. If the specified NPC is not
  normally marriageable, the wedding will still occur but they
  will be invisible on the wedding day.
  Tip: if you want to test a normal wedding, you can run these
  commands and then give them the pendant (replacing Abigail with
  the NPC's internal name):
  debug houseUpgrade 2
  debug friendship Abigail 2500
  debug item (O)460
  debug warpToCharacter Abigail

Dialogue
--------

clearactivedialogueevents
  Clears all active conversation topics.

db, speakto
  Syntax: db <S:npcName>
  Shows a dialogue box with the current dialogue
  for the specified NPC. Name is a fuzzy match
  and will default to Pierre if not supplied.
  This does count as having spoken to that NPC
  today, and if they don't have any more dialogue
  right now, the message Stack empty will be
  output to the console.

dialogue, adddialogue
  Syntax: dialogue <S:npcName> <S:dialogueString>
  Sets the dialogue for the specified character
  to the specified string. Name is a fuzzy match,
  and NPC names containing spaces should be
  quoted (e.g. debug dialogue "Some NPC" Some
  dialogue text$h. The dialogue string should
  start with a zero and everything after will be
  parsed. It can include tokens such as @ for the
  farmer name and portrait commands; see Dialogue
  for format specifics.
  Example: debug dialogue Abi 0Hi @! Modding is
  fun!$h would set Abigail's next dialogue to be
  Hi (FarmerName)! Modding is fun! with her happy
  portrait.

loaddialogue
  Syntax: loaddialogue <S:npcName>
  <S:dialogueKey>
  Sets the dialogue for the specified character
  using the specified asset key. Name is a fuzzy
  match. Key format appears to be file:key but
  exact specifics are unknown. Curly braces in
  the key ({, }) will be converted to angle
  brackets (<, >).

phone
  Brings up the Telephone menu.

question
  Syntax: question <I:questionID>
  [B:answerOrForget]
  Marks the specified dialogue question as
  answered. You can forget a selected answer
  (instead of adding it) by setting the second
  argument to false, like question <id> false.

showtextabovehead, sb
  Syntax: showtextabovehead <S:npcName>
  Shows a speech bubble saying "Hello! This is a
  test" above the specified NPC's head. Name is a
  fuzzy match.

speech
  Syntax: speech <S:npcName> <S:text>
  Displays a dialogue box for the specified
  character saying the specified string. Name is
  a fuzzy match and names with spaces should be
  in double quotes. All text after the NPC name
  is part of the text to display. The text can
  include tokens such as @ for the farmer name
  and portrait commands; see Dialogue for format
  specifics. Useful for testing dialogue changes.
  Example: debug speech Abi 0Hi @! Modding is
  fun!$h would open a dialogue box of Abigail
  saying Hi (FarmerName)! Modding is fun! with
  her happy portrait.

Movement and warping
--------------------

facedirection, face, fd
  Syntax: facedirection <S:npcName> <I:direction>
  Sets specified character to face the specified
  direction. Name is a fuzzy match and also accepts
  farmer. See Event data for the valid directions.

faceplayer
  Syntax: faceplayer <S:npcName>
  Sets specified character to face towards the player.
  Name is a fuzzy match.

hurry
  Syntax: hurry <S:npcName>
  Warps specified character to the endpoint of their
  current schedule entry. Name is a fuzzy match.
  Example: debug hurry pam would cause Pam to immediately
  warp to the bus if entered during her morning walk
  after the bus has been repaired.

jump
  Syntax: jump <S:npcName> [F:velocity]
  Makes specified character jump with the specified
  velocity. Name is a fuzzy match and also accepts
  farmer. Velocity is a float and defaults to 8.0 if not
  supplied, which results in a jump of about half the
  height of the player character.

warpcharacter, wc
  Syntax: warpcharacter <S:npcName> <I:X> <I:Y>
  [I:facingDirection]
  Warps specified character to the given coordinates on
  the current map. Name is a fuzzy match. See Event data
  for the valid directions; the default is 2. Note: if
  you do not include enough parameters, an error message
  will be printed to the console which incorrectly states
  the default facing direction is 1.

warpcharacterto, wct
  Syntax: warpcharacterto <S:npcName> <S:locationName>
  <I:X> <I:Y> [I:facingDirection]
  Warps specified character to the given coordinates on
  the specified map. Character name is a fuzzy match, but
  location is exact. See Event data for the valid
  directions; the default is 2. Note: if you do not
  include enough parameters, an error message will be
  printed to the console which incorrectly states the
  default facing direction is 1.
  Example: debug wct robin Farm 69 16 would warp Robin to
  just right of the mailbox on the Farm map, facing
  downwards.

warpcharactertome, wctm
  Syntax: warpcharactertome <S:npcName>
  Warps the specified character directly to you; name is
  a fuzzy match.

whereis, where
  Syntax: whereis <S:npcName>
  Outputs the location and coordinates of the specified
  character to the SMAPI console. Name is a fuzzy match,
  so the command will return all matching NPCs.

Farm animals
------------

animal
  Syntax: animal <S:type>
  Adds a new baby animal of the specified type to the Farm.
  The animal will have a random name and be assigned to the
  correct type of building (if there is room). Type is a
  case-sensitive match with spaces allowed. Valid types for
  the base game are listed below.
  Chicken - Randomly chooses between white, brown, and blue
  (if unlocked). Brown Chicken can be explicitly specified,
  but the result will still be random if trying to specify
  other colors.
  Cow - Randomly chooses between white and brown. Colors can
  be explicitly specified by using Brown Cow or White Cow.
  Dinosaur
  Duck
  Goat
  Pig
  Rabbit
  Sheep
  Void Chicken
  Ostrich

animalinfo
  Displays a global message with the count of the total
  number of farm animals.

befriendanimals
  Syntax: befriendanimals [I:amount]
  Sets friendship of all animals who live (and are currently
  present) in the current location to the given amount.
  Default is 1000 (max).

displaceanimals
  Goes through all buildings that can contain animals. For
  each animal in each building, tries to move the animal
  outside the building. Finally, clears the building of all
  animals that live there.

fixanimals
  Goes through all buildings that can contain animals and
  removes entries for animals which no longer live in that
  building.

growanimals
  Sets all animals who live in the current location to day 1
  of adulthood, unless they are already adults. May cause
  each of them to eat hay.

pauseanimals
  Pauses all farm animals in the current location
  indefinitely. Exiting and re-entering may cause them to be
  randomly moved to a new spot, but they will remain paused.

unpauseanimals
  Unpauses all farm animals in the current location.

warpanimaltome, watm
  Syntax: warpanimaltome <S:animalName>
  Warps the specified farm animal to you; name is a
  case-insensitive fuzzy search but will only work in a
  location that allows animals.

Pets, horses, and monsters

befriendpets
  Gives the player 1000 friendship points with all pets.

cat
  Syntax: cat <I:X> <I:Y> [I:breed]
  Spawns a new Cat at the given coordinates of the current
  location. Breed can be 0, 1, 2, 3, 4, or the Id of a
  custom breed added by a mod, and determines which texture
  to use. This is an additional pet and does not replace any
  current pet(s).

changepet
  Syntax: changepet <S:petName> <S:type> [S:breedId]
  Changes the type and breed of an existing pet on the farm
  with name petName. type should match an ID in Data/Pets.
  Defaults to the first pet breed if none is specified.

createdino
  Spawns a Pepper Rex just to the right of your farmer.

dog
  Syntax: dog <I:X> <I:Y> [I:breed]
  Spawns a new Dog at the given coordinates of the current
  location. Breed can be 0, 1, 2, 3, 4, or the Id of a
  custom breed added by a mod and determines which texture
  to use. This is an additional pet and does not replace any
  current pet(s).

horse
  Syntax: horse <I:X> <I:Y>
  Spawns a new Horse at the given coordinates of the current
  location. Horse may disappear after dismounting if there
  is no stable for it.

killallhorses
  Removes all horses from all locations.

monster
  Syntax: monster <S:type> <I:X> <I:Y> [I:facingDirection]
  Spawns a monster of the specified type at the given
  coordinates of the current location. Only certain monster
  types seem to work. Known valid types include Bat,
  DinoMonster, DustSpirit, Fly, Ghost, GreenSlime, Grub,
  LavaCrab, Mummy, RockCrab, RockGolem, Serpent,
  ShadowBrute, ShadowShaman, Skeleton, and SquidKid. Duggy
  may also work depending on the terrain.

owl
  Spawns an Owl in the current location.

pettofarm
  If it is not raining, warps your pet to the pet bowl
  location on the Farm (Tech note: Location is initially set
  by checking for tile 1938 on Building layer). If it is
  raining, warps pet to the FarmHouse. Only works for host
  in multiplayer.

setpreferredpet
  Syntax: setpreferredpet <S:type> [S:breedId]
  Sets the player's preferred pet type and breed. type
  should match an ID in Data/Pets. Defaults to the first pet
  breed if none is specified.

togglecatperson
  Toggles your farmer's chosen pet preference between cat
  and dog. If you already have a pet, the inventory graphic
  will switch but the pet themselves will not be affected.

Festivals and events
--------------------

endevent
  Immediately end the current event or festival, applying the
  event's skip logic (if any). The event is marked seen, but
  you can rewatch it using the eventById command if needed.

event
  Syntax: event <S:locationName> <I:index> [S:clearEventsSeen]
  Starts the specified event in the specified location. The
  location name is a fuzzy match, but the second parameter is
  an index rather than an ID. This is basically a zero-based
  count of the item definitions in the appropriate data file,
  and since these definitions can be altered by mods this a
  difficult command to use. Because of this and the warning
  below, ebi is often the better choice.
  Warning: The third parameter is default to true so this will
  clear the eventsSeen list unless a third parameter is
  specified.

eventbyid, ebi
  Syntax: eventbyid <I:eventID>
  Starts the specified event. This does take an event ID;
  events which have prerequisites of other events might not
  start if those prerequisites have not been seen.
  Example: debug ebi 992559 would trigger the event where Emily
  visits the farm and gives you access to her sewing machine.

eventover
  Ends (and restarts) the current event. Seems to be
  essentially equivalent to ee.

eventseen, seenevent
  Syntax: eventseen <I:eventID> [B:seeOrForget]
  Marks specifid event as seen by your farmer. Useful for
  enabling access to event-dependent areas or events. You can
  forget an event (instead of adding it) by setting the second
  argument to false, like seenEvent <id> false.

festival
  Syntax: festival <S:festivalID>
  Starts the specified festival ID. The season, day, and time
  will be set to match the starting time, and you will be
  warped to the correct location. Valid IDs are listed below.
  spring13 - Egg Festival
  fall16 - Stardew Valley Fair
  spring24 - Flower Dance
  fall27 - Spirit's Eve
  summer11 - Luau
  winter8 - Festival of Ice
  summer28 - Moonlight Jellies
  winter25 - Winter Star

festivalscore
  Syntax: festivalscore <I:value>
  Adds the specified value to the festival score. The festival
  score has different meanings depending on which festival is
  active and includes the egg count at the Egg Hunt, number of
  fish caught at the Ice Festival, and star token count at the
  fall Fair.

runtestevent, rte
  Runs an event from the file test_event.txt in the root game
  folder. The first line of the file should specify the
  location where the event takes place, and the rest of the
  file should be the same as a normal event script except that
  line breaks will be treated as / delimiters.
  Note: this file must use CRLF (Windows-style) line breaks, or
  it will fail to parse. If you are on Mac or Linux, make sure
  you convert when saving (any text editor should be able to do
  this).

setFarmEvent, sfe
  Syntax: setFarmEvent <S:eventID>
  Queue an overnight farm event if one doesn't plan naturally
  instead. The <event id> can be one of...
  dogs;
  earthquake;
  fairy;
  meteorite;
  owl;
  racoon (not a typo);
  ufo;
  witch.
  Note that even if the farm event runs, it may exit without
  doing anything (e.g. rare events like ufo have extra
  condition checks when the start).

Minigames and cutscenes
-----------------------

boatjourney
  Plays the extended cutscene of the first boat trip to Ginger
  Island. The player will be warped to the Island Docks when
  the cutscene ends.

crane
  Starts the Crane Game minigame from the Movie Theater
  populated with prizes based on which movie is (or would be)
  showing for the current month.

darts
  Starts the Darts minigame from the Pirate Cove.

fish
  Syntax: fish <I:fishID>
  Starts the fishing minigame with the specified fish hooked
  and a treasure chest available. You must have a fishing line
  already cast into the water before entering the command in
  order to actually receive the fish after completing the
  minigame. Additional "hits" may trigger during the game, and
  none of the fishing pole animations will play. See object
  data for a list of valid IDs; non-fish objects can be used
  and caught.

minegame
  Syntax: minegame [S:mode]
  Starts the Junimo Kart minigame. If the second argument is
  infinite the game will play Endless mode; if it is anything
  else (or missing), the game will play Progress mode.

minigame
  Syntax: minigame <S:which>
  Starts the specified minigame or cutscene. Valid choices are
  listed below.
  blastoff - starts the Robot Blastoff cutscene which plays
  during Maru's 10-heart event.
  cowboy - starts the Journey of the Prairie King minigame.
  fishing - starts the fishing minigame from the Stardew Valley
  Fair. Score does not seem to be kept although the timer does
  count down; once the timer runs out the farmer will be warped
  to coordinates (24, 71) on the current map.
  grandpa - starts the Grandpa Story cutscene of which plays at
  the start of a new game.
  haleyCows - starts the Haley Cow Pictures cutscene which
  plays during Haley's 8-heart event.
  marucomet - starts the Maru Comet cutscene which plays during
  Maru's 14-heart event.
  minecart - starts the Junimo Kart minigame in Progress mode.
  plane - starts the Plane Fly-by cutscene which plays during
  Harvey's 8-heart event.
  slots - starts the Calico Spin Slot Machine minigame.
  target - starts the Slingshot minigame from the Stardew
  Valley Fair. When the game is over the farmer will be warped
  to coordinates (24, 63) on the current map.

movieSchedule
  Syntax: movieSchedule [I:year]
  Lists the movies that will play in the given year (default
  this year), with the dates they'll play.

test
  Starts the Test minigame. This brings up a window showing a
  variety of flooring textures; left-click closes the window.

Shops
-----

exportShops
  Export a summary of what's in every shop in the game, taking
  into account their current conditions. This is saved to a file
  on disk, and the file path shown in the console.

shop
  Syntax: shop <shopID> [ownerName]
  Open a shop defined in Data/Shops, regardless of whether one of
  the owners is nearby. Specifying [ownerName] will use that NPC,
  otherwise the command will find the closest valid NPC if
  possible (else open with no NPC).

Locations
---------

Terrain, trees, and crops

artifactSpots
  Spawn an artifact spot in each empty tile
  around the player.

clearfarm
  Removes nearly everything from the Farm map
  such as grass, trees, debris, paths, and placed
  objects (including working machines and filled
  chests.)

dayupdate
  Syntax: dayupdate [I:number]
  Runs the DayUpdate for the current location the
  specified number of times. If the number of
  updates is not specified, it will default to 1.
  This simulates days passing for some things
  such as grass and fruit trees growing or fish
  reproducing in ponds. Other things may not
  progress the full amount; for example crop
  growth only advances one day because sprinklers
  will not be triggered and the growcrops command
  should be used for that instead.

fruittrees
  Adds a month of growth to all fruit trees in
  the current location, causing even
  newly-planted saplings to instantly mature.

grass
  Spawns long grass on all available tiles in the
  current location.

growcrops
  Syntax: growcrops <I:number>
  Grows all crops in the current location the
  specified number of days.

growgrass
  Syntax: growgrass <I:number>
  Grows long grass the specified number of times
  in the current location. This will cause
  already-placed grass to spread but will not
  necessarily create grass in clear areas.

growwildtrees
  Grows all wild trees (such as Oak) in the
  current location to maturity.

localinfo
  Outputs counts of grass, trees, other terrain
  features, objects, and temporary sprites for
  the current location. May be broken.

mushroomtrees
  Turns all wild trees in the current location
  into mushroom trees.

r, resetForPlayerEntry
  Resets current location which essentially
  simulates the player leaving and reentering.
  Most noticeable effect is the restarting of
  music tracks.

removedebris
  Removes all dropped items from the current
  location.

removedirt
  Removes (i.e., untills) all tilled dirt in the
  current location.
  Warning: this includes removing any
  currently-planted crops (including fully-grown
  ones).

removelargetf, removeLargeTerrainFeature
  Removes all large terrain features (such as
  bushes) from the current location.

removeterrainfeatures, removetf
  Removes all (small) terrain features such as
  grass and tilled dirt from the current
  location.
  Warning: this includes removing any
  currently-planted crops (including fully-grown
  ones).

spawnweeds
  Syntax: spawnweeds <I:number>
  Spawns weeds the specified number of times.
  This will cause already-placed weeds to spread
  but will not necessarily create new weeds in
  clear areas.

spreaddirt
  Tills all unoccupied diggable tiles in the
  current location.

spreadseeds
  Syntax: spreadseeds <I:seedID>
  Plants specified seed in all tilled dirt in the
  current location. The argument is the object ID
  for the seed item. Out of season crops can be
  planted this way but will not survive outside
  of the greenhouse.
  Warning: this will replace any
  currently-planted crops (including fully-grown
  ones) with the new seeds.
  Example: debug spreadseeds 472 would plant
  parsnips on all hoed dirt tiles.

water
  Waters all tilled soil on the current map.

watercolor
  Syntax: watercolor <I:R> <I:G> <I:B>
  Tints the water color for the current location.
  The parameters are red, green, and blue
  components and the actual RGBA color used will
  be (R/2, G/2, B/2, 127). This affects fishing
  ponds as well as lakes, rivers, etc., but the
  effect is temporary and the color will reset to
  normal if you leave and re-enter the map.

whereore
  Outputs (to the SMAPI console) the coordinates
  of any "shiny spots" suitable for panning on
  the current map. Will output {X:0 Y:0} if there
  are no active panning spots.

Objects and lights
------------------

clearfurniture
  Removes all furniture from the current location. Can be
  used in a farmhouse/cabin, or outside the farmhouse as
  well.

clearlightglows
  Removes all light glows from the current location.

fencedecay
  Syntax: fencedecay <I:amount>
  Ages all fences in the current location the specified
  amount of days.
  Example: debug fencedecay 60 would age all fences by 60
  days which would break any basic Wood Fences (their base
  health is 54-58 days).

fillwithobject
  Syntax: fillwithobject <I:itemID> [S:isBigCraftable]
  Places the specified item on all open tiles in the
  current location. The first argument is the object or big
  craftable ID. If the second argument is "true", the ID
  will be interpreted as a craftable, but if it is anything
  else (or missing) the ID will be interpreted as an
  object. Note that many objects spawned this way cannot be
  easily removed.
  Example: debug fillwithobject 13 true would fill the map
  with furnaces.

readyforharvest, rfh
  Syntax: readyforharvest <I:X> <I:Y>
  Sets the machine at the specified coordinates to finish
  processing at the next clock update. If used to target a
  rock in the mine, quarry, etc. the rock's health will be
  reduced such that it only needs 1 more hit to break. A
  mod such as Debug Mode may be useful for getting
  coordinates.

listLights
  Show debug info about all currently active light sources.

removefurniture
  Removes all furniture from the current location. Similar
  to clearfurniture but will also work in other decoratable
  locations such as sheds.

removelights
  Removes all light sources from the current location. This
  is temporary and they will be restored if the location is
  reset or re-entered.

removeobjects
  Removes all placed objects from the current location.
  This includes things like fences, machines, and chests,
  but does not include flooring or long grass.

Farm buildings
--------------

build
  Syntax: build <S:Name> [I:X] [I:Y]
  Builds the specified building at the given coordinates.
  Names are case-insensitive, and will list fuzzy matches
  if an exact match isn't found. If the name includes
  spaces, quote them (e.g. "Junimo Hut"). If the
  coordinates are not specified, it will build just to
  the right of your farmer. While higher-level farm
  buildings such as Deluxe Barns can be immediately built
  this way, the incubator will be missing from Big or
  Deluxe Coops.
  Example: debug build "Stone Cabin" would build a new
  Stone Cabin next to the player.

buildcoop, bc
  Syntax: buildcoop <I:X> <I:Y>
  Tries to build a new coop at the specified position in
  the current location. Finishes construction instantly.

finishallbuilds, fab
  Finishes all buildings under construction. Only the
  host player can use this command in multiplayer.

forcebuild
  Syntax: forcebuild <S:Name> [I:X] [I:Y]
  Equivalent to build, but disables all safety checks so
  you can build in a location that wouldn't normally
  allow buildings, build on top of farm animals or placed
  objects, etc.
  Example: debug build "Stone Cabin" would build a new
  Stone Cabin next to the player.

movebuilding
  Syntax: movebuilding <I:sourceX> <I:sourceY> <I:destX>
  <I:destY>
  Moves building in the current location from specified
  source coordinates to specified destination
  coordinates. The coordinates are the upper-left corner
  of the building's footprint. The Lookup Anything mod is
  one of the easier ways to get the source coordinates of
  a building; they are listed under tileX and tileY in
  the debug info (needs ShowDataMiningFields enabled.)

paintBuilding, bpm
  Gets the building the player is standing in front of
  and opens a paint menu for that building if it can be
  painted. If the player is not standing in front of a
  building, defaults to the main farmhouse.

removebuildings
  Destroys all farm buildings. Animals within any of the
  buildings will also be removed, but animals which are
  outside will not be.

skinbuilding, bsm
  If the player is standing right under a building, open
  a menu to change the building appearance.

spawncoopsandbarns
  Syntax: spawncoopsandbarns <I:number>
  Spawns the specified number of buildings. The game will
  randomly choose either a Deluxe Barn full of cows or a
  Deluxe Coop full of chickens for each (equal chance).
  Their locaions are also randomly chosen and the game
  will try 20 times to find a spot for each before giving
  up. The coops created by this command will not have
  incubators.

Farmhouse
---------

crib
  Syntax: crib <I:mapID>
  Sets the current crib style to the specified
  value. In the base game, valid values are 0 (no
  crib) or 1 (default crib). Additional styles may
  be possible through modding as the ID is appended
  to the map filename. For example, crib style 1 is
  specified by the file Maps/FarmHouse_Crib_1.

floor
  Syntax: floor [I:textureID]
  Sets all floors of your farmhouse to the
  specified texture. Valid texture numbers are 0 -
  55; see Flooring for previews but note that the
  IDs used by the game are 1 less than the numbers
  used for the wiki filenames. If no texture is
  specified, the game will use the next ID after
  the current floor texture without checking for
  overflow which can create bugged textures.
  Example: debug floor 22 would set all flooring in
  the house to the white and grey checkerboard
  style.

houseupgrade, house, hu
  Syntax: houseupgrade <I:upgradeLevel>
  Sets upgrade level of your farmhouse/cabin to the
  specified value. Valid values are 0 - 3.
  Furniture and placed items will not be
  automatically moved and may wind up out of
  bounds. If done while the player is inside the
  house, warp points may not immediately update.

logWallAndFloorWarnings
  Enable debug logs when applying wallpaper and
  flooring to a farmhouse (or other decoratable
  location) to help troubleshoot cases where they
  don't work with a custom map. You'd usually
  enable this before loading the save.

renovate
  Opens the farmhouse renovation menu.

thishouseupgrade, thishouse, thu
  Syntax: thishouseupgrade <I:upgradeLevel>
  Equivalent to houseupgrade, but can be used to
  upgrade another player's house by running it from
  inside or just south of its exterior.

upgradehouse
  Increases the upgrade level of your
  farmhouse/cabin to the next level (max 3).
  Furniture and placed items will not be
  automatically moved and may wind up out of
  bounds. If done while the player is inside the
  house, warp points may not immediately update.

wall, w
  Syntax: wall [I:textureID]
  Sets all walls of your farmhouse to the specified
  texture. Valid texture numbers are 0 - 111; see
  Wallpaper for previews but note that the IDs used
  by the game are 1 less than the numbers used for
  the wiki filenames. If no texture is specified,
  the game will use the next ID after the current
  wallpaper texture without checking for overflow
  which can create bugged textures.
  Example: debug wall 21 would set all wallpaper in
  the house to the Joja style.

Special farm setups
-------------------

farmmap
  Syntax: farmmap [I:mapID]
  Removes the current farm map and farmhouse from the game
  and creates a new farm of the specified type. The farm
  will be named after the type (e.g., "Standard Farm").
  Valid types are: 0 (Standard), 1 (Riverland), 2
  (Forest), 3 (Hilltop), 4 (Wilderness), 5 (Four Corners),
  6 (Beach), and 7 (Meadowlands)

setupbigfarm
  Clears the farm and then does the following:
  Spawns 3 Deluxe Coops full of chickens, 2 Deluxe Barns
  full of cows, a mill, a stable, and a silo in specific
  spots.
  Spawns a large field of random spring crops (force-grown
  for 8 days) with a wooden path through it and 4 junimo
  huts to the south.
  Spawns two large patches of grass and 18 random fruit
  trees (cherry and apricot)
  Spawns large groups of torches, furnaces, preserves
  jars, cheese presses, and kegs; the kegs are full of
  ancient fruit to make wine

setupfarm
  Syntax: setupfarm [S:clearMore]
  Removes all farm buildings and completely clears large
  areas of the current farm. After this, the following
  things are done:
  Spawns a coop, barn, and silo in specific spots
  Your money is increased by 20000
  All tools are upgraded to Iridium quality
  Shears, a milk pail, and full stacks of wood, stone,
  wood fence, parsnip seeds, and bean starter are added to
  your inventory

setupfishpondfarm
  Syntax: setupfishpondfarm [I:population]
  Clears farm and then builds up to 96 fish ponds randomly
  filled with various types of fish. The population of
  each of the ponds will be set to the specified value and
  defaults to 10. The ponds are built in a large 12 x 8
  grid but will not be placed in a spot blocked by other
  buildings, animals, or map features.

Community center and bundles
----------------------------

addjunimo, aj, j
  Syntax: addjunimo <I:X> <I:Y> <I:area>
  Adds a junimo at the specified coordinates and assigned
  to the given Community Center area. Valid areas are 0
  (Pantry), 1 (Crafts Room), 2 (Fish Tank), 3 (Boiler
  Room), 4 (Vault), or 5 (Bulletin Board).

allbundles
  Marks all bundles complete.

bundle
  Syntax: bundle <I:ID>
  Marks the specified bundle as complete. Valid IDs are
  listed below.
  Pantry
  Fish Tank
  Crafts Room
  Boiler Room
  Vault
  Bulletin Board
  Joja Ruins
  0 - Spring Crops
  6 - River Fish
  13 - Spring Foraging
  20 - Blacksmith's
  23 - 2,500g
  31 - Chef's
  36 - Missing
  1 - Summer Crops
  7 - Lake Fish
  14 - Summer Foraging
  21 - Geologist's
  24 - 5,000g
  32 - Field Research
  2 - Fall Crops
  8 - Ocean Fish
  15 - Fall Foraging
  22 - Adventurer's
  25 - 10,000g
  33 - Enchanter's
  3 - Quality Crops
  9 - Night Fishing
  16 - Winter Foraging
  26 - 25,000g
  34 - Dye
  4 - Animal
  10 - Specialty Fish
  17 - Construction
  35 - Fodder
  5 - Artisan
  11 - Crab Pot
  19 - Exotic Foraging

ccload
  Syntax: ccload <I:area>
  Removes the junimo note from and restores the specified
  area. Valid areas are 0 (Pantry), 1 (Crafts Room), 2
  (Fish Tank), 3 (Boiler Room), 4 (Vault), or 5 (Bulletin
  Board).

ccloadcutscene
  Syntax: ccloadcutscene <I:area>
  Plays the full restoration cutscene for the specified
  area including junimo dance and star retrieval. Valid
  areas are 0 (Pantry), 1 (Crafts Room), 2 (Fish Tank), 3
  (Boiler Room), 4 (Vault), or 5 (Bulletin Board).

completecc
  Adds all of the appropriate flags for Community Center
  completion and restores all areas.

completejoja
  Adds all of the appropriate flags for Joja membership and
  Community Development purchases.

junimogoodbye
  Plays the animation where 6 junimos wave goodbye in front
  of the hut in the Community Center and then that corner
  of the Community Center gets restored.

junimonote, jn
  Syntax: junimonote <I:area>
  Adds a junimo note (bundle scroll) for the specified
  area. Valid areas are 0 (Pantry), 1 (Crafts Room), 2
  (Fish Tank), 3 (Boiler Room), 4 (Vault), or 5 (Bulletin
  Board).

junimostar
  Causes a junimo to run to the hut and retrieve a star
  which is then placed on the plaque above the fireplace.
  Must be done in the Community Center.

plaque
  Adds a star to the plaque above the Community Center
  fireplace.

resetjunimonotes
  Resets all bundles.

shufflebundles
  Regenerates bundles using remixed bundle logic and
  without a specific random seed.

Other location-specific functions
---------------------------------

activatecalicostatue
  Spawns and activates a new Calico Statue from the
  Desert Festival at point (8, 8) on the player's
  current mines level. If the player is in the regular
  mines instead of the Skull Cavern, the statue will
  not visually spawn but some animations and effects
  will still occur.

beachbridge
  Toggles the state of the beach bridge between fixed
  and not fixed.

ladder, shaft
  Syntax: ladder [I:X] [I:Y]
  Creates a ladder or mineshaft at the specified
  coordinates. If no coordinates are given, it will
  spawn 1 tile north of the player. In the regular
  mines, both versions of the command will create a
  ladder. In the Skull Caverns, ladder will randomly
  spawn either a ladder or mineshaft while shaft will
  always spawn a mineshaft.

minedifficulty, md
  Syntax: minedifficulty [I:difficultyLevel]
  Sets the difficulty of the mines to the specified
  level. In the base game, normal difficulty is 0 and
  the harder difficulty corresponding to the "Danger in
  the Deep" quest or Shrine of Challenge activation is
  1. Higher numbers can be used. If no difficulty level
  is specified, command will simply print the current
  difficulty level to the console.

movie
  Syntax: movie [S:movieID] [S:inviteNpcName]
  Starts a movie. The movie ID defaults to today's
  movie, and the NPC name can be omitted to watch the
  movie without an invitee. Note that this command can
  create a group with up to 3 guests instead of just
  the single guest allowed in normal play. Valid
  vanilla movie IDs are listed below.
  spring_movie_0 - The Brave Little Sapling
  spring_movie_1 - Natural Wonders
  summer_movie_0 - Journey of the Prairie King
  summer_movie_1 - Wumbus
  fall_movie_0 - Mysterium
  fall_movie_1 - It Howls in the Rain
  winter_movie_0 - Miracle at Coldstar Ranch
  winter_movie_1 - The Zuzu City Express
  To use the command multiple times in a row you must
  leave the theatre after each showing.
  Warning: This command also increases the save's
  uniqueID by 1 each time it is used, which will cause
  the save filename to change and impact some random
  events.
  Examples:
  debug movie would show It Howls in the Rain with
  random NPC guests.
  debug movie spring_movie_1 would show Natural Wonders
  with random NPC guests.
  debug movie summer_movie_0 Abi would show Journey of
  the Prairie King with Abigail and possibly 1 or 2
  additional random NPC guests.

pgb, printGemBirds
  Prints the Gem Bird Puzzle solution to the console.

resetmines
  Resets "permanent mine changes" such as coal carts
  and treasure chests. Does not affect mines level
  progress or monster eradication goals.

returneddonations
  Opens the "returned donations" menu of the Lost and
  Found box from the Mayor's Manor.

skullcavedifficulty, scd
  Syntax: skullcavedifficulty [I:difficultyLevel]
  Sets the difficulty of the Skull Cavern to the
  specified level. In the base game, normal difficulty
  is 0 and the harder difficulty corresponding to the
  "Skull Cavern Invasion" quest is 1. Higher numbers
  can be used. If no difficulty level is specified,
  command will simply print the current difficulty
  level to the console.
  Example: debug scd 1 would activate hard mode Skull
  Cavern outside of the "Skull Cavern Invasion" quest.

train
  Causes a train to spawn at the Railroad.

WORLD
-----

Date and time
-------------

addhour
  Increases time by 1 hour.

addminute
  Increases time by 10 minutes.

day
  Syntax: day <I:value>
  Changes day of the month to the specified value; stays in current
  season and adjusts daysPlayed statistic appropriately.

pausetime
  Toggles game pause state. This is different from the normal chat
  /pause command in that the player still has free movement during
  the pause.

season
  Syntax: season <S:name>
  Sets season to the specified value. The season name is
  case-insensitive; valid names are spring, summer, fall, and
  winter.

sleep, newday, nd
  Forces end of day.

time
  Syntax: time <I:value>
  Sets current time to the specified value. This is essentially
  24-hour time without a colon, although the stardew clock keeps
  running until 2600. See examples.
  Examples:
  debug time 2040 would set the time to 20:40 or 8:40pm.
  debug time 2550 would set the time to 1:50am.

year
  Syntax: year <I:value>
  Sets the current year to the specified value.

Weather and world state
-----------------------

debrisweather
  Toggles "debris" weather (i.e., windy weather with
  floating leaves) on and off. Does not change the weather
  icon on the HUD.

greenrain
  Toggles green rain weather on and off. Will turn off
  debris/windy weather. Does not change the weather icon on
  the HUD.

morepollen
  Syntax: morepollen <I:amount>
  Increases the amount of leaves flying around if in
  debris/windy weather.

rain
  Toggles rainy weather on and off. Will turn off
  debris/windy weather. Does not change the weather icon on
  the HUD.

resetworldstate
  Clears all world state IDs which track map changes such as
  whether the beach bridge is fixed, whether Trash Bear has
  done his thing and various small changes from heart
  events.
  Warning: Also clears records of found artifacts and
  minerals, fish caught, events seen, and mail received
  (including hidden progress flags.)

Game settings and meta info
---------------------------

conventionmode
  Toggles convention mode on and off. When on, disables
  the resolution and window mode options as well as
  both "Exit to Title" and "Exit to Desktop" buttons.

filterLoadMenu
  Syntax: filterLoadMenu <searchText>
  Filter the current list of saves to those whose
  player name or farm name contains the given text.

gamemode
  Syntax: gamemode <I:mode>
  Sets the game mode to the specified value. Details
  unknown.

gamepad
  Toggles gamepad control options and displays a global
  message about whether they are being used or not.

inputsim, is
  Syntax: inputsim <S:type>
  Sets input simulator to the specified type. Valid
  types are spamtool and spamlr. Details unknown.

language
  Brings up the language selection menu.

musicvolume, mv, m
  Syntax: musicvolume <D:value>
  Sets music volume to the specified value. This is a
  double-precision float in the range of 0 - 1.

nosave, ns
  Toggles end of day saving on or off. Outputs a
  message to the console with the current saving
  status.

performTitleAction, pta
  Syntax: performTitleAction <button>
  While on the title screen, jump to a given title
  submenu.

save
  Toggles saving on a new day on/off. Plays a select
  sound if toggled on and a deselect sound if toggled
  off.

showplurals
  Prints (to the console) the plural forms of all items
  listed in Data/ObjectInformation and
  Data/BigCraftablesInformation.

toggleCheats
  Enable or disable entering debug commands into the
  in-game chat (prefixed with /).

toggleNetCompression
  Disable (or re-enable) multiplayer compression

toggletimingoverlay, tto
  Show an on-screen overlay with basic timing info
  (e.g. draw loop times) to help with performance
  profiling.

steaminfo, sdkinfo
  Outputs information about whether Steam is running
  and if a user is logged in.

version
  Outputs the assembly version number to the console.
  Note this is different from the more user-friendly
  version that can be accessed from the credits screen.
  For example, running this command on Stardew Valley
  1.4.3 for Windows will output 1.3.7286.33936

worldMapLines
  Toggles the world map's debug view.

worldMapPosition
  Syntax: worldMapPosition [includeLog]
  Show detailed info to help troubleshoot world map
  positioning data. If [includeLog] is true, it will
  print a detailed log of how the current position was
  determined based on the Data/WorldMap entries.

MULTIPLAYER
-----------

General multiplayer
-------------------

addotherfarmer
  Creates an additional new male farmer with randomized
  name and appearance which spawns 1 tile to the left of
  your farmer. Unsure of what situation this can be used
  in.

nethost
  Starts a new LAN server. Details unknown.

netjoin
  Syntax: netjoin <IP>
  Connect to a given IP address.

split
  Syntax: split [I:playerIndex]
  Adds another split-screen multiplayer instance for the
  specified player index or starts split-screen mode
  otherwise.

validatenetfields
  Enables net field validation.

Logging
-------

logbandwidth
  Toggles bandwidth logging on and off. Can be used on either
  host or client.

logFile
  Begin writing debug messages to a log file at
  %appdata%/StardewValley/ErrorLogs/game-latest.txt to simplify
  troubleshooting. You can also enter /logtext into the in-game
  chatbox to enable it. This does nothing if SMAPI is installed,
  since the debug messages are already saved to SMAPI's log.

logSounds
  Log info about each sound effect played to the SMAPI console
  window.

netclear
  Clears network message log.

netdump
  Outputs network message log to a file.

netlog
  Toggles network message logging on and off.

Player relationships
--------------------

dateplayer
  Checks all other farmers and sets the first one found as
  dating the player.

engageplayer
  Checks all other farmers and sets the first one found as
  engaged to the player with a wedding date of the next game
  day.

testwedding
  Immediately play the wedding event. This requires the player
  to be married first - to test specific NPCs, debug marry the
  NPC followed by this command.

marryplayer
  Checks all online farmers and sets the first one found as
  married to the player with a wedding date of the current game
  day.

Shared/split money

changewallet
  Sets the game to toggle between shared or split money
  overnight. Host only.

mergewallets
  Immediately switches to shared money, merging all player
  wallets. Host only.

separatewallets
  Immediately switches to split money, separating all player
  wallets. Host only.

Audio and visual effects
------------------------

Animations
----------

animationpreviewtool, apt
  Opens a menu allowing you to preview different
  farmer animations and change some appearance
  options. Useful for event modding. A note that this
  Only works on the farmer. Warning: previewing the
  "passOutTired" animation will make your farmer pass
  out as if it's 2 am and start a new day.

busdriveback
  Plays the animation of the bus returning from the
  desert. Must be done on the Bus Stop map.

busdriveoff
  Plays the animation of the bus leaving the Bus Stop
  and driving to the desert. Will warp the player to
  the desert. Must be done on the Bus Stop map.

createsplash
  Creates a fish "bubble" spot in front of the player.
  Seems inconsistent.

framebyframe, fbf
  Turns on "frame-by-frame" mode which pauses the game
  and allows you to advance time/animations one frame
  at a time by hitting the G key. Hit Escape key to
  exit.

frameoffset, fo
  Syntax: frameoffset <I:frameID> <S:X> <S:Y> <S:??>
  Sets frame offset for specified frame and specified
  X & Y values. The X and Y can be made negative to
  flip the direction. Details unknown; reference
  FarmerRenderer.featureXOffsetPerFrame() and
  FarmerRenderer.featureYOffsetPerFrame().

setframe, sf
  Syntax: setframe <I:frameID>
  Sets farmer sprite to the given animation frame.
  Probably best used in conjunction with
  frame-by-frame mode.

sprinkle
  Shows an animation of a sprinkle effect around the
  farmer. (It's the animation used while fairy-dusting
  a machine).

toss
  Shows an animation of a spinning vial/beaker which
  rises and then falls. Likely used in one of Maru's
  heart events.

Camera, lighting, and effects

ambientlight, al
  Syntax: ambientlight <I:R> <I:G> <I:B>
  Sets the ambient light of the current location to the
  inverse of the specified RGB values. This is a
  temporary change and the light will revert if the
  location is reset or re-entered. Ex. inputting 255 0 0
  will set the lighting to aqua blue, 0 255 255, rather
  than red.

panmode, pm
  Syntax: panmode [options]
  Turns on panmode. During panmode the screen can be
  panned with movement keys or mouse movements and debug
  panmode or debug exit will turn panmode off. You can
  also clear with <sampe>debug panMode clear or set a
  time with debug panMode {time}. Warning: Do not enter
  the backroom of Willy's shop while in this state as it
  will crash your game.

tls, toggleLightingScale
  Toggles between scaled and unscaled lighting.

viewport
  Syntax: viewport <I:X> <I:Y>
  Sets the viewport to the given values measured in
  tiles. Details unknown.

uiscale, us
  Syntax: uiscale <I:value>
  Sets the UI Scale level to the specified value. This
  is an integer interpreted as the scale percent. Can be
  used to go beyond the normal limits of 75 - 125
  percent.
  Example: debug us 60 would set the UI scale level to
  60%.

zoomlevel, zl
  Syntax: zoomlevel <I:value>
  Sets the game zoom level to the specified value. This
  is an integer interpreted as the zoom percent. Can be
  used to go beyond the normal limits of 75 - 125
  percent.
  Example: debug zl 60 would set the zoom level to 60%.

Audio
-----

playmusic
  Syntax: playmusic <s:cueID>
  Plays the specified music track. May not be able to play tracks
  which have a space in the cue name. Tracks played this way will
  be added to the songsHeard list and be available to play on the
  Jukebox afterwards. See the modder's resource spreadsheet (Music
  Bank IDs tab) for a list of valid cue IDs.
  Example: debug playmusic spring2 would play the track Spring
  (The Valley Comes Alive).

playsound, ps
  Syntax: playsound <s:cueID> <I:pitch>
  Playes the specified sound effect. The pitch argument is
  optional and can take values from 1 (low pitch) to 2400 (high
  pitch) inclusively. See the modder's resource spreadsheet (Sound
  Bank IDs tab) for a list of valid cue IDs.
  Example: debug ps purchase would make the coin clink sound heard
  when buying and selling items.

Outdated, unimplemented, or unknown

break
  Does absolutely nothing as the method handler has no
  body.

eventtest
  Syntax: eventtest <S:locationName> <I:eventIndex>
  Sets Game1.eventTest using the specified arguments.
  Defaults are "" and 0 respectively. This field is not
  accessed elsewhere.

eventtestspecific
  Syntax: eventtestspecific <S:whichEvents> [...]
  Sets Game1.eventTest with the specified arguments.
  Arguments are interpreted as an array of strings. This
  field is not accessed elsewhere.

lantern
  Adds a lantern to your inventory which looks like an axe
  and will softlock the player when trying to use it;
  canmove can be used to fix the soft lock.

refuel
  Sets lantern fuel to maximum. As the lantern was not
  fully implemented, this doesn't do much.

stoprafting
  Sets an internal isRafting flag to false. As rafting was
  not fully implemented, this doesn't do much.

Interactive tools (search + copy)

Optional. Open this panel to enable one-click copy, filters, and quick jump buttons.

Stardew Valley (SMAPI / Mod Console)

Requires SMAPI on PC. Use responsibly. Some debug/advanced commands can affect saves.

More