Skip to content

DayOne.app fails to open window when MCP server is running (suspected SQLite lock) #2

Description

@holger539

Summary

When the DayOne MCP server (dayone mcp) is active — e.g. launched by Claude Code or
Claude Desktop — the DayOne Mac app sporadically fails to open: the icon appears in the
Dock, but no window and no menu bar entries appear. Quitting Claude Code entirely resolves
the issue. Killing only the MCP process (without quitting Claude) also resolves it.

Environment

  • macOS: 26.4.1 (Build 25E253)
  • DayOne App: 2026.10 (Build 1753)
  • DayOne CLI: 2026.10.1753 (bundled via CLIKit.framework)
  • MCP config key: dayone-cli, configured in both ~/.claude/settings.json and
    ~/Library/Application Support/Claude/claude_desktop_config.json

Steps to Reproduce

  1. Start Claude Code or Claude Desktop with the DayOne MCP server configured.
  2. Perform at least one MCP tool call so the dayone mcp process is active.
  3. Click the DayOne icon in the Dock (or launch via Spotlight).
  4. Observe: DayOne icon bounces in the Dock, then settles — no window, no menu bar.

The issue is sporadic, not 100% reproducible. It appears more likely after one or more
MCP tool calls have been made in the session.

Expected Behavior

DayOne.app opens normally regardless of whether the MCP server process is running.

Actual Behavior

DayOne.app fails to present any UI. The process appears to launch (Dock icon active)
but gets stuck during startup.

Workaround

Killing the MCP server process alone is sufficient — Claude Code/Desktop stays open,
and the MCP process restarts automatically on the next tool call:

pkill -f "dayone mcp"

DayOne then opens normally.

Hypothesis (not confirmed)

The DayOne CLI may hold a reader or writer lock on the journal's SQLite database files
(WAL mode) while the MCP server process is alive. When the app tries to bootstrap and
open the same database, it blocks waiting for the lock to be released.

Supporting evidence:

  • Killing only the MCP process (not Claude) is sufficient to unblock the app.
  • The documentation states the MCP server cannot start when DayOne's password lock is
    enabled — this implies direct database-level access rather than AppleScript or IPC,
    making a SQLite lock the plausible mechanism.

A potential fix would be to release database handles between MCP requests, or to open
the database in read-only / shared-cache mode where journal files allow concurrent readers.

Additional Notes

If this is expected behavior (exclusive DB access by design), documenting it in the README
as a known limitation would help users set up the pkill workaround proactively.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions