Skip to main content
This guide explains how to access and enable verbose logging in nteract Desktop.

Daemon Logs

The daemon (runtimed) logs to a file that persists across sessions.

Log File Location

~/Library/Caches/runt/runtimed.log

Viewing Logs

# Show last 100 lines
runt daemon logs -n 100

Enabling Verbose Logging

For more detailed output, restart the daemon with debug logging:
1

Stop the daemon

runt daemon stop
2

Start with debug logging

# Debug logging for all modules
RUST_LOG=debug runtimed
For persistent verbose logging, you can modify the launch agent/service configuration.

Frontend Logs

The notebook app logs to the browser console.

Opening Developer Tools

Access the browser console:
  • macOS: Cmd+Option+I
  • Windows/Linux: Ctrl+Shift+I
  • Menu: View > Developer > Developer Tools

Enabling Debug Mode

By default, routine operations are not logged in production. To enable verbose logging:
1

Open browser console

Press Cmd+Option+I (macOS) or Ctrl+Shift+I (Windows/Linux)
2

Enable debug mode

localStorage.setItem('runt:debug', 'true')
3

Reload the page

Press Cmd+R (macOS) or Ctrl+R (Windows/Linux)

Disabling Debug Mode

localStorage.removeItem('runt:debug');
// Reload the page

Log Prefixes

Logs are prefixed by component for easy filtering:
PrefixComponent
[daemon-kernel]Kernel communication
[notebook-sync]Document sync
[manifest-resolver]Output blob resolution
[App]Main app lifecycle

Troubleshooting

Kernel Not Starting

Check daemon logs for errors:
runt daemon logs -n 50 | grep -i error
Common issues:
  • Environment not found (check pool status with runt daemon status)
  • Python/Deno executable not available
  • Port conflicts
  • Permission issues

Outputs Not Displaying

1

Enable debug mode

Set localStorage.setItem('runt:debug', 'true') in the browser console
2

Check console for errors

Look for [manifest-resolver] errors in the browser console
3

Check daemon logs

runt daemon logs -f
Common issues:
  • Blob store corruption (try restarting daemon)
  • MIME type not supported
  • Widget rendering errors (check widget compatibility)

Environment Issues

Check daemon logs for UV/Conda errors:
runt daemon logs | grep -E "(uv|conda|env)"
Common issues:
  • Package installation failures
  • Incompatible package versions
  • Network issues downloading packages
  • Disk space issues

Sync Issues

If changes aren’t syncing between windows:
1

Check daemon status

runt daemon status
2

Check active notebooks

runt notebooks
3

Watch sync logs

RUST_LOG=runtimed::notebook_sync_server=debug runtimed
Common issues:
  • Different notebook IDs for same file
  • Daemon not running
  • Automerge document corruption

Log Levels

The RUST_LOG environment variable supports these levels:
LevelDescription
errorOnly errors
warnErrors and warnings
infoNormal operations (default)
debugDetailed debugging info
traceVery verbose (all operations)

Module-Specific Logging

You can enable debug logging for specific modules:
# Kernel management only
RUST_LOG=runtimed::kernel_manager=debug runtimed

# Multiple modules
RUST_LOG=runtimed::kernel_manager=debug,runtimed::notebook_sync_server=debug runtimed

# All runtimed modules
RUST_LOG=runtimed=debug runtimed

Common Debug Workflows

Debugging Kernel Issues

# Terminal 1: Watch daemon logs
runt daemon logs -f

# Terminal 2: Check kernel processes
runt ps

# Terminal 3: Check active notebooks
runt notebooks

Debugging Environment Detection

# Enable environment detection logging
RUST_LOG=runtimed::notebook_sync_server=debug,kernel_launch=debug runtimed

# Check what environments are available
runt daemon status

Debugging Widget Issues

1

Enable frontend debug mode

localStorage.setItem('runt:debug', 'true')
2

Open developer tools

Cmd+Option+I (macOS) or Ctrl+Shift+I (Windows/Linux)
3

Filter console logs

Filter by “widget” or “comm” in the console
4

Check iframe errors

Look for errors in the isolated widget iframe

Performance Profiling

Frontend Performance

Use browser DevTools Performance tab:
  1. Open DevTools (Cmd+Option+I)
  2. Go to Performance tab
  3. Click Record
  4. Perform the slow operation
  5. Stop recording and analyze

Backend Performance

Enable trace-level logging for detailed timing:
RUST_LOG=trace runtimed
Trace logging generates extremely verbose output and may impact performance. Use only for debugging specific issues.

Reporting Issues

When reporting issues, include:
  1. Daemon logs: Last 100 lines from runt daemon logs -n 100
  2. Daemon status: Output from runt daemon status
  3. Frontend console: Screenshot or copy of browser console errors
  4. Steps to reproduce: Clear steps to trigger the issue
  5. Environment: OS, nteract version, Python/Deno version

Collecting Logs

# Create a debug bundle
mkdir nteract-debug
runt daemon status > nteract-debug/status.txt
runt daemon logs -n 200 > nteract-debug/daemon.log
runt notebooks > nteract-debug/notebooks.txt
runt ps > nteract-debug/processes.txt

# Zip it up
tar -czf nteract-debug.tar.gz nteract-debug/

Build docs developers (and LLMs) love