Octoprint development environment freezing

What is the problem?

I'm trying to set up a custom plugin to communicate with a custom filament switcher. I've done all the steps but when I get to the command "octoprint serve" it goes fine until it freezes.
It starts normal with this:

2025-07-07 15:04:56,604 - octoprint.startup - INFO - ******************************************************************************

2025-07-07 15:04:56,605 - octoprint.startup - INFO - Starting OctoPrint 1.11.1

2025-07-07 15:04:56,606 - octoprint.startup - INFO - ******************************************************************************

2025-07-07 15:04:56,659 - octoprint.util.connectivity.connectivity_checker - INFO - Connectivity check is disabled, assuming we are online and have functional name resolution

2025-07-07 15:04:56,662 - octoprint.plugin.core - INFO - Loading plugins from /Users/josephputman/OctoPrint/src/octoprint/plugins, /Users/josephputman/Library/Application Support/OctoPrint/plugins and installed plugin packages...

2025-07-07 15:04:57,970 - octoprint.plugin.core - INFO - Plugin Pi Support Plugin (2023.10.10) did not pass check, not loading.

2025-07-07 15:04:57,988 - octoprint.plugin.core - INFO - Found 23 plugin(s) providing 23 mixin implementations, 42 hook handlers

2025-07-07 15:04:58,010 - octoprint.server.heartbeat - INFO - Starting server heartbeat, 900.0s interval

2025-07-07 15:05:03,122 - octoprint.server - INFO - Intermediary server started

2025-07-07 15:05:03,125 - octoprint.filemanager.storage - INFO - Initializing the file metadata for /Users/josephputman/Library/Application Support/OctoPrint/uploads...

2025-07-07 15:05:03,126 - octoprint.filemanager.storage - INFO - ... file metadata for /Users/josephputman/Library/Application Support/OctoPrint/uploads initialized successfully.

2025-07-07 15:05:03,127 - octoprint.server - INFO - Added new permission from plugin achievements: PLUGIN_ACHIEVEMENTS_VIEW (needs: "Need(method='role', value='plugin_achievements_view')")

2025-07-07 15:05:03,127 - octoprint.server - INFO - Added new permission from plugin achievements: PLUGIN_ACHIEVEMENTS_RESET (needs: "Need(method='role', value='plugin_achievements_reset')")

2025-07-07 15:05:03,127 - octoprint.server - INFO - Added new permission from plugin action_command_notification: PLUGIN_ACTION_COMMAND_NOTIFICATION_SHOW (needs: "Need(method='role', value='plugin_action_command_notification_show')")

2025-07-07 15:05:03,127 - octoprint.server - INFO - Added new permission from plugin action_command_notification: PLUGIN_ACTION_COMMAND_NOTIFICATION_CLEAR (needs: "Need(method='role', value='plugin_action_command_notification_clear')")

2025-07-07 15:05:03,127 - octoprint.server - INFO - Added new permission from plugin action_command_prompt: PLUGIN_ACTION_COMMAND_PROMPT_INTERACT (needs: "Need(method='role', value='plugin_action_command_prompt_interact')")

2025-07-07 15:05:03,127 - octoprint.server - INFO - Added new permission from plugin announcements: PLUGIN_ANNOUNCEMENTS_READ (needs: "Need(method='role', value='plugin_announcements_read')")

2025-07-07 15:05:03,127 - octoprint.server - INFO - Added new permission from plugin announcements: PLUGIN_ANNOUNCEMENTS_MANAGE (needs: "Need(method='role', value='plugin_announcements_read'), Need(method='role', value='plugin_announcements_manage')")

2025-07-07 15:05:03,128 - octoprint.server - INFO - Added new permission from plugin appkeys: PLUGIN_APPKEYS_ADMIN (needs: "Need(method='role', value='plugin_appkeys_admin')")

2025-07-07 15:05:03,128 - octoprint.server - INFO - Added new permission from plugin appkeys: PLUGIN_APPKEYS_GRANT (needs: "Need(method='role', value='plugin_appkeys_user')")

2025-07-07 15:05:03,128 - octoprint.server - INFO - Added new permission from plugin backup: PLUGIN_BACKUP_CREATE (needs: "Need(method='role', value='plugin_backup_create')")

2025-07-07 15:05:03,128 - octoprint.server - INFO - Added new permission from plugin file_check: PLUGIN_FILE_CHECK_RUN (needs: "Need(method='role', value='plugin_file_check_run')")

2025-07-07 15:05:03,128 - octoprint.server - INFO - Added new permission from plugin firmware_check: PLUGIN_FIRMWARE_CHECK_DISPLAY (needs: "Need(method='role', value='plugin_firmware_check_display')")

2025-07-07 15:05:03,128 - octoprint.server - INFO - Added new permission from plugin health_check: PLUGIN_HEALTH_CHECK_CHECK (needs: "Need(method='role', value='plugin_health_check_check')")

2025-07-07 15:05:03,128 - octoprint.server - INFO - Added new permission from plugin logging: PLUGIN_LOGGING_MANAGE (needs: "Need(method='role', value='plugin_logging_manage')")

