Command-line access to your Day One account, journals, entries, Daily Chat, and context items.
Today we’re launching the beta of Day One CLI: command-line access to your Day One account, journals, entries, Daily Chat, and context items.
Day One has never been just a log of what happened. You reread an entry from four years ago and see how you felt then, and understand how much has changed in your life since.
The CLI is a way to do more with all of that. Tech-savvy users can build workflows around their own entries, surfacing patterns across years or automating the repetitive parts, with Day One still the source of truth. None of this changes how we protect your journal.
If that’s you, this release opens the door to entirely new ways to write, analyze, and automate your journal.
Why we built Day One CLI
Everything you’ve put into Day One is yours to keep. It should also be yours to use. That’s the reason this exists.
The CLI gives you a scriptable, JSON-first interface so you can:
- automate repetitive journaling tasks,
- authenticate directly with your Day One account, without the macOS app installed,
- build personal integrations on your own infrastructure,
- connect Day One to tools you already trust.
For the same reason, the code is public. Day One CLI is open source under GPLv2 or later, at github.com/Automattic/DayOne-Cli. Anyone can see for themselves what it does before installing it: what gets sent, what stays on your machine, what happens when you point a model at your own entries. Your journal deserves more than our word for it.
What you can build
The CLI fits wherever you already work: scripts, cron jobs, agents, your own tooling. We’ve given you three places to start:
1. Shared journaling with bots and agents
Use bot frameworks to help maintain a shared journal for a household, team, or project log.
Examples:
- a “family memory bot” that appends highlights from a shared channel,
- a “project journal bot” that captures weekly standup summaries,
- a “travel companion bot” that drafts entries from itinerary updates.
2. Bring your own LLM for private analysis
Run analysis against your exported/synced Day One data using the model of your choice.
Examples:
- detect long-term themes in your writing,
- summarize each month into a reflective digest,
- extract personal patterns (sleep, mood, routines) from your own entries.
3. Build custom workflows end-to-end
Create automations tailored to your life and tooling stack.
Examples:
- turn completed tasks into a daily “done list” entry,
- append workout metrics and your own notes in one flow,
- ingest data from scripts, cron jobs, or internal tools into structured journal entries.
A quick look
The npm installer requires Node.js LTS. Install the CLI, then set up and sync your account:
npm install -g @dayone/cli
dayone setup
dayone sync
Read journals and entries as JSON:
dayone list journals
dayone list entries --journal-id <journal-id> --limit 20 --fields id,date,tags,body
Write an entry from an automation script, then sync it to your Day One account:
printf '%s' "Daily pipeline summary" | dayone entry write --journal-id <journal-id> --body-stdin
dayone sync
The CLI saves new entries locally. Run dayone sync to send them to your other devices.
AI agent skills
Day One CLI also ships with optional AI agent skills for users who want to connect journaling workflows to coding agents and automation tools.
Install the skill pack with:
npx skills add bloom/dayone-cli-skills
These skills provide ready-made building blocks for common Day One tasks (like auth, sync, listing, and writing flows), so you can stand up custom automations faster instead of scripting everything from scratch.
Day One CLI and existing developer tools
Day One CLI joins our existing tools for extending and automating Day One, including the legacy Day One CLI and the Day One Mac MCP server.
The new Day One CLI is a standalone tool with its own local data storage. It does not require the Mac app or access the Mac app’s local data. The CLI and the Mac app share journal data only through Day One sync. This is why the new CLI counts as a separate device, even on the same Mac.
The Day One Mac MCP server currently works only with the legacy CLI, not the new Day One CLI. Both existing tools remain available. If you use only those tools, you do not need to take any action.
We will share more details about our plans for these tools in future updates. In the meantime, tell us how you use them and what you want to see next in the Day One forums. For help with your account, contact support@dayoneapp.com.
Migration guidance
If you currently use the legacy CLI and want to try the new Day One CLI:
- Rename the legacy CLI so both tools can remain installed:
sudo mv /usr/local/bin/dayone /usr/local/bin/dayone-mac - Update scripts and tool configurations that use the legacy CLI to use
dayone-macinstead ofdayone. - Install the new CLI:
npm install -g @dayone/cli - Set up and sync the new CLI:
dayone setup dayone sync
Use dayone for the new CLI and dayone-mac for the legacy CLI.
Privacy, ownership, and control
Day One CLI is built around the same principle that has guided us from the beginning: your journal belongs to you.
With CLI workflows:
- you authenticate with your own Day One account,
- you control where scripts run,
- you choose which tools can read your entries,
- and you decide what gets written back to Day One.
Our encryption protects your journal inside Day One. If you connect an outside model or service, your entries go to that provider under their terms, not ours. That’s why we published the source. You don’t have to guess.
This release is intentionally technical. It’s not meant to replace the app experience. It’s meant to extend it for people who want deeper control over their own data.
Availability
Day One CLI is available now via npm as @dayone/cli.
The CLI syncs with your Day One account the same way our apps do. On the free plan, Day One syncs one active device at a time, and the CLI can be that device. The Silver and Gold plans sync all your devices at once, so the CLI can run alongside your phone, iPad or desktop. The CLI is in beta, so this may change as we learn what works, and we may apply fair-use limits to keep sync fast and reliable for everyone.
If you’ve been waiting for a way to bring Day One into your own developer workflows, this is your starting point.
