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
- Start Claude Code or Claude Desktop with the DayOne MCP server configured.
- Perform at least one MCP tool call so the
dayone mcp process is active.
- Click the DayOne icon in the Dock (or launch via Spotlight).
- 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:
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.
Summary
When the DayOne MCP server (
dayone mcp) is active — e.g. launched by Claude Code orClaude 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
CLIKit.framework)dayone-cli, configured in both~/.claude/settings.jsonand~/Library/Application Support/Claude/claude_desktop_config.jsonSteps to Reproduce
dayone mcpprocess is active.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:
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
pkillworkaround proactively.