Capturing Notes
Every note you capture goes into a plain Markdown file. This means you can always read, edit, or move your notes with any text editor — journal doesn't lock you in.
The basic capture
journal capture "the redis cache is evicting too aggressively under load"
This appends a timestamped block to today's daily file (daily/YYYY/MM/YYYY-MM-DD.md) and auto-commits it to git.
Adding tags
Tags help you find related notes later. Add them inline with #:
journal capture "redis eviction is too aggressive under load #redis #infra"
Or pass them as a flag:
journal capture "redis eviction issue" --tags redis,infra
Both ways work, and journal deduplicates them. Tags are case-insensitive. When you search later, you can filter by tag with --tag redis.
Adding markers
Markers are special annotations that the search and synthesis layers understand:
@decision— a choice you made@question— something you're still working out@todo— an action item (see Tracking Todos)
Add them inline:
journal capture "decided to use Redis Cluster instead of Sentinel @decision #redis"
Or as a flag:
journal capture "use Redis Cluster" --marker decision
Later, journal decisions lists everything you marked @decision, and journal search can filter by marker.
Writing longer notes in your editor
Leave off the text and journal opens your editor:
journal capture
Write your note, save, and close. Journal uses $JOURNAL_EDITOR, then $VISUAL, then $EDITOR, then falls back to nano.
You can also pipe content in from stdin:
cat meeting-notes.md | journal capture
Organizing by project
By default, notes go into the daily file. If you're tracking something longer-term, route it to a project:
journal capture "pricing model decision: go with usage-based @decision" --project acme-launch
This writes to projects/acme-launch/notes/YYYY-MM-DD.md. You can search, filter, and synthesize by project independently of your daily notes.
Capturing from any directory
You can use journal from any folder in your terminal — just tell it where your journal lives:
journal capture "quick idea" --journal-dir ~/notes
Or set it once in your environment:
export JOURNAL_DIR=~/notes
After that, every journal command works from any directory.
Auto-commit
journal automatically commits your notes to git after each capture. This means your words are in version control the moment you write them — no git add, no git commit, nothing to forget.
The commit message is generated automatically, something like:
📓 scribbled notes — +1 new, ~1 revised -0 removed · Mon 2026-06-01 12:32
If you prefer to manage commits yourself, set git_autocommit: false in .journal/config.yaml.
Keeping the index current
Capture saves your note immediately, but doesn't update the search index. Run journal index to embed new notes, or keep the watcher running so indexing happens automatically:
journal index --watch
The watcher watches your notes folder, debounces changes, and re-indexes only what's changed. Run it in a background terminal or set it up as a background service (see the Configuration Reference).