TroubleshootingDiagnostics

Diagnostics

Find Tejus log files, use System tools and crash reports, read thread diagnostics, and share evidence without leaking sensitive data.

Diagnostics should answer a specific question: why the app did not start, what the backend logged, what an agent's thread recorded, or which error interrupted the work. Collect the smallest evidence set that can answer that question.

Log files

Tejus writes its logs to %USERPROFILE%\.tejus\userdata\logs. If you set the SYNARA_HOME environment variable to move Tejus's data, the logs are under <SYNARA_HOME>\userdata\logs instead.

File or folderContents
desktop-main.logThe desktop app: startup, window, and update activity
server-child.logOutput of the local backend process, captured by the desktop app
server.logThe local backend's own log
tejus-crash-reports.logScrubbed copies of the crash reports you chose to send
terminals\Saved terminal output for terminal sessions
provider\events.logRaw provider events, written only when provider event logging is turned on (off by default)

desktop-main.log and server-child.log rotate at 10 MB and keep up to 10 files.

When Tejus cannot start, its error dialogs offer Open logs, which opens this folder. See Desktop and updates for those dialogs.

System tools

Settings → System tools groups the low-level tools:

  • Keybindings → Open file opens keybindings.json in your preferred editor.
  • Recovery tools → Repair state rebuilds local project indexes and refreshes project snapshots without clearing existing chats. It is enabled only when projects exist but no chat history is available.
  • About → Version shows the installed Tejus version. Include it in every report.
  • About → Release history lists the notes for every update.

Crash reports

When the Tejus window hits an unexpected error, a Something went wrong notice offers Send report. If the error replaces the whole screen, the error page offers Try again, Reload app, Send report to Tejus, and Show error details.

Nothing is sent unless you click the send button; that click is your consent, independent of the analytics setting. Before sending, Tejus removes file paths and e-mail addresses from the report and keeps a scrubbed copy in tejus-crash-reports.log. If the report is delivered you get a reference ID; if Tejus cannot reach its servers, the report stays in the logs folder.

Settings → General → Privacy explains crash reports and holds the separate, opt-in Share anonymous usage analytics switch.

Thread diagnostics for agents

Agents connected through the Agent Gateway can read bounded, read-only diagnostics about a Tejus thread:

ToolSourceBest for
tejus_diagnose_threadBounded forensic snapshot across several sourcesFirst-pass triage of a stuck or inconsistent task
tejus_read_thread_activityProjected task activityWhat Tejus presented as user-facing task activity
tejus_read_thread_eventsDurable orchestration event journalAuthoritative ordering of persisted orchestration events
tejus_read_thread_runtime_eventsRetained provider-runtime eventsWhat the provider adapter emitted before projection

Start with tejus_diagnose_thread({ threadId }). It combines the thread's current state, recent activity, durable events, provider command-delivery blockers, and operational incidents, and helps you choose the next narrow read. Request detailed payloads only when summaries cannot answer the question, and pass returned page cursors back unchanged.

These tools redact fields that look like authorization headers, cookies, credentials, passwords, secrets, tokens, or API keys, and they truncate long strings and large structures. That reduces accidental exposure but does not remove every private value, proprietary code fragment, internal URL, or unusual secret format.

Manual redaction checklist

Before sharing logs, diagnostics, or screenshots, remove or generalize:

  • API keys, tokens, cookies, credentials, and authorization headers
  • Private prompts and model responses
  • Proprietary source code and diffs
  • Repository names and remote URLs when confidential
  • Local usernames, home-folder paths, and machine names
  • Customer data and personal information
  • Internal hostnames and URLs
  • Account, organization, integration, task, and project identifiers when unnecessary

Do not share a complete data folder or database.

Build a useful timeline

A good diagnostic timeline includes:

2026-08-04 02:14:03 IST — sent the task instruction
2026-08-04 02:14:10 IST — provider process started
2026-08-04 02:15:42 IST — last visible tool activity
2026-08-04 02:16:12 IST — runtime warning appeared
2026-08-04 02:17:00 IST — interrupted after preserving the diff

Use one timezone and include the offset. Exact times let you match UI activity with the right lines in the logs.

When sources disagree, report the disagreement directly rather than inventing a missing event.

Minimal diagnostic bundle

For most problems, collect:

  1. Tejus version (Settings → System tools → Version)
  2. Windows version
  3. Provider, and for a CLI its executable path and version
  4. Model and options
  5. Task status and environment type (local checkout or worktree)
  6. Exact error text and time range
  7. git status --short --branch for Git-related problems
  8. A short, redacted excerpt from the relevant log file
  9. Reproduction steps and expected behavior

Diagnostic completion checklist

  • A specific diagnostic question was defined
  • The smallest relevant log or source was selected
  • Built-in redaction was not treated as complete privacy protection
  • The output was manually reviewed and redacted
  • Exact times and timezone were included
  • The report distinguishes evidence from inference

Continue with Report a problem when the evidence is ready.

Last updated on