# Logs & Diagnostics When debugging unexpected behavior, plugin crashes, or RPC communication issues, Tuim provides several logging and diagnostic layers. --- ## 1. Locating Log Files Tuim logs its frontend reactor, RPC traffic errors, and widget lifecycle events into its isolated state directory. ### Finding the Active Log Path 1. Launch Tuim. 2. Press F1 → **Settings** → **About**. 3. Inspect the **Log path** row: ``` ~/.local/share/tuim/tuim.log ``` ### Inspecting Neovim Internal Messages To view messages and errors emitted by the embedded Neovim processes: * In Normal mode, type `:messages` and press Enter. * Uncaught Lua errors, plugin notices, and LSP notifications are recorded in Neovim's internal message buffer. --- ## 2. Inspecting Log Output from the Terminal You can monitor Tuim's log in real-time from a separate terminal window: ```bash tail -f ~/.local/share/tuim/tuim.log ``` Log entries are prefixed with standard severity levels for easy filtering: * `[ERROR]`: Fatal errors, RPC pipe failures, or unrecoverable worker errors. * `[WARN]`: Non-fatal issues (e.g. missing clipboard tool, theme fallbacks, unrecognized terminal features). * `[INFO]`: Application lifecycle transitions, mode switches, and theme updates. * `[DEBUG]`: Verbose dispatch traces and differential redraw metrics. --- ## 3. Running Diagnostic Scripts Tuim includes self-contained diagnostic scripts in the repository: ### Test Runtime Environment Verifies that Neovim 0.12+, Tree-sitter parsers, and the default Zig syntax queries load cleanly: ```bash python3 tests/default_runtime.py ``` ### Smoke Test Bundled Plugins Verifies that lazy.nvim, telescope, mason, blink.cmp, and alpha-nvim load without syntax errors in an isolated XDG sandbox: ```bash scripts/plugin_smoke.sh ``` --- ## Next Steps If you need to report an issue, read how to use the built-in reporter in **[In-App Bug Reporting](In-App-Bug-Reporting.md)**.