Change project settings, input map or autoloads
godot_project_editSafely update project.godot without opening Godot: set or unset settings, add or remove input actions and events, and manage autoloads with validation and optional diff preview before writing.
Instructions
Change project.godot safely, without the editor: set or unset a setting (name and type checked against the Godot 4.7 reference), add events to an input action or remove it, add or remove an autoload (the file must exist and be a Node script or a scene; the name must not clash with a class). Only the lines of that entry change. Events: Key:Space, Key:Ctrl+S, Mouse:Left, JoyButton:A, JoyAxis:left_y-. op picks the change and which fields it needs: set (key, value), unset (key), input_add (action, events, deadzone), input_remove (action), autoload_add (name, file, global), autoload_remove (name). Without write it changes nothing and returns the diff and warnings; with write: true it writes and reports the review errors before and after (an error result when there are more after). A missing field or a change it refuses (bad event, unknown action, name clash) returns an error and writes nothing. Use it instead of editing project.godot by hand: the input map format is easy to break. For .tscn files use godot_scene_edit; to rename an action or autoload everywhere, use godot_rename.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| op | Yes | what to change | |
| key | No | set/unset: the setting path, e.g. display/window/size/viewport_width | |
| file | No | autoload_add: res:// path of the script or scene | |
| name | No | autoload_add/autoload_remove: the autoload name, e.g. Game | |
| path | No | The project folder, or any file or folder inside it (Godotwright walks up to project.godot). Relative paths start at the server's folder. Default: the current project. | |
| value | No | set: the value, e.g. 1920, true, 1.5, a text, res://main.tscn or Vector2i(1920, 1080) | |
| write | No | write the change (default false: show the diff only) | |
| action | No | input_add/input_remove: the action name, e.g. jump | |
| events | No | input_add: events such as Key:Space, Mouse:Left, JoyButton:0, JoyAxis:1- | |
| global | No | autoload_add: make a global variable (default true) | |
| deadzone | No | input_add: deadzone of a new action (default 0.2) |