2025-07-07 15:05:03,128 - octoprint.server - INFO - Added new permission from plugin pluginmanager: PLUGIN_PLUGINMANAGER_LIST (needs: "Need(method='role', value='plugin_pluginmanager_list')")

2025-07-07 15:05:03,129 - octoprint.server - INFO - Added new permission from plugin pluginmanager: PLUGIN_PLUGINMANAGER_MANAGE (needs: "Need(method='role', value='plugin_pluginmanager_manage')")

2025-07-07 15:05:03,129 - octoprint.server - INFO - Added new permission from plugin pluginmanager: PLUGIN_PLUGINMANAGER_INSTALL (needs: "Need(method='role', value='plugin_pluginmanager_install'), Need(method='role', value='plugin_pluginmanager_manage')")

2025-07-07 15:05:03,129 - octoprint.server - INFO - Added new permission from plugin softwareupdate: PLUGIN_SOFTWAREUPDATE_CHECK (needs: "Need(method='role', value='plugin_softwareupdate_check')")

2025-07-07 15:05:03,129 - octoprint.server - INFO - Added new permission from plugin softwareupdate: PLUGIN_SOFTWAREUPDATE_UPDATE (needs: "Need(method='role', value='plugin_softwareupdate_update')")

2025-07-07 15:05:03,129 - octoprint.server - INFO - Added new permission from plugin softwareupdate: PLUGIN_SOFTWAREUPDATE_CONFIGURE (needs: "Need(method='role', value='plugin_softwareupdate_configure')")

2025-07-07 15:05:03,140 - octoprint.plugins.achievements - INFO - Loading data from /Users/josephputman/Library/Application Support/OctoPrint/data/achievements/data.json

2025-07-07 15:05:03,141 - octoprint.plugins.achievements - INFO - Loading data for None from /Users/josephputman/Library/Application Support/OctoPrint/data/achievements/2025.json

2025-07-07 15:05:03,155 - octoprint.plugins.softwareupdate - INFO - Loaded version cache from disk

2025-07-07 15:05:03,859 - octoprint.util.pip - INFO - Using "/Users/josephputman/OctoPrint/venv/bin/python -m pip" as command to invoke pip

2025-07-07 15:05:04,145 - octoprint.util.pip - INFO - Version of pip is 25.1.1

2025-07-07 15:05:04,271 - octoprint.util.pip - INFO - pip installs to /Users/josephputman/OctoPrint/venv/lib/python3.13/site-packages (writable -> yes), --user flag needed -> no, virtual env -> yes

2025-07-07 15:05:04,271 - octoprint.util.pip - INFO - ==> pip ok -> yes

grep (BSD grep, GNU compatible) 2.6.0-FreeBSD

2025-07-07 15:05:04,311 - octoprint.plugins.file_check - INFO - Native grep available: True

2025-07-07 15:05:04,312 - octoprint.plugin.core - INFO - Initialized 23 plugin implementation(s)

2025-07-07 15:05:04,324 - octoprint - INFO - Installing webcam compat overlay for configured default webcam <octoprint.webcams.ProvidedWebcam object at 0x1140646e0>

2025-07-07 15:05:04,325 - octoprint.plugin.core - INFO - 23 plugin(s) registered with the system (23 bundled & 0 third party):

| Bundled Plugins (23)

