Skip to content

Troubleshooting

Use the symptom headings below to recover the current stable release.

macOS says Molt is damaged or cannot be opened

Section titled “macOS says Molt is damaged or cannot be opened”

The release is not Apple-notarized. Confirm that the application came from the official Molt release, then clear quarantine metadata:

Terminal window
xattr -cr /Applications/Molt.app

Open Molt again.

Molt is running but no window is available

Section titled “Molt is running but no window is available”

Molt is configured without a Dock icon, and this release does not create the tray/menu-bar toggle described by older design documents. If you closed the main window and cannot recover it through macOS window switching:

  1. Quit the Molt process.
  2. Relaunch /Applications/Molt.app.

Avoid File → Close Window when you intend to keep the app available.

A Python warning appears at the top of the app

Section titled “A Python warning appears at the top of the app”

Molt could not execute the configured interpreter with --version during startup.

  1. Open File → Settings….
  2. Enter a valid absolute path or PATH-resolvable name.
  3. Save.
  4. Quit and relaunch Molt.

Verify the same executable in Terminal:

Terminal window
"/absolute/path/to/python" --version

The warning is captured at app startup and is not recalculated merely by saving settings. Its backend error text may mention the legacy ~/.config/molt/config.toml path; the released macOS runtime actually uses ~/Library/Application Support/molt/config.toml.

Molt uses the interpreter selected when the app launched. Install the package into that exact interpreter:

Terminal window
"/absolute/path/to/python" -m pip install package-name

Then restart the tab. If you changed the interpreter path, relaunch Molt first.

A cell containing only whitespace is intentionally a no-op. Add code and run again.

For a nonempty cell, check:

  • The tab has not been stopped.
  • The configured interpreter still exists.
  • The app was relaunched after an interpreter change.
  • The kernel process was not terminated by earlier code.

Select Restart and try a minimal cell:

1 + 1
2

The tab says stopped or reports that the kernel is not running

Section titled “The tab says stopped or reports that the kernel is not running”

Select Restart. Stop creates a stopped sentinel and normal execution does not replace it automatically.

A cell remains running or interruption breaks later runs

Section titled “A cell remains running or interruption breaks later runs”

Select the cell’s square interrupt button once and wait for an error or process termination. Restart only if the toolbar reports stopped or error afterward.

The release sends SIGINT and force-kills the process after two seconds only when the same execution is still busy. A normally handled KeyboardInterrupt leaves the kernel available.

Interactive standard input is not supported. Cell execution receives an empty stdin stream so it cannot consume Molt’s JSON protocol. Replace prompts with values defined directly in the cell or loaded from a file.

For example, replace:

name = input("Name: ")

with:

name = "Beatrice"

The kernel server reports SystemExit as a cell error and keeps the process alive. You can continue executing cells without restarting.

This is expected. Molt persists source and cell structure only. Outputs, execution labels, and Python state are rebuilt each launch.

Rerun the cells required to recreate the result.

Clear has no confirmation and autosave can persist the empty replacement tab. Quit Molt before making more edits and restore notebooks.json from a backup. See Manage saved work.

The native-effects toggle previews immediately, but it is persisted only when you select Save. Interpreter changes also require a full relaunch.

The app uses four tabs despite a different tab_count

Section titled “The app uses four tabs despite a different tab_count”

The frontend is fixed to four tabs in this release. Restore tab_count = 4; other values are parsed but ignored by the user interface.

Use this documentation for v0.2.7. The source repository retains older Git history with descriptions of menu-bar behavior, ephemeral cells, theme selection, configuration paths, settings timing, and keyboard shortcuts that do not match the release implementation.

See Current limitations for the consolidated compatibility list.