Skip to main content

Troubleshooting

Use this checklist to diagnose common issues. If your problem isn't listed here, please open a GitHub issue.

Start with the Doctor​

When something feels off, open the Doctor first — it answers "is it me or the plugin?" in a few seconds. Open the command palette (Ctrl/Cmd+P) and run Prisma Calendar: Open doctor, or press Open Doctor under Settings → General → Doctor.

Each row is one health check with a plain-language explanation:

CheckWhat it tells you
IndexingHow many notes Prisma read and how many of them reached the calendar. It flags notes it could not read — usually a date property that isn't a recognised date, or one that isn't mapped — and offers a Reindex button.
Frontmatter integrityNotes in your planning system that had the same property listed twice, which Prisma repaired. Yellow when a repair replaced a conflicting value; red when a note could not be repaired.
SettingsWhether your settings loaded and migrated cleanly.
LicenseYour current license state, in the same words the License section uses.
Recent errors and warningsAnything that went wrong in the last 15 minutes, grouped by the part of the plugin that reported it.

A green row means that check found nothing wrong. A yellow row is worth reading; a red row is something Prisma could not do.

To see what lies behind a yellow or red row, expand Logs at the bottom of the Doctor and search for the check's area (for example indexing). For a full-window view, use Prisma Calendar: Open logs — see Reading the logs.

Create bug report​

The fastest way to get the problem to me: Create bug report closes the Doctor and opens the report form with these same findings already attached, alongside your recent logs. Both attachments are separate tickboxes you can review and clear before sending — see Privacy & diagnostics for exactly what each one contains.

Copy debug​

Prefer to file it on GitHub yourself? The Copy debug button gathers everything useful about the problem into one block of text and puts it on your clipboard, ready to paste into an issue. Save debug to file writes the same text into your export folder instead, so you can attach it.

The bundle contains your Prisma and Obsidian versions and platform, the health checks above, every warning and error recorded this session, and all activity from the last 15 minutes.

Folder and note names are abbreviated, property values are replaced by their type, and secrets are never included. Nothing is sent anywhere — copying and saving are the only things these buttons do. Include full detail keeps real paths and property values for someone you trust; secrets stay out either way. See Privacy & diagnostics for a complete before-and-after example.


⚡ Performance​

Calendar feels slow in a large vault

Prisma Calendar is designed to handle large vaults without issues. If you're experiencing lag, try the tips below. For very large vaults, if you experience severe issues, please also open a GitHub issue — I want Prisma to work smoothly for vaults of any size.

  • Disable Enable name series tracking (Settings → Configuration → Performance) to stop tracking events by title
  • Disable Show color dots (Settings → Calendar) to skip per-day event scanning in monthly view
  • Disable Highlight upcoming event (Settings → Calendar) to remove the 1-minute interval timer
  • Disable Enable event preview (Settings → Calendar) to skip loading note content on hover
  • Disable Enable notifications (Settings → Notifications) to remove the 1-minute interval check
  • Disable Enable holidays (Settings → Integrations) to skip external library loading

📅 Events​

Events not appearing
  • Plugin enabled and vault reloaded
  • Calendar Directory points to the correct folder (subfolders included)
  • Note has a valid Start Date property (or a date-only Start Day for all-day events) (ISO format recommended, e.g., 2025-02-10T14:00)
  • Filters aren't excluding your note (Rules → Event Filtering)
  • Frontmatter keys match your Properties Settings (e.g., Start Date vs start date)
  • Try refreshing: Open command palette (Ctrl/Cmd+P) and run "Refresh calendar" to force a full resync
A property appears twice in an event's frontmatter

Problem: An event's frontmatter lists the same property twice — for example Calendar Title once with a link and once empty, or Sort Date written twice. Obsidian rejects frontmatter like that: the Properties panel shows it as invalid, the note drops out of Bases and property search, and any plugin that edits its properties fails (in Prisma, actions such as Fill end time from next event report an error).

Root Cause: Two versions of the note were merged as plain text. This happens when two writers touch the same note within moments of each other — a sync tool merging edits from two devices, or Obsidian reloading a note that changed on disk while you had it open.

Solution: Nothing to do. Prisma repairs the note as soon as it sees it:

  • Each repeated property keeps its last non-empty value, at the position of its first copy.
  • Properties return to your configured order; the note's body is untouched.
  • Every device makes the identical repair, so syncing it back causes no conflict. A device set to read-only leaves the note for a writable one.

When the copies held two different values, the earlier one is replaced. The Doctor's Frontmatter integrity row turns yellow, and the logs (search indexing.integrity) record the note, the property, the value kept and the value replaced, so you can restore the old one if you need it.

Preventing it: let sync finish before editing the same event on a second device, and set your template in Prisma's Template path rather than relying on Templater's folder template — Prisma then writes each new event once, complete (see Templater Integration → How It Works).

Wrong colors or no color applied
  • The first matching color rule wins — check rule order
  • Expressions use property names directly (e.g., Priority === 'High')
  • Color value is valid CSS (hex/name/HSL)
