Godot print() not showing in Output panel — solved (Winsock reset)

Godot Version

4.6.2
4.6
(potentially older versions too, not tried out by me)

Solved — sharing for anyone who ends up here after a full day of searching like I did

Sorry for the long post. I already found the solution, but I went through an entire day of debugging this with no useful results online, so I wanted to document the full experience in case someone else ends up in the same situation.

My Godot installation stopped printing to the Output panel. Like you can see in my _ready function, these three messages were nowhere to be found in the editor:

func _ready() -> void:
    print("TEST OUTPUT")
    push_error("TEST ERROR")
    push_warning("TEST WARNING")

I tried the following before finding the answer:

  1. Fully deleting my Godot folder in %APPDATA%
  2. Making sure the correct filters were enabled in the Output tab at the bottom
  3. Changing the port and IP address in Editor > Network > Debug settings
  4. Downloading an older version of Godot (which I knew had worked before)
  5. Turning off my firewall and allowing the Godot executable in Malwarebytes, which I also fully disabled. It had worked fine alongside Malwarebytes for over 2 years prior.
  6. Rebooting, running Godot as Administrator

All attempts ended in the same result. The Output panel only ever showed engine-level messages. Right clicking, opening or closing windows, or changing focus would add entries like this:

Accessibility: window 32 adapter activated.
Accessibility: window 32 adapter initial update completed.
Accessibility: window 32 adapter destroyed.
EditorSettings: Save OK!

But nothing from my own scripts. Ever.

The confusing part was that running Godot through my terminal using .\godot.exe worked perfectly:

TEST OUTPUT
ERROR: TEST ERROR
   at: push_error (core/variant/variant_utility.cpp:1024)
   GDScript backtrace (most recent call first):
       [0] _ready (res://scenes/main_menu.gd:13)
WARNING: TEST WARNING
     at: push_warning (core/variant/variant_utility.cpp:1034)
     GDScript backtrace (most recent call first):
         [0] _ready (res://scenes/main_menu.gd:14)

The game itself ran fine. Buttons worked. Logic executed. Only the editor Output panel was completely silent. And because errors were never surfaced in the editor, they also didn’t stop execution the way they normally would — making debugging feel completely blind.


How to confirm this is your problem

Run Godot from your terminal with the --verbose flag:

.\godot.exe --verbose

Then search the output for this line:

Failed to bind socket. Error: 4.

If you see it — especially multiple times during startup — that is your issue. Godot uses a local socket to relay output from the running game process back to the editor’s Output panel. When that socket fails to bind, the editor receives nothing. The game still runs, and output still reaches stdout (which is why the terminal works), but the editor stays completely silent.

Full list of symptoms:

  • print(), push_error(), push_warning() produce no output in the editor
  • The Output panel only shows engine-level messages
  • Running Godot via terminal shows output correctly
  • Errors don’t halt execution the way they should in the editor
  • The problem persists across Godot versions, full reinstalls, and reboots
  • netstat -ano | findstr :6007 shows nothing — the port is not occupied

That last point is what made this so hard to track down. The port wasn’t blocked or occupied. The socket layer itself was broken.


Solution

The culprit is a corrupted Windows Sockets (Winsock) layer, most likely introduced by security software — in my case Malwarebytes — that hooks into the Windows network stack. This corruption prevents Godot from binding any local debug socket, even on completely free ports.

The fix takes about 2 minutes:

  1. Open PowerShell or Command Prompt as Administrator
  2. Run these two commands:
netsh winsock reset
netsh int ipv4 reset
  1. Reboot your PC
  2. Open Godot — output will work again

I hope this post saves someone the full day I lost to it.

2 Likes