Skip to content

Troubleshooting

When auto-mcs encounters an issue, it can record what happened in the application log, or an exception report. These files are useful for determining which part of the app failed, what it was doing, and when it happened.

All log and error reporting is stored inside the app data directory. You can open this directory from the folder icon in app settings.

Logs/applicationRuntime logs; initialization, activity, warnings, and errors
Logs/errorsNon-fatal exception reports during processes like server creation or imports
Logs/crashesFatal exception reports, including watchdog terminations from hangs
Logs/telepathAudit logs for Telepath authentication, sessions, and remote actions

If auto-mcs is still open, start by checking the most recent entries in the application log. The last line isn’t usually the cause of the problem. Look for the first relevant WARNING, ERROR, or traceback preceding the failed action.

If an AME appears, locate the corresponding file in Logs/errors or Logs/crashes and check the traceback.

When reporting an issue, include the AME report itself. If one does not exist, include the version of auto-mcs, operating system, what you did before the error, and the relevant application log.

Use --debug to enable verbose logging:

Terminal window
./auto-mcs --debug

On Linux, or when passing STDOUT on macOS, debug logging will appear in the TTY it was launched from. On Windows, the compiled app can attach to an existing console or open one if necessary:

Windows debug console

Debug mode is useful when diagnosing startup problems, unexpected behavior, or errors that occur before the UI has fully initialized. If auto-mcs closes unexpectedly, it will return an exit code that may help identify the cause.

If auto-mcs encounters a crash, it will create an exception report, detailed below.

Each time you start auto-mcs, the logger creates a unique session, and flushes in Logs/application, named auto-mcs_<timestamp>.log. The timestamp identifies when the session started. Application logs are buffered in memory until they are flushed to disk once every 5 minutes, and on close.

At the beginning of a log is a short header containing the launch time, process ID (pid), and a short launch identifier (id). These are used to distinguish one run of the app from another.

The app records information about its initialization, such as the version, launch flags, permissions, current language, Telepath status, processor, and memory usage.