| Achievements Plugin (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/achievements

| Action Command Notification Support (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/action_command_notification

| Action Command Prompt Support (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/action_command_prompt

| Announcement Plugin (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/announcements

| Anonymous Usage Tracking (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/tracking

| Application Keys Plugin (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/appkeys

| Backup & Restore (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/backup

| Classic Webcam (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/classicwebcam

| Core Wizard (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/corewizard

| Custom Control Manager (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/customcontrolmanager

| Discovery (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/discovery

| Error Tracking (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/errortracking

| Event Manager (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/eventmanager

| File Check (2024.11.12) (bundled) = /Users/josephputman/OctoPrint/venv/lib/python3.13/site-packages/octoprint_file_check

| Firmware Check (2025.5.14) (bundled) = /Users/josephputman/OctoPrint/venv/lib/python3.13/site-packages/octoprint_firmware_check

| GCode Viewer (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/gcodeviewer

| Healthcheck Plugin (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/health_check

| Hello World (1.0.0) (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/helloworld.py

| Logging (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/logging

| Plugin Manager (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/pluginmanager

| Software Update (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/softwareupdate

| Upload Manager (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/uploadmanager

| Virtual Printer (bundled) = /Users/josephputman/OctoPrint/src/octoprint/plugins/virtual_printer

| Third Party Plugins (0)

Prefix legend: ! = disabled, # = blacklisted, * = incompatible

2025-07-07 15:05:04,385 - octoprint.environment - INFO - Detected environment is Python 3.13.4 under Macos (macOS-15.4.1-x86_64-i386-64bit-Mach-O). Details:

| hardware:

| cores: 8

| freq: 1100

| ram: 8589934592

| os:

| bits: 64

| id: macos

| platform: macOS-15.4.1-x86_64-i386-64bit-Mach-O

| python:

| pip: 25.1.1

| version: 3.13.4

| virtualenv: /Users/josephputman/OctoPrint/venv

2025-07-07 15:05:04,393 - octoprint.server - INFO - Reset webasset folder /Users/josephputman/Library/Application Support/OctoPrint/generated/webassets...

2025-07-07 15:05:04,393 - octoprint.server - INFO - Reset webasset folder /Users/josephputman/Library/Application Support/OctoPrint/generated/.webassets-cache...

2025-07-07 15:05:04,394 - octoprint.server - INFO - Reset webasset folder /Users/josephputman/Library/Application Support/OctoPrint/generated/.webassets-manifest.json...

2025-07-07 15:05:04,405 - octoprint.timelapse - INFO - Enabled rendering queue processing

2025-07-07 15:05:04,607 - octoprint.server - INFO - Shutting down intermediary server...

2025-07-07 15:05:04,624 - octoprint.server - INFO - Intermediary server shut down

2025-07-07 15:05:04,626 - octoprint.events - INFO - Processing startup event, this is our first event

2025-07-07 15:05:04,626 - octoprint.events - INFO - Adding 0 events to queue that were held back before startup event

2025-07-07 15:05:04,627 - octoprint.filemanager - INFO - Adding backlog items from all storage types to analysis queue...

2025-07-07 15:05:04,629 - octoprint.server - INFO - Starting autorefresh of serial port list

2025-07-07 15:05:04,630 - octoprint.filemanager - INFO - Added 0 items from storage type "local" to analysis queue

2025-07-07 15:05:04,632 - octoprint.server.util.watchdog - INFO - Running initial scan on watched folder...

2025-07-07 15:05:04,634 - octoprint.server.util.watchdog - INFO - ... initial scan done.

2025-07-07 15:05:04,641 - octoprint.server - INFO - Serial port list was updated, refreshing the port list in the frontend

2025-07-07 15:05:05,459 - octoprint.plugins.discovery - INFO - Registered 'OctoPrint instance on Josephs-MacBook-Air.local._http._tcp.local.' for _http._tcp.local.

2025-07-07 15:05:05,502 - octoprint.plugins.healthcheck.python_eol - INFO - Fetched Python EOL data from https://get.octoprint.org/python-eol

2025-07-07 15:05:06,273 - octoprint.plugins.discovery - INFO - Registered 'OctoPrint instance on Josephs-MacBook-Air.local._octoprint._tcp.local.' for _octoprint._tcp.local.

2025-07-07 15:05:06,281 - octoprint.plugins.discovery - INFO - Registered OctoPrint instance on Josephs-MacBook-Air.local for SSDP

2025-07-07 15:05:06,287 - octoprint.server - INFO - Listening on http://0.0.0.0:5000 and http://[::]:5000

2025-07-07 15:05:06,304 - octoprint.plugins.helloworld - INFO - Hello World!

2025-07-07 15:05:06,328 - octoprint.plugins.pluginmanager - INFO - Loaded plugin repository data from disk, was still valid

2025-07-07 15:05:06,435 - octoprint.plugins.pluginmanager - INFO - Loaded notice data from disk, was still valid

2025-07-07 15:05:06,439 - octoprint.plugins.pluginmanager - INFO - Saved a current plugin export to /Users/josephputman/Library/Application Support/OctoPrint/backup_plugin_export.json

2025-07-07 15:05:06,620 - octoprint.util.pip - INFO - Using "/Users/josephputman/OctoPrint/venv/bin/python -m pip" as command to invoke pip

2025-07-07 15:05:06,620 - octoprint.util.pip - INFO - pip installs to /Users/josephputman/OctoPrint/venv/lib/python3.13/site-packages (writable -> yes), --user flag needed -> no, virtual env -> yes

2025-07-07 15:05:06,620 - octoprint.util.pip - INFO - ==> pip ok -> yes

2025-07-07 15:05:06,624 - octoprint.plugins.softwareupdate - INFO - Minimum free storage across all update relevant locations is 128.7GB. That is considered sufficient for updating.

2025-07-07 15:05:06,624 - octoprint.plugins.softwareupdate - INFO - Fetching check overlays from https://plugins.octoprint.org/update_check_overlay.json

After this though it freezes and doesn't continue. I don't know what my issue is, any help is appreciated.

What did you already try to solve it?

I've tried looking for others who have had the same problem and gone through the steps of the plugin tutorial multiple times.

Have you tried running in safe mode?

Yes

Did running in safe mode solve the problem?

No

Systeminfo Bundle

You can download this in OctoPrint's System Information dialog ... no bundle, no support!)

octoprint-systeminfo-20250707151553.zip (5.3 KB)

Additional information about your setup

OctoPrint version, OctoPi version, printer, firmware, browser, operating system, ... as much data as possible

Macos
Using a virtual environment for developing a plugin as done in the plugin tutorial.

Blockquote

Hello @NeverEndingRadicalDu !

Please format code with the Preformatted Text feature of the forum editor.

Format