Recurring events missing
  • RRule is set (e.g., weekly) and valid RRuleSpec for week-based schedules
  • "Future instances count" is high enough to cover the date you expect
  • Virtual events show beyond the generation horizon (read-only)
Events appearing as all-day when they should be timed (or vice versa)

Problem: You duplicate a timed event, but the duplicate appears as an all-day event. Or you have events that show start/end times in frontmatter but display as all-day on the calendar.

Root Cause: The All Day property is the source of truth for determining event type. Prisma ignores Start Date/End Date properties when All Day: true is set, and ignores the Start Day property when All Day: false.


📆 Multiple Planning Systems​

Events not showing after creating a new planning system

Problem: After creating a new planning system, the calendar view shows no events or the wrong events.

Solution: Make sure you configured both the directory and the property mappings. Open Settings, select the new planning system, and use Configure current to set the directory and properties. Each planning system is fully independent — it only sees events matching its own configured property names.

Two planning systems on the same directory showing overlapping events

Problem: Two planning systems point at the same directory and both show the same events even though you want each to show different ones.

Solution: Configure different property mappings for each planning system. For example, one system uses meetingStart / meetingEnd while the other uses dueDate / deadline. Each planning system only sees notes whose frontmatter contains its configured start property. If both systems use the same property names, they will both see all matching events — that's the expected behavior.


📊 Bases Integration​

"Show current interval in Bases" shows no events

This command requires Sorting normalization to be enabled. See Bases — Sort date property required for interval views for the fix.

Events not sorting correctly by Sort Date in Bases

If events appear out of order when sorting by Sort Date in Bases views, the property type is likely set to "Text" instead of "Date & time". Obsidian's Bases sorts text properties alphabetically, which produces incorrect results for datetime values.

To fix this:

  1. Open Obsidian Settings → Properties
  2. Find the Sort Date property (or whatever name you configured in Prisma Calendar's "Sort date property" setting)
  3. Change its type to Date & time

Alternatively, you can edit .obsidian/types.json directly and add the property with the datetime type:

{
"types": {
"Sort Date": "datetime"
}
}

After changing the property type, Bases will sort events chronologically. See the Configuration — Sorting Normalization documentation for full details on how sort date normalization works.


🔌 Templater Integration​

Templater not working
  • Templater plugin is installed and enabled
  • Template path in General Settings is correct
  • Your template renders outside Prisma Calendar (sanity check)
"Template failed to run" notice when creating an event

Problem: Creating an event shows a notice saying your template failed to run. The event is created, but without the template's content.

Root Cause: Your template threw an error while rendering. The notice includes the error message. The most common cause is template code that reads the event's properties (tp.frontmatter["Start Date"], for example) — when a new event is created, the template runs before those properties exist, so they come back empty. See Templater Integration → Supported Templater Functions.

Solution: Remove or guard the code that depends on the event's own properties, then create the event again. A template that works when applied to an existing event can still fail at creation time for this reason.

Templates not applying to Prisma-created events

Problem: Templater folder templates work for manually created notes, but not for events created through Prisma Calendar.

Root Cause: Prisma holds Templater's folder template off for the files it creates. If both ran, Templater would rewrite the note a moment after Prisma wrote it, and two writers racing over a new note is how frontmatter ends up with properties missing or listed twice.

Solution: Configure templates in BOTH places:

  1. Templater Settings: Set up your folder template as usual — it keeps applying to notes you create by hand.
  2. Prisma Calendar Settings: Go to General → Template path and set the same template file.

Prisma then renders the template itself and writes each event once, complete. See Templater Integration → How It Works.

Events created are saved to root folder instead of configured directory

Problem: When creating events, files are saved to the vault root instead of the configured directory (e.g., "Tasks" folder). This only happens when Templater is enabled and templatePath is set.

Root Cause: Older versions of Templater (pre-2.15) use an outdated API that doesn't properly handle the folder parameter when creating notes from templates programmatically.

Solution: Update Templater to version 2.15 or higher:

  1. Go to Settings → Community Plugins
  2. Find "Templater" in your installed plugins
  3. Check the version number
  4. If below 2.15, click "Update" or reinstall the plugin
  5. Restart Obsidian

Verified Working: Templater version 2.15+ correctly respects the templatePath setting and creates files in the configured directory.

Inconsistent date properties for sorting

Problem: Events have different property names (Start Date for timed events, Start Day for all-day events) and formats (2025-02-10T14:00:00.000Z vs 2025-02-10T14:00:00), making it impossible to sort chronologically in other tools like Bases or Dataview.

Root Cause: Prisma uses different properties based on event type, and ISO format includes .000Z suffix.

Solution: Create a "watcher" script that normalizes dates into a dedicated sort property.

Result: Consistent sort_date property across all events for reliable chronological sorting in Bases, Dataview, or other tools.


Still stuck?​

If none of the above fixes your issue, I'm happy to help — open a GitHub issue with steps to reproduce, or send me your feedback.

Any diagnostics you attach are redacted before you share them and never leave your device on their own — see Privacy & diagnostics for exactly what they contain.