A healthy lifecycle looks like this
# 2:45:08 PM 10/17/2026 (pid 19404) id=bb4d37
┏━━━━━━━━━━━━━━━━━━━━━━━━━ auto-mcs v2.4 ━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ _ ┃
┃ ▄▄████▄▄ __ _ _ _| |_ ___ _ __ ___ ___ ___ ┃
┃ ▄█ ██ █▄ / _` | | | | __/ _ \ __ | '_ ` _ \ / __/ __| ┃
┃ ███▀ ▀███ | (_| | |_| | || (_) |(__)| | | | | | (__\__ \ ┃
┃ ▀██ ▄▄ ██▀ \__,_|\__,_|\__\___/ |_| |_| |_|\___|___/ ┃
┃ ▀▀████▀▀ ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
[02:45:08 PM] [INFO] [core: constants.ConfigManager ] initialized ConfigManager successfully
[02:45:09 PM] [INFO] [core: server.manager.ServerManager ] initialized Server Manager
[02:45:09 PM] [INFO] [ui: main.ui_loop] initializing auto-mcs with the following properties:
> Version: v2.4-beta.2099 - macOS 26.6.2 (b-25G83, ARM 64-bit)
> Launch flags: None
> Online: False
> Permissions: User-level
> UI Language: English (en)
> Headless: False
> Telepath server: Active
> Processor info: 12 (12) C/T @ 4.06 GHz (64-bit)
> Used memory: 8.28 / 18 GB
[02:45:09 PM] [INFO] [ui: desktop.utility.run_application ] initializing graphical UI (Kivy)
[02:45:11 PM] [INFO] [core: main.foreground ] UI has exited gracefully

Log entries use the following format:

[HH:MM:SS TT] [level] [stack: caller] message
[09:35:27 PM] [INFO] [core: constants.ConfigManager] initialized ConfigManager successfully
HH:MM:SS TTTime the event occurred, in this format
levelSeverity or type of the event
stackApplication subsystem logging category
callerPython object or function where the event originated
messageDescription of event details

Messages like the above boot log, and exceptions, have several indented lines showing the system information, or the traceback, respectively. Additional lines begin with > and belong to the preceding line’s message, rather than indicating a separate event.

DEBUGExtremely detailed reporting, useful when reproducing a problem (hidden by default)
INFONormal operation, such as object initialization or a completed action
WARNINGSomething unexpected that doesn’t impede functionality
ERRORUnexpected failure that impedes functionality, and continues runtime
CRITICALSerious error that originates from core dependencies
FATALSevere failure that terminates runtime

Running auto-mcs from a terminal on macOS or Linux will block and display the live application log in the TTY. On Windows, debug mode will launch a separate window allowing you to view this as well. See Debugging below for more details.

Since the STDOUT is obscured in headless mode, you can view the application log with a command instead.

Application logs are stored in:

Windows%appdata%\.auto-mcs\Logs\application
macOS~/Library/Application Support/auto-mcs/Logs/application
Linux~/.auto-mcs/Logs/application

The log manager retains up to 5 application run logs. Due to buffering, the newest file may not yet contain a fresh error, unlike the live output. For an unexpected shutdown, a separately generated exception report can be more useful for determining the immediate cause.

In addition to run logs, auto-mcs generates AME (Auto-MCS Exception) reports when the error reporter is invoked. Unlike the application log, which records activity across an entire session, an AME report is an organized snapshot of a particular failure.

LocationTypeCause
Logs/errors/ame-error_<timestamp>.logProcess errorAn action displays an error but continues runtime
Logs/crashes/ame-fatal_<timestamp>.logFatal errorThe app crashes, its main UI terminates unexpectedly, or a monitored thread hangs during shutdown

The filename includes the time and date when the report was generated. auto-mcs keeps up to 25 exception reports in each of these folders. For fatal exceptions, a crash window will be displayed:

Crash window

An AME report will include the following sections:

Auto-MCS ExceptionThe AME identifier printed at the top of the report
General InfoMinified system context information, and general app state
Time of AMEWhen the exception was recorded
Application path at time of AMEThe navigation context inside the app
Last interaction at time of AMEThe last recorded UI interaction, when available
AME tracebackThe Python exception, where it occurred, and the full traceback
Logging since last interactionApplication log since the last UI action

An AME report is structured like this
==============================================================================================================================
|| Auto-MCS Exception: f9-2debe1 ||
|| "Please wait while I pretend to know what I'm doing" ||
==============================================================================================================================
General Info:
Severity: Fatal
...
Time of AME:
6:45:48 PM 10/14/2026
Application path at time of AME:
Server Manager > amscript @ 6:45:46 PM
Last interaction at time of AME:
IconButton @ 6:45:48 PM
AME traceback:
Exception Summary:
KeyError: 'performance'
(File "amscript.py", line 1669, in __init__)
Traceback (most recent call last):
...
Logging since last interaction:
[06:45:48 PM] [DEBUG] [ui: desktop.utility.navigation ] interaction: 'IconButton'
...

Another type of crash is when the background thread hangs. The process will be terminated after 30 seconds of inactivity after a requested shutdown. For a fatal hang, the report will also contain Failure type: Thread hang, active threads statistics, and stack traces showing what those threads were doing when the process stopped responding.

The Logs/telepath directory contains session-audit_<date>.log files. These are separate from the application run logs and are intended for reviewing remote sessions and operations. Entries have their own INFO, AUTH, WARN, and HIGH classifications, which are audit categories, and are not the same as the app logger’s severity levels.

Learn more about Telepath audit logs

When auto-mcs closes, it returns an exit code to the operating system indicating how the process terminated. This is especially useful when launching auto-mcs from a terminal, script, or automated environment.

The following codes are defined by the launcher and its bootstrapping process:

0Normal termination, including closing the app or handing execution to a restart/update process
-1A server specified with --launch could not be found
2Invalid launch arguments, such as an unrecognized flag or a missing required argument value
10Another instance of auto-mcs is already running
20Fatal exception, or could not terminate properly following a handled crash
1An unhandled fatal exception or general runtime failure that isn’t caught by the handler

When launching auto-mcs from a terminal, you can retrieve the exit code after the process terminates:

Windows (PowerShell)

Terminal window
.\auto-mcs.exe --debug
$LASTEXITCODE

Linux/macOS

Terminal window
./auto-mcs --debug
echo $?

If auto-mcs closes unexpectedly, check the application run logs or exception reports for